Example #1
0
        private void Textbox_TextChanged(object sender, TextChangedEventArgs e)
        {
            var textBox = sender as TextBox;

            if (textBox.Text == "")
            {
                treeGrid.SelectedItems.Clear();
            }

            for (int i = 0; i < treeGrid.View.Nodes.Count; i++)
            {
                if (Provider == null)
                {
                    Provider = treeGrid.View.GetPropertyAccessProvider();
                }

                if (treeGrid.View.Nodes[i].HasChildNodes && treeGrid.View.Nodes[i].ChildNodes.Count == 0)
                {
                    treeGrid.ExpandNode(treeGrid.View.Nodes[i]);
                    treeGrid.CollapseNode(treeGrid.View.Nodes[i]);
                }
                else if (treeGrid.View.Nodes[i].HasChildNodes)
                {
                    dataRow = (treeGrid.View.Nodes[i].Item as PersonInfo);
                    FindMatchText(dataRow);
                    GetChildNodes(treeGrid.View.Nodes[i]);
                }
                else
                {
                    dataRow = (treeGrid.View.Nodes[i].Item as PersonInfo);
                    FindMatchText(dataRow);
                }
            }
        }
Example #2
0
 /// <summary>
 /// Initializes the new instance of the Form1 class.
 /// </summary>
 public Form1()
 {
     InitializeComponent();
     this.sfDataGrid1.ShowGroupDropArea  = true;
     this.sfDataGrid1.DataSource         = new OrderInfoCollection().OrdersListDetails;
     propertyAccessProvider              = sfDataGrid1.View.GetPropertyAccessProvider();
     this.sfDataGrid1.SelectionMode      = GridSelectionMode.None;
     this.sfDataGrid1.QueryCoveredRange += sfDataGrid1_QueryCoveredRange;
 }
 /// <summary>
 /// Method that handles ItemsSourceChanged event.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void dataGrid_ItemsSourceChanged(object sender, GridItemsSourceChangedEventArgs e)
 {
     if (dataGrid.View != null)
     {
         reflector = dataGrid.View.GetPropertyAccessProvider();
     }
     else
     {
         reflector = null;
     }
 }
Example #4
0
 /// <summary>
 /// Method that handles ItemsSourceChanged event.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnSfDataGridItemsSourceChanged(object sender, GridItemsSourceChangedEventArgs e)
 {
     if (sfGrid.View != null)
     {
         reflector = sfGrid.View.GetPropertyAccessProvider();
     }
     else
     {
         reflector = null;
     }
 }
Example #5
0
 /// <summary>
 /// Initializes the new instance of the SfDataGrid.
 /// </summary>
 public Form1()
 {
     InitializeComponent();
     sfDataGrid1.SelectionMode = GridSelectionMode.None;
     sfDataGrid1.DataSource = new OrderInfoCollection().OrdersListDetails;
     propertyAccessProvider = sfDataGrid1.View.GetPropertyAccessProvider();
     sfDataGrid1.AllowResizingColumns = true;
     sfDataGrid1.AutoExpandGroups = true;
     sfDataGrid1.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = "CustomerID" });
     sfDataGrid1.AutoSizeColumnsMode = AutoSizeColumnsMode.Fill;
     sfDataGrid1.QueryCoveredRange += sfDataGrid1_QueryCoveredRange;
     sfDataGrid1.DrawCell += sfDataGrid1_DrawCell;
     sfDataGrid1.TableControl.Scroll += TableControl_Scroll;
 }
Example #6
0
        /// <summary>
        /// Method that handles ItemsSourceChanged event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void dataGrid_ItemsSourceChanged(object sender, GridItemsSourceChangedEventArgs e)
        {
            if (dataGrid.View != null)
            {
                reflector = dataGrid.View.GetPropertyAccessProvider();
            }
            else
            {
                reflector = null;
            }

            dataGrid.Columns["BirthDate"].TextAlignment = System.Windows.TextAlignment.Right;
            dataGrid.Columns["Rating"].Width            = 70;

            dataGrid.Columns["Gender"].Width     = 70;
            dataGrid.Columns["Salary"].Width     = 75;
            dataGrid.Columns["ContactID"].Width  = 90;
            dataGrid.Columns["BirthDate"].Width  = 105;
            dataGrid.Columns["EmployeeID"].Width = 100;
            dataGrid.Columns["Name"].Width       = 120;
        }
Example #7
0
        /// <summary>
        /// Perform the search operaion for iterating the treegrid nodes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TextBox_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
        {
            var textBox  = sender as TextBox;
            var treeGrid = this.AssociatedObject.treeGrid;

            if (textBox.Text == "")
            {
                treeGrid.SelectedItems.Clear();
            }

            for (int i = 0; i < treeGrid.View.Nodes.Count; i++)
            {
                if (Provider == null)
                {
                    Provider = treeGrid.View.GetPropertyAccessProvider();
                }

                if (treeGrid.View.Nodes[i].HasChildNodes && treeGrid.View.Nodes[i].ChildNodes.Count == 0)
                {
                    treeGrid.BeginInit();
                    treeGrid.ExpandNode(treeGrid.View.Nodes[i]);
                    treeGrid.CollapseNode(treeGrid.View.Nodes[i]);
                    treeGrid.EndInit();
                }
                else if (treeGrid.View.Nodes[i].HasChildNodes)
                {
                    dataRow = (treeGrid.View.Nodes[i].Item as EmployeeInfo);
                    FindMatchText(dataRow);
                    GetChildNodes(treeGrid.View.Nodes[i]);
                }
                else
                {
                    dataRow = (treeGrid.View.Nodes[i].Item as EmployeeInfo);
                    FindMatchText(dataRow);
                }
            }
        }
Example #8
0
        internal void SetValue(object rowData, string propertyName, IPropertyAccessProvider provider, object changedValue)
        {
            Type type = GetPropertyType(rowData, propertyName);

            if (type == null)
            {
                return;
            }
            var canconvert = CanConvertToType(changedValue, ref type);

            if (!canconvert && string.IsNullOrEmpty(changedValue.ToString()))
            {
                return;
            }

            if (!(canconvert || type == typeof(string) || type == typeof(object)))
            {
                return;
            }

            var pasteValue = Convert.ChangeType(changedValue, type);

            provider.SetValue(rowData, propertyName, pasteValue);
        }
Example #9
0
        private CoveredCellInfo GetRange(GridColumn column, int rowIndex, int columnIndex, object rowData)
        {
            IPropertyAccessProvider reflector = null;

            reflector = dataGrid.View.GetPropertyAccessProvider();

            var    range = new CoveredCellInfo(columnIndex, columnIndex, rowIndex, rowIndex);
            object data  = reflector.GetFormattedValue(rowData, column.MappingName);

            GridColumn leftColumn  = null;
            GridColumn rightColumn = null;

            // total rows count.
            int recordsCount = this.dataGrid.GroupColumnDescriptions.Count != 0 ?
                               (this.dataGrid.View.TopLevelGroup.DisplayElements.Count + this.dataGrid.TableSummaryRows.Count + this.dataGrid.UnBoundRows.Count + (this.dataGrid.AddNewRowPosition == AddNewRowPosition.Top ? +1 : 0)) :
                               (this.dataGrid.View.Records.Count + this.dataGrid.TableSummaryRows.Count + this.dataGrid.UnBoundRows.Count + (this.dataGrid.AddNewRowPosition == AddNewRowPosition.Top ? +1 : 0));

            // Merge Horizontally

            // compare right column

            for (int i = dataGrid.Columns.IndexOf(column); i < this.dataGrid.Columns.Count - 1; i++)
            {
                var compareData = reflector.GetFormattedValue(rowData, dataGrid.Columns[i + 1].MappingName);

                if (compareData == null)
                {
                    break;
                }

                if (!compareData.Equals(data))
                {
                    break;
                }
                rightColumn = dataGrid.Columns[i + 1];
            }

            // compare left column.

            for (int i = dataGrid.Columns.IndexOf(column); i > 0; i--)
            {
                var compareData = reflector.GetFormattedValue(rowData, dataGrid.Columns[i - 1].MappingName);

                if (compareData == null)
                {
                    break;
                }

                if (!compareData.Equals(data))
                {
                    break;
                }
                leftColumn = dataGrid.Columns[i - 1];
            }

            if (leftColumn != null || rightColumn != null)
            {
                // set left index

                if (leftColumn != null)
                {
                    var leftColumnIndex = this.dataGrid.ResolveToScrollColumnIndex(this.dataGrid.Columns.IndexOf(leftColumn));
                    range = new CoveredCellInfo(leftColumnIndex, range.Right, range.Top, range.Bottom);
                }

                // set right index

                if (rightColumn != null)
                {
                    var rightColumnIndex = this.dataGrid.ResolveToScrollColumnIndex(this.dataGrid.Columns.IndexOf(rightColumn));
                    range = new CoveredCellInfo(range.Left, rightColumnIndex, range.Top, range.Bottom);
                }
                return(range);
            }

            // Merge Vertically from the row index.

            int previousRowIndex = -1;
            int nextRowIndex     = -1;

            // Get previous row data.
            var startIndex = dataGrid.ResolveStartIndexBasedOnPosition();

            for (int i = rowIndex - 1; i >= startIndex; i--)
            {
                var previousData = this.dataGrid.GetRecordEntryAtRowIndex(i);

                if (previousData == null || !previousData.IsRecords)
                {
                    break;
                }
                var compareData = reflector.GetFormattedValue((previousData as RecordEntry).Data, column.MappingName);

                if (compareData == null)
                {
                    break;
                }

                if (!compareData.Equals(data))
                {
                    break;
                }
                previousRowIndex = i;
            }

            // get next row data.

            for (int i = rowIndex + 1; i < recordsCount + 1; i++)
            {
                var nextData = this.dataGrid.GetRecordEntryAtRowIndex(i);

                if (nextData == null || !nextData.IsRecords)
                {
                    break;
                }
                var compareData = reflector.GetFormattedValue((nextData as RecordEntry).Data, column.MappingName);

                if (compareData == null)
                {
                    break;
                }

                if (!compareData.Equals(data))
                {
                    break;
                }
                nextRowIndex = i;
            }

            if (previousRowIndex != -1 || nextRowIndex != -1)
            {
                if (previousRowIndex != -1)
                {
                    range = new CoveredCellInfo(range.Left, range.Right, previousRowIndex, range.Bottom);
                }

                if (nextRowIndex != -1)
                {
                    range = new CoveredCellInfo(range.Left, range.Right, range.Top, nextRowIndex);
                }
                return(range);
            }
            return(null);
        }
 private void SfDataGrid_ItemsSourceChanged(object sender, Syncfusion.UI.Xaml.Grid.GridItemsSourceChangedEventArgs e) {
     if (sfDataGrid.View != null)
         reflector = sfDataGrid.View.GetPropertyAccessProvider();
     else
         reflector = null;
 }