// undo/redo row sizes
 void flex_ResizingRow(object sender, CellRangeEventArgs e)
 {
     if (!(_pendingAction is RowResizeAction))
     {
         _pendingAction = new RowResizeAction(_flex, e);
     }
 }
        // do something when the value of a cell changes
        void cf_CellValueChanged(object sender, CellRangeEventArgs e)
        {
            Console.WriteLine("the value of cell ({0}, {1}) has changed to {2}",
                              e.Row, e.Column, _flex[e.Row, e.Column]);

            // update "Fault" column when "Enable" changes
            var col = _flex.Columns[e.Column];

            if (col.DataType == typeof(bool) && col.ColumnName.EndsWith("Enable"))
            {
                // get current 'Enable' value
                var value = (bool)_flex[e.Row, e.Column];

                // set corresponding 'Fault' value
                // (in this case, a function of the 'Enable' cell, but could be anything)
                System.Diagnostics.Debug.Assert(_flex.Columns[e.Column + 1].DataType == typeof(FaultType));
                _flex[e.Row, e.Column + 1] = value ? FaultType.None : FaultType.Red;

                // refresh cell
                _flex.Invalidate(new CellRange(e.Row, e.Column + 1));

                // if this is the Input.Enable cell, then enable/disable entire row
                if (col.ColumnName == "Input.Enable")
                {
                    var row = _flex.Rows[e.Row];
                    row.Foreground = value ? _brBlack : _brGray;
                    row.IsReadOnly = !value;
                }
            }
        }
        //-------------------------------------------------------------------------
        #region ** event handlers

        // undo/redo column sizes
        void flex_ResizingColumn(object sender, CellRangeEventArgs e)
        {
            if (!(_pendingAction is ColumnResizeAction))
            {
                _pendingAction = new ColumnResizeAction(_flex);
            }
        }
 void flex_ResizedRow(object sender, CellRangeEventArgs e)
 {
     if (_pendingAction is RowResizeAction && _pendingAction.SaveNewState())
     {
         _flex.UndoStack.AddAction(_pendingAction);
     }
     _pendingAction = null;
 }
 // reset column selection when the regular selection changes
 void selectionChanged(object sender, CellRangeEventArgs e)
 {
     if (!_selecting)
     {
         foreach (var c in Columns)
         {
             c.Selected = false;
         }
     }
 }
        // make all unbound grid columns the same width after they are resized
        private void _flexUnbound_ResizedColumn(object sender, CellRangeEventArgs e)
        {
            var col = _flexUnbound.Columns[e.Column];

            if (col.ActualWidth > 0)
            {
                _flexUnbound.Columns.DefaultSize = col.ActualWidth;
            }
            col.Width = new GridLength(0, GridUnitType.Auto);
        }
 // resize all selected columns at once
 void resizedColumn(object sender, CellRangeEventArgs e)
 {
     var col = Columns[e.Column];
     if (col.Selected)
     {
         foreach (var c in Columns.Selected)
         {
             c.Width = col.Width;
         }
     }
 }
        void _flexSelectionMode_SelectionChanged(object sender, CellRangeEventArgs e)
        {
            var fg        = _flexSelectionMode;
            var customers = fg.SelectedItems;

            _lblSelState.Text = string.Format("{0} item{1} selected, {2} active, total weight: {3:n2}",
                                              customers.Count,
                                              customers.Count == 1 ? string.Empty : "s",
                                              (from Customer c in customers where c.Active select c).Count(),
                                              (from Customer c in customers select c.Weight).Sum());
        }
        void _owner_SelectionChanged(object sender, CellRangeEventArgs e)
        {
            TextBox tb = null;

            if (_tbTextRange.IsFocused)
            {
                tb         = _tbTextRange;
                _textRange = _owner.Selection;
            }
            else
            {
                tb             = _tbLocationRange;
                _locationRange = _owner.Selection;
            }
            tb.Text = _owner.GetAddress(_owner.Selection, true);
        }
        //-----------------------------------------------------------------
        #region ** event handlers

        // handle user selection on the dropdown
        void _flex_SelectionChanged(object sender, CellRangeEventArgs e)
        {
            // not if we're updating
            if (_updatingSelection)
            {
                _updatingSelection = false;
                return;
            }

            // update textbox to match drop-down selection
            UpdateComboText();

            // close dropdown
            IsDroppedDown = false;

            // update selected index
            SetSelectedIndex(_flex.SelectedIndex);
        }
示例#11
0
        private void fgFolder_SelectionChanged(object sender, CellRangeEventArgs e)
        {
            int index = e.Row;                          // 选择的行的index

            if (index >= 0)
            {
                SetEnabled(false);

                int id = (int)flxFolder.Rows[index].Tag;

                m_FolderHelper.GetFiles(id);

                // 订阅事件
                m_FolderHelper.onLoadFileFinish -= new EventHandler(LoadFileFinish);
                m_FolderHelper.onLoadFileFinish += new EventHandler(LoadFileFinish);

                flxFiles.ItemsSource = null;
            }
        }
示例#12
0
        protected override void OnSelectionChanged(CellRangeEventArgs e)
        {
            base.OnSelectionChanged(e);
            // find selected appointments
            List <Appointment> appsForSelect = new List <Appointment>();
            var range = Selection;

            if (range.IsValid && range.BottomRow < Rows.Count)
            {
                for (int i = range.TopRow; i <= range.BottomRow; i++)
                {
                    Appointment app = this.GetRowAppointment(i);
                    if (app != null)
                    {
                        appsForSelect.Add(app);
                    }
                }
            }
            bool needUpdate = _selectedApps.Count != appsForSelect.Count;

            if (!needUpdate)
            {
                foreach (var app in appsForSelect)
                {
                    if (!_selectedApps.Contains(app))
                    {
                        needUpdate = true;
                        break;
                    }
                }
            }
            if (needUpdate)
            {
                _selectedApps.Clear();
                _selectedApps.AddRange(appsForSelect);
                OnSelectedAppointmentsChanged(null);
            }
        }
示例#13
0
        private void Grid_SelectionChanged(object sender, CellRangeEventArgs e)
        {
            string selectedText = grid[e.CellRange.Row, e.CellRange.Column].ToString();

            labelShowName.Content  = selectedText;
            labelShowTimes.Content = "";
            for (int c = 0; c < grid.Columns.Count; c++)
            {
                string dayName   = grid.ColumnHeaders[1, c].ToString();
                string startTime = "";
                for (int r = 0; r < grid.Rows.Count; r++)
                {
                    string cellValue = grid[r, c].ToString();

                    if (cellValue.Equals(selectedText))
                    {
                        if (startTime == "")
                        {
                            startTime = grid.RowHeaders[r, 0].ToString();
                            labelShowTimes.Content = labelShowTimes.Content + dayName + " " + startTime + "-";
                        }
                    }
                    else if (startTime != "" && labelShowTimes.Content.ToString().EndsWith("-"))
                    {
                        string endTime = grid.RowHeaders[r, 0].ToString();
                        labelShowTimes.Content = labelShowTimes.Content + endTime + "\n";
                    }

                    // handle last row exception
                    if (r == grid.Rows.Count - 1 && startTime != "" && labelShowTimes.Content.ToString().EndsWith("-"))
                    {
                        labelShowTimes.Content = labelShowTimes.Content + "19:00\n";
                    }
                }
            }
        }
 private void Grid_SelectionChanged(object sender, CellRangeEventArgs e)
 {
     this.selectedRange = e.CellRange;
 }
        //-------------------------------------------------------------------------
        #region ** ctor

        public RowResizeAction(C1FlexGridBook flex, CellRangeEventArgs e)
        {
            _flex    = flex;
            _row     = e.Row;
            _oldSize = _flex.Rows[_row].Height;
        }
 // record original sort values
 void flex_SortingColumn(object sender, CellRangeEventArgs e)
 {
     _pendingAction = new SortAction(_flex);
 }