diff --git a/wpf/Classic/GridTree/Architecture.md b/wpf/Classic/GridTree/Architecture.md index 8d1b15192..6f7218b26 100644 --- a/wpf/Classic/GridTree/Architecture.md +++ b/wpf/Classic/GridTree/Architecture.md @@ -9,11 +9,11 @@ documentation: ug # Architecture in WPF GridTreeControl -The GridTree control derives from the WPF ContentControl, which allows it to support a ControlTemplate to define its content. By default, its content includes a Border object, which contains a ScrollViewer object that contains a GridControlImpl object. GridControlImpl is a GridControlBase derived class that provides the ‘multi-column grid’ functionality to the GridTree control. +The GridTreeControl derives from the WPF ContentControl, which allows it to support a ControlTemplate to define its content. By default, its content includes a Border object, which contains a ScrollViewer object that contains a GridControlImpl object. GridControlImpl is a GridControlBase derived class that provides the ‘multi-column grid’ functionality to the GridTreeControl. -For each node in the tree, there is a GridTreeNode object that holds the information of the node such as the underlying data item, whether the node is expanded, etc. The GridTreeNodes collection can be accessed by the GridTreeControl.InternalGrid.Nodes collection. InternalGrid is the GridTreeControlImpl object associated with the GridTree control. +For each node in the tree, there is a GridTreeNode object that holds the information of the node such as the underlying data item, whether the node is expanded, etc. The GridTreeNodes collection can be accessed by the GridTreeControl.InternalGrid.Nodes collection. InternalGrid is the GridTreeControlImpl object associated with the GridTreeControl. -The following screen shot illustrates the GridTree control architecture. +The following screen shot illustrates the GridTreeControl architecture. ![Architecture_img1](Architecture_images/Architecture_img1.jpeg) @@ -21,7 +21,7 @@ The following screen shot illustrates the GridTree control architecture. ## Accessing the Underlying Grid control -The GridTree control is a ContentControl derived class. To get its grid-like behavior, the GridTree control has a Grid control derived property named InternalGrid. InternalGrid is a GridTreeControlImpl class, which is derived from the Grid control. The GridTreeControlImpl is a virtual Grid control, which uses the virtual events to bind to the GridTreeControl.Nodes collection. So, to access the underlying Grid control associated with the GridTree control, you can use the GridTreeControl.InternalGrid property. +The GridTreeControl is a ContentControl derived class. To get its grid-like behavior, the GridTreeControl has a Grid control derived property named InternalGrid. InternalGrid is a GridTreeControlImpl class, which is derived from the Grid control. The GridTreeControlImpl is a virtual Grid control, which uses the virtual events to bind to the GridTreeControl.Nodes collection. So, to access the underlying Grid control associated with the GridTreeControl, you can use the GridTreeControl.InternalGrid property. -All the properties exposed in GridTree control (with the exception of Internal Grid) are mirrored in GridTreeControlImpl. There are methods and properties exposed on the Internal Grid that are not exposed on the GridTree control itself. In particular, to control the look of the Expand cell, you need to use the Internal Grid as discussed below. The Internal Grid has many protected methods that provide access to the tree-like functionality. So, deriving GridTreeControlImpl gives you access to this functionality if you need to use it for any reason. +All the properties exposed in GridTreeControl (with the exception of Internal Grid) are mirrored in GridTreeControlImpl. There are methods and properties exposed on the Internal Grid that are not exposed on the GridTreeControl itself. In particular, to control the look of the Expand cell, you need to use the Internal Grid as discussed below. The Internal Grid has many protected methods that provide access to the tree-like functionality. So, deriving GridTreeControlImpl gives you access to this functionality if you need to use it for any reason. diff --git a/wpf/Classic/GridTree/Columns.md b/wpf/Classic/GridTree/Columns.md index 1afcdbe93..abf344e32 100644 --- a/wpf/Classic/GridTree/Columns.md +++ b/wpf/Classic/GridTree/Columns.md @@ -9,7 +9,7 @@ documentation: ug # Columns in WPF GridTreeControl -The GridTree control’s columns are divided into two types. They are: +The GridTreeControl’s columns are divided into two types. They are: * Bound Column * Unbound Column @@ -44,7 +44,7 @@ Data Type AutoPopulateColumns -By setting this property to {{ '_true_' | markdownify }}, the GridTree control populates the properties that are present in the underlying collection without defining them in the XAML or in C#. +By setting this property to {{ '_true_' | markdownify }}, the GridTreeControl populates the properties that are present in the underlying collection without defining them in the XAML or in C#. Dependency Property Boolean @@ -58,7 +58,7 @@ Boolean ### AutoPopulateColumns -In the GridTree control, you can populate the columns automatically by setting the AutoPopulateColumns property to True. +In the GridTreeControl, you can populate the columns automatically by setting the AutoPopulateColumns property to True. {% tabs %} {% highlight xaml %} @@ -81,11 +81,11 @@ treeGrid.AutoPopulateColumns = true; {% endtabs %} -When we set this property to true, the properties that are available in underlying collection populates in the GridTree control as GridTreeColumn. +When we set this property to true, the properties that are available in underlying collection populates in the GridTreeControl as GridTreeColumn. ### AutoGenerateColumnsInfo -By setting the AutoGenerateColumnsInfo property to _true_, the GridTree control assigns the appropriate cell type for each column automatically. The following common cell types loaded for the corresponding data. +By setting the AutoGenerateColumnsInfo property to _true_, the GridTreeControl assigns the appropriate cell type for each column automatically. The following common cell types loaded for the corresponding data. @@ -282,7 +282,7 @@ To know more about the GridStyleInfo and StyleInfo properties please refer the f ## Cell Types -In GridTree control you can define the cell type for each column by using the property “CellType”. When you leave a column without defining the cell type then that column’s cell type is considered as “Static” cell type. The list of cell types that are available in the GridTree control are as follows. +In GridTreeControl you can define the cell type for each column by using the property “CellType”. When you leave a column without defining the cell type then that column’s cell type is considered as “Static” cell type. The list of cell types that are available in the GridTreeControl are as follows.
@@ -290,7 +290,7 @@ In GridTree control you can define the cell type for each column by using the pr * Static* TextBlock* TextBox* RichText* ExpanderCell* Data Template* ComboBox* DropDownList* CheckBox* Currency edit* Double edit* DateTime edit* Integer edit* Mask edit* Percent edit* Up Down edit* TimeSpan edit* Image* Hyperlink* Button +>
It is not possible to change the cell type for the first column of the GridTreeControl.
->
It is not possible to change the cell type for the first column of the GridTree control.
## Static @@ -554,9 +554,9 @@ GridTree RichText Cell Type ### ExpanderCell -In the GridTree control by default, the ExpanderCell type is present at the first column. This column helps you to expand the parent node and navigate into the child nodes. In general, ExpanderCell contains a glyph to expand/collapse the parent nodes. +In the GridTreeControl by default, the ExpanderCell type is present at the first column. This column helps you to expand the parent node and navigate into the child nodes. In general, ExpanderCell contains a glyph to expand/collapse the parent nodes. -The following are the list of glyphs in the GridTree control. +The following are the list of glyphs in the GridTreeControl. Glyph Types @@ -572,7 +572,7 @@ PlusMinus—contains a plus/minus symbol. The plus symbol appears when the node PlusMinusLine—contains a plus/minus symbol with lines. When the plus symbol is visible then a line is drawn from the parent node to its child node and each child node has the line with its parent node. -Themed—loads the glyph based on the theme applied for the GridTree control. The patch applied in the theme for the glyph loads as a glyph for the all nodes. +Themed—loads the glyph based on the theme applied for the GridTreeControl. The patch applied in the theme for the glyph loads as a glyph for the all nodes. Triangle—loads the triangle symbol for each node that contains the child nodes. The collapsed node’s triangle symbol appears horizontal and the expanded node’s triangle turns vertical. @@ -580,7 +580,7 @@ Custom—a custom type glyph is user based and you can load any kind of path int Node image support -In the GridTree control, you can display image in each ExpanderCell and it can be achieved by handling the RequestNodeImage event and applying _true_ to the SupportNodeImages property +In the GridTreeControl, you can display image in each ExpanderCell and it can be achieved by handling the RequestNodeImage event and applying _true_ to the SupportNodeImages property The following code snippet shows how to load the image in ExpanderCell. @@ -609,7 +609,7 @@ GridTree ExpanderCell with Image ### DataTemplate -In the GridTree control, DataTemplate cell type allows you to replace the visual appearance of a cell. You can load any controls into a cell and display the CellBoundValue or custom values. This provides an extensible way to display the cells. The DataContext of a DataTemplate is same as that of the GridTree control. +In the GridTreeControl, DataTemplate cell type allows you to replace the visual appearance of a cell. You can load any controls into a cell and display the CellBoundValue or custom values. This provides an extensible way to display the cells. The DataContext of a DataTemplate is same as that of the GridTreeControl. The following are the list of properties specific for this cell type. @@ -1020,7 +1020,7 @@ The following screenshot shows a simple demo of the DropDownList cell type. -GridTree Control DropDownList Cell Type +GridTreeControl DropDownList Cell Type {:.caption} ### CheckBox @@ -1094,7 +1094,7 @@ The following screenshot shows a simple demo of CheckBox cell type. -GridTree Control CheckBox Cell Type +GridTreeControl CheckBox Cell Type {:.caption} ### CurrencyEdit @@ -1199,7 +1199,7 @@ treeGrid.Columns.Add(new GridTreeColumn("Salary") -GridTree Control CurrencyEdit Cell Type +GridTreeControl CurrencyEdit Cell Type {:.caption} ### IntegerEdit @@ -1290,7 +1290,7 @@ treeGrid.Columns.Add(new GridTreeColumn("Employee ID") -GridTree Control IntegerEdit Cell Type +GridTreeControl IntegerEdit Cell Type {:.caption} ### DoubleEdit @@ -1513,7 +1513,7 @@ treeGrid.Columns.Add(percentColumn); -GridTree Control PercentEdit Cell Type +GridTreeControl PercentEdit Cell Type {:.caption} ### DateTimeEdit @@ -1933,7 +1933,7 @@ TimeSpanEdit Cell Type ## ImageCell -The ImageCell type is used to load images inside the graphic cells. To load the graphic image cell in the GridTree control, you have to set the CellType as ImageCell and the CellValue as BitmapImage. +The ImageCell type is used to load images inside the graphic cells. To load the graphic image cell in the GridTreeControl, you have to set the CellType as ImageCell and the CellValue as BitmapImage. ### Image CellType properties @@ -2082,12 +2082,12 @@ The following screenshot shows a simple demo of Hyperlink cell. -GridTree Control Hyperlink Cell Type +GridTreeControl Hyperlink Cell Type {:.caption} ### Button -The Button cell type allows you to load Button control in each cell of the GridTree control. To load a Button in the GridTree control cell, choose Button cell type. You can perform button click action as in the Button control. +The Button cell type allows you to load Button control in each cell of the GridTreeControl. To load a Button in the GridTreeControl cell, choose Button cell type. You can perform button click action as in the Button control. The following table shows the events that are available for this cell type. @@ -2161,9 +2161,9 @@ Button Cell Type ## Unbound Columns -The GridTree control supports unbound columns in which the data is calculated automatically according to a specified formula, format, or custom data from users. +The GridTreeControl supports unbound columns in which the data is calculated automatically according to a specified formula, format, or custom data from users. -The GridTree control provides support for adding additional columns which is not in underlying business object. Such additional columns are called as unbound columns, as they do not belong to the data source. These unbound fields can be used when you want to add some additional or custom information to the nodes.  +The GridTreeControl provides support for adding additional columns which is not in underlying business object. Such additional columns are called as unbound columns, as they do not belong to the data source. These unbound fields can be used when you want to add some additional or custom information to the nodes.  You can create an unbound column by instantiating the GridTreeUnboundColumn class, which is a derivative of GridTreeColumn. @@ -2326,7 +2326,7 @@ treeGrid.Columns.Add(new GridTreeUnboundColumn() {  -Using Formats in the GridTree Control +Using Formats in the GridTreeControl {:.caption} ### Expression @@ -2471,6 +2471,6 @@ Expression = "Quantity*Cost" }); ![Columns_img22](Columns_images/Columns_img22.png) -Using Expressions in the GridTree Control +Using Expressions in the GridTreeControl {:.caption} diff --git a/wpf/Classic/GridTree/Data-Population.md b/wpf/Classic/GridTree/Data-Population.md index 299ef974c..71dbc239b 100644 --- a/wpf/Classic/GridTree/Data-Population.md +++ b/wpf/Classic/GridTree/Data-Population.md @@ -9,7 +9,7 @@ documentation: ug # Data Population in WPF GridTreeControl -The primary requirement of the data displayed in the GridTree control is that the parent node and the child node share the same schema (i.e. have the same columns to display). To populate the GridTree control, you need to handle the RequestTreeItems event (This event gets fired for every tree node that is being populated in order to retrieve its child nodes). In the event arguments, the ParentItem property indicates the item whose children are being requested. The list of children can be set using this property. If this property is empty, it implies that the event is requesting the root nodes. The following code example illustrates a minimal RequestTreeItems handler. +The primary requirement of the data displayed in the GridTreeControl is that the parent node and the child node share the same schema (i.e. have the same columns to display). To populate the Control, you need to handle the RequestTreeItems event (This event gets fired for every tree node that is being populated in order to retrieve its child nodes). In the event arguments, the ParentItem property indicates the item whose children are being requested. The list of children can be set using this property. If this property is empty, it implies that the event is requesting the root nodes. The following code example illustrates a minimal RequestTreeItems handler. {% highlight c# %} @@ -61,9 +61,9 @@ private void treeGrid_RequestTreeItems(object sender, GridTreeRequestTreeItemsEv The only requirement on ChildList returned by the RequestTreeItems is that it should be an IEnumerable list of typed objects that share a single type. -## Order and Visibility of Columns in the GridTree Control +## Order and Visibility of Columns in the GridTreeControl -The default behavior of the GridTree control is to display all simple, public properties exposed in the items provided through the RequestTreeItems event (Here, properties indicate Data Source properties, which are represented as columns in the Grid control. For eg, in Customers table, CustomerID, CompanyName, etc. are termed as properties). To control the visibility and the order of the columns that appear in the Grid Tree, you can use the GridTreeControl.Columns collection of GridTreeColumn object. The order of the GridTreeColumn objects in the Columns collection determines the display order of the columns in the Grid Tree. +The default behavior of the GridTreeControl is to display all simple, public properties exposed in the items provided through the RequestTreeItems event (Here, properties indicate Data Source properties, which are represented as columns in the Grid control. For eg, in Customers table, CustomerID, CompanyName, etc. are termed as properties). To control the visibility and the order of the columns that appear in the Grid Tree, you can use the GridTreeControl.Columns collection of GridTreeColumn object. The order of the GridTreeColumn objects in the Columns collection determines the display order of the columns in the Grid Tree. * Each GridTreeColumn contains the following five properties: MappingName-The name of the property from the tree item that is bound with this column * HeaderText-The HeaderText property sets the text for header cell of this column. If HeaderText is empty, then the MappingName will be used as the column header text. diff --git a/wpf/Classic/GridTree/Getting-Started.md b/wpf/Classic/GridTree/Getting-Started.md index 85e71b167..593868a94 100644 --- a/wpf/Classic/GridTree/Getting-Started.md +++ b/wpf/Classic/GridTree/Getting-Started.md @@ -20,14 +20,14 @@ EssentialGrid for WPF is a package of powerful grid controls that provides cell- The EssentialGrid package is comprised of following three types of grid controls: * Grid Control -* GridData Control -* GridTree Control +* GridDataControl +* GridTreeControl Now, take closer look at the characteristics of each of these controls. ### Grid Control -This is a general-purpose grid that can be used in any form, either holding its own data or virtually bound to an external data source. It acts as a base grid for the other two types of grids (the GridData and GridTree controls). Most features are shared among the three grid types. +This is a general-purpose grid that can be used in any form, either holding its own data or virtually bound to an external data source. It acts as a base grid for the other two types of grids (the GridData and GridTreeControls). Most features are shared among the three grid types. In the Grid control, each cell acts as a single entity, which is suitable for applications such as Excel simulator, where the data in the grid cells are not interrelated and need to be maintained in the specific cells themselves. You can also operate this control in virtual mode, where data is not stored in the grid’s internal data structure but comes from an external source like a data table, for example. In virtual mode, data will be dynamically loaded into the grid on demand or when users need to view the data. @@ -49,9 +49,9 @@ For more detailed information about data source connections, refer to the Data B -### GridTree Control +### GridTreeControl -The GridTree control serves as a multicolumn tree control that is optimized to display thousands of items. This control uses a load-on-demand architecture to quickly generate a tree view. You can toggle the view of the underlying nodes by clicking the plus-minus glyphs of a root node. This control provides complete customization options such as custom level styles, glyphs, node images, and more. +The GridTreeControl serves as a multicolumn tree control that is optimized to display thousands of items. This control uses a load-on-demand architecture to quickly generate a tree view. You can toggle the view of the underlying nodes by clicking the plus-minus glyphs of a root node. This control provides complete customization options such as custom level styles, glyphs, node images, and more. @@ -79,11 +79,11 @@ The following illustration depicts the Class Diagram for Essential Grid for WPF. This section serves as a guide on how to deploy EssentialGrid in an application. -## Adding the GridTree Control to a WPF Application +## Adding the GridTreeControl to a WPF Application -This section demonstrates how to add a GridTree control to a WPF application and how to load the grid with a data source. The GridTree control can be added to an application through programmatically. +This section demonstrates how to add a GridTreeControl to a WPF application and how to load the grid with a data source. The control can be added to an application through programmatically. -### Programmatically Adding GridTree Control +### Programmatically Adding GridTreeControl 1. Create a new WPF application. 2. Add the following Syncfusion assemblies to the project. @@ -123,9 +123,9 @@ This section demonstrates how to add a GridTree control to a WPF application and ~~~ -### Data Population in the GridTree Control +### Data Population in the GridTreeControl -The previous section explained how to add the GridTree control to an application. This section explains how to populate data in the GridTree control. There are three approaches to populating data: +The previous section explained how to add the GridTreeControl to an application. This section explains how to populate data in the GridTreeControl. There are three approaches to populating data: * With the RequestTreeItems event. * By self-relational collection binding. @@ -133,11 +133,11 @@ The previous section explained how to add the GridTree control to an application ### The RequestTreeItems Event -The GridTree control can populate data on demand by handling the RequestTreeItems event. GridTreeControl will receive the source of root and child nodes through this event handler. This event is triggered when initially loading and expanding nodes. +The GridTreeControl can populate data on demand by handling the RequestTreeItems event. GridTreeControl will receive the source of root and child nodes through this event handler. This event is triggered when initially loading and expanding nodes. To populate data using this event, follow these steps: -1. Create a collection of objects to bind with the GridTree control. In this example, a collection of objects containing employee information has been created. +1. Create a collection of objects to bind with the GridTreeControl. In this example, a collection of objects containing employee information has been created. ~~~csharp @@ -400,11 +400,11 @@ To populate data using this event, follow these steps: 4. Expand the Data Population Features item in the Sample Browser. 5. Select On-Demand Loading Demo to launch the sample. -Binding a Self-Relational Collection to the GridTree Control +Binding a Self-Relational Collection to the GridTreeControl A self-relational collection is a collection of objects in which each object has a hierarchy within. Each object will act as a parent and hold its children in an attribute. Each child acts as the next-level parent and holds children in an attribute, and so on. In this example, both child and parent will be of the same type (data type/object type). Specifying the child attribute name in ChildPropertyName of GridTreeControl will automatically fetch the hierarchy and populate it. -1. Create a self-relational collection of objects to bind with the GridTree control. In this example, we have created a collection of objects containing employee information. +1. Create a self-relational collection of objects to bind with the GridTreeControl. In this example, we have created a collection of objects containing employee information. ~~~csharp @@ -725,9 +725,9 @@ A self-relational collection is a collection of objects in which each object has 4. Expand the Data Population Features item in the Sample Browser. 5. Select Self-Relational Data Binding Demo to launch the sample. -### Binding a Data View to the GridTree Control +### Binding a Data View to the GridTreeControl -The following steps explain how to bind a data view from a database to the GridTree control. +The following steps explain how to bind a data view from a database to the GridTreeControl. 1. Connect a database to the current application. The database can be connected several ways, such as ADO.NET, LINQ to SQL, classes, and so on. In this example, a connection has been directly established to a simple northwind.sdf database. 2. Once the connection is established, fetch the required data table from the database. In this example, the data table has been fetched from the northwind.sdf by using SQL DataAdapter. diff --git a/wpf/Classic/GridTree/GridTree-Control-Events.md b/wpf/Classic/GridTree/GridTree-Control-Events.md index a62dde1a7..7424ad241 100644 --- a/wpf/Classic/GridTree/GridTree-Control-Events.md +++ b/wpf/Classic/GridTree/GridTree-Control-Events.md @@ -7,25 +7,25 @@ control: GridTreeControl documentation: ug --- -# GridTree Control Events in WPF GridTreeControl +# GridTreeControl Events in WPF GridTreeControl -Here is the list of events exposed in GridTree control. Additionally, you have access to all the GridControl events exposed on the GridTreeControl.InternalGrid. +Here is the list of events exposed in GridTreeControl. Additionally, you have access to all the GridControl events exposed on the GridTreeControl.InternalGrid. +Handled once the InternalGrid is created and after the template is applied to the GridTreeControl. This is the correct place to set the properties and subscribe to events on the InternalGrid. +Required event that is used to provide the underlying data to the GridTreeControl on demand. This event is discussed earlier in this document. ### Sample Link -The Serialization Demo sample in the sample browser illustrates the GridTree control’s serialization feature. +The Serialization Demo sample in the sample browser illustrates the GridTreeControl’s serialization feature. 1. Open the Syncfusion Essential Studio Dashboard. 2. Select User Interface Edition. 3. Select WPF and click the orange Run Samples button on the right side of the window. -4. Select GridTree Control. +4. Select GridTreeControl. 5. Under the Serialization menu item, select Serialization Demo. Adding Serialization/Deserialization to an Application ### Serializing -There are three methods of serialization/deserialization available in the GridTree control. +There are three methods of serialization/deserialization available in the GridTreeControl. * XML string * XML file @@ -1403,7 +1403,7 @@ There are three methods of serialization/deserialization available in the GridTr ### Serializing as an XML String -The following code illustrates how to serialize the GridTree control as an XML string. +The following code illustrates how to serialize the GridTreeControl as an XML string. {% highlight c# %} @@ -1415,7 +1415,7 @@ string result=this.treeGrid.InternalGrid.SerializeAsString(); ### Serializing as an XML File -The following code illustrates how to serialize the GridTree control as an XML file. +The following code illustrates how to serialize the GridTreeControl as an XML file. {% highlight c# %} @@ -1427,7 +1427,7 @@ this.treeGrid.InternalGrid.Serialize("newChanges.xml"); ### Serializing as an XML Stream -The following code illustrates how to serialize the GridTree control as an XML stream. +The following code illustrates how to serialize the GridTreeControl as an XML stream. {% highlight c# %} diff --git a/wpf/Classic/GridTree/Overview.md b/wpf/Classic/GridTree/Overview.md index f6094ab51..16eb54dfb 100644 --- a/wpf/Classic/GridTree/Overview.md +++ b/wpf/Classic/GridTree/Overview.md @@ -35,7 +35,7 @@ High Performance - EssentialGrid is a great asset to high-performance applicatio -File Explorer - Applications that deal with hierarchical data can make use of Essential Grid’s file explorer feature, which allows child items to be displayed on-demand by using the GridTree control. +File Explorer - Applications that deal with hierarchical data can make use of Essential Grid’s file explorer feature, which allows child items to be displayed on-demand by using the GridTreeControl. ![Overview of GridTree in WPF](overview_images/wpf-classic-grid-tree-file-explorer.png) @@ -109,13 +109,13 @@ This section provides basic information, such as definitions and usage, regardin ## Overview in WPF GridTreeControl (Classic)Control -The GridTree control is a dynamic data-bound control used to present hierarchical data. +The GridTreeControl is a dynamic data-bound control used to present hierarchical data. ### Data Binding -The GridTree control supports all popular data sources including observable collections, data tables, and binding lists. +The GridTreeControl supports all popular data sources including observable collections, data tables, and binding lists. -Data sources can be bound to the GridTree control by either directly binding ItemsSource with the relational information or by retrieving node elements dynamically with the RequestTreeItems event. RequestTreeItems will load the data in an on-demand basis. +Data sources can be bound to the GridTreeControl by either directly binding ItemsSource with the relational information or by retrieving node elements dynamically with the RequestTreeItems event. RequestTreeItems will load the data in an on-demand basis. For instance, a database may have 100,000 records in it; in the first approach (binding ItemSource) you have to set ItemsSource of GridTreeControl, and it will take care of populating root and child nodes. But in the second approach, you have to dynamically pass the source of the root and child by handling the RequestTreeItems event. The child element will load only when the parent node expands. @@ -146,7 +146,7 @@ Several built-in cell types can be used to display and edit any underlying data ## Interactive Features -The GridTree control provides an effective option for sorting. Also, its appearance can easily be customized through an API that can be used to set different types of glyphs such as triangles, plus and minus signs, and tree lines in various brush styles. By handling the GlyphDrawing event on the cell renderer, you can draw custom expand-and-collapse glyphs. The GridTree control also supports placing images next to expand-and-collapse glyphs. +The GridTreeControl provides an effective option for sorting. Also, its appearance can easily be customized through an API that can be used to set different types of glyphs such as triangles, plus and minus signs, and tree lines in various brush styles. By handling the GlyphDrawing event on the cell renderer, you can draw custom expand-and-collapse glyphs. The GridTreeControl also supports placing images next to expand-and-collapse glyphs. @@ -156,5 +156,5 @@ The GridTree control provides an effective option for sorting. Also, its appeara ## Serialization -The GridTree control supports XML serialization to preserve and restore a grid’s schema and style settings. All styles and properties that reflect the state of the Grid can be serialized. +The GridTreeControl supports XML serialization to preserve and restore a grid’s schema and style settings. All styles and properties that reflect the state of the Grid can be serialized.
-GridTree control Event +GridTreeControl Event Description
ModelLoaded -Handled once the InternalGrid is created and after the template is applied to the GridTree control. This is the correct place to set the properties and subscribe to events on the InternalGrid.
RequestTreeItems -Required event that is used to provide the underlying data to the GridTree control on demand. This event is discussed earlier in this document.
RequestNodeImage diff --git a/wpf/Classic/GridTree/GridTree-Control-Properties.md b/wpf/Classic/GridTree/GridTree-Control-Properties.md index 04e0f7a00..62d511fd1 100644 --- a/wpf/Classic/GridTree/GridTree-Control-Properties.md +++ b/wpf/Classic/GridTree/GridTree-Control-Properties.md @@ -9,14 +9,14 @@ documentation: ug # Properties in WPF GridTreeControl -The GridTree control has the following properties that allow you to control much of the behavior available within the control. Here is a list of these properties along with some discussion of each. +The GridTreeControl has the following properties that allow you to control much of the behavior available within the control. Here is a list of these properties along with some discussion of each. @@ -66,7 +66,7 @@ treeGrid. EnableHotRowMarker @@ -80,14 +80,14 @@ treeGrid.EnableNodeSelection @@ -101,14 +101,14 @@ treeGrid.LevelStyles @@ -122,7 +122,7 @@ treeGrid.RowHeaderWidth @@ -136,7 +136,7 @@ treeGrid.ShowColumnHeaders @@ -157,14 +157,14 @@ treeGrid.SupportRowSizing diff --git a/wpf/Classic/GridTree/GridTreeNode-Objects.md b/wpf/Classic/GridTree/GridTreeNode-Objects.md index ee9020083..01eddd82e 100644 --- a/wpf/Classic/GridTree/GridTreeNode-Objects.md +++ b/wpf/Classic/GridTree/GridTreeNode-Objects.md @@ -9,7 +9,7 @@ documentation: ug # GridTreeNode Objects in WPF GridTreeControl -The GridTreeControl.InternalGrid.Nodes collection holds the GridTreeNodes that represents the visible nodes in the GridTree control. The GridTreeNode object has the following properties: +The GridTreeControl.InternalGrid.Nodes collection holds the GridTreeNodes that represents the visible nodes in the GridTreeControl. The GridTreeNode object has the following properties: diff --git a/wpf/Classic/GridTree/Interactive-Features.md b/wpf/Classic/GridTree/Interactive-Features.md index b8192433d..c2fc70400 100644 --- a/wpf/Classic/GridTree/Interactive-Features.md +++ b/wpf/Classic/GridTree/Interactive-Features.md @@ -18,18 +18,18 @@ This section elaborates on the following run time interactive features: ## Selection Support -GridTree control has the following two types of selection support: +GridTreeControl has the following two types of selection support: * Whole Node selection-Whole node selections involve selecting the the entire row when a cell is clicked, and is enabled by setting the EnableNodeSelection property to true. This is the default node selection type in the Grid Tree. -* Cell Range selection-The cell range selection support allows the selection of cell ranges within the GridTree control. This support is enabled by setting EnableNodeSelection property to _false_. +* Cell Range selection-The cell range selection support allows the selection of cell ranges within the GridTreeControl. This support is enabled by setting EnableNodeSelection property to _false_. ### Disabling the Selection -To disable all selection support in the GridTree control, set GridTreeControl.EnableSelections to _false_. +To disable all selection support in the GridTreeControl, set GridTreeControl.EnableSelections to _false_. ### Selection Features -GridTree control does not use the selection support inherited from the Grid control, because the selections in the Grid Tree need to be persisted, as the nodes are expanded/collapsed and sorted. The GridTreeNode.IsSelected property indicates whether the node is selected or not and the GridTreeNode.SelectedColumns property contains the names of the columns selected for the node. You can access selected nodes by using the GridTreeControl.SelectedNodes property. +GridTreeControl does not use the selection support inherited from the Grid control, because the selections in the Grid Tree need to be persisted, as the nodes are expanded/collapsed and sorted. The GridTreeNode.IsSelected property indicates whether the node is selected or not and the GridTreeNode.SelectedColumns property contains the names of the columns selected for the node. You can access selected nodes by using the GridTreeControl.SelectedNodes property. The following code example illustrates cell range selections in the Grid Tree. @@ -59,7 +59,7 @@ foreach (GridTreeNode node in treeGrid.SelectedNodes) ## Sorting -Sorting will arrange the records either in ascending or descending order of the selected field values. The GridTree control allows you to sort the data against one or more columns. The number of columns on which the sorting can be applied is unlimited. +Sorting will arrange the records either in ascending or descending order of the selected field values. The GridTreeControl allows you to sort the data against one or more columns. The number of columns on which the sorting can be applied is unlimited. ### Properties @@ -75,7 +75,7 @@ Data Type @@ -151,7 +151,7 @@ this.treeGrid.AllowSort = true; ### Sorting Options -The GridTree control supports the following sorting options: +The GridTreeControl supports the following sorting options: * Multicolumn Sorting * Tri-state Sorting  @@ -159,7 +159,7 @@ The GridTree control supports the following sorting options: ### Multicolumn Sorting -The GridTree control provides support to perform multicolumn sorting by holding down the Ctrl key and clicking the left mouse button. +The GridTreeControl provides support to perform multicolumn sorting by holding down the Ctrl key and clicking the left mouse button. The multicolumn sorting can be enabled by using the EnableMultiColumnSorting property. The following code example illustrates this. @@ -189,7 +189,7 @@ this.treeGrid.EnableMultiColumnSorting = true; {% endhighlight %} {% endtabs %} -The following screenshot shows the GridTree control enabled with multicolumn sorting where the First Name column is sorted in ascending order and the Last Name column is sorted in descending order. +The following screenshot shows the GridTreeControl enabled with multicolumn sorting where the First Name column is sorted in ascending order and the Last Name column is sorted in descending order. @@ -197,12 +197,12 @@ The following screenshot shows the GridTree control enabled with multicolumn sor -Multicolumn Sorting in GridTree Control +Multicolumn Sorting in GridTreeControl {:.caption} ### Tri-state Sorting -The GridTree control also supports the tri-state sorting. There are three states in this sorting: +The GridTreeControl also supports the tri-state sorting. There are three states in this sorting: * Ascending—sorts the records in an increasing order. * Descending—sorts the records in a decreasing order. @@ -244,17 +244,17 @@ ExpandStateAtStartUp="RootNodesExpanded" ### Custom Sorting -The GridTree control also features the custom sorting. The following additional members of GridTreeControlImpl allow you to access sort information and provide support for the custom sorting.  +The GridTreeControl also features the custom sorting. The following additional members of GridTreeControlImpl allow you to access sort information and provide support for the custom sorting.  * public bool IsPropertySorted(string propertyName, out SortState state)—determines whether a particular column is sorted. * public IComparer SortComparer—allows to perform the custom sorting. The default implementation assumes the underlying node items implement the IComparable technique and uses that implementation for the sorting comparisons within the columns. If your objects are not sortable using this technique, then you need to provide a sort comparer that properly sorts the grid nodes items based on the sort property values. * public string SortProperty—it is a string that holds the column name to be sorted. You can specify a sort direction by appending a space followed by either ASC or DESC. In addition, you can specify the multicolumn sorting by passing several columns separated by commas. For example, "Price ASC, Weight DESC", which will indicate to sort the Price column in ascending order, and then sort the Weight column in descending order. -* public List SortStates—it is a list of sort states for the columns currently sorted in the GridTree control. The SortState class contains information regarding the direction and the property sorted, and it exposes static helper methods, which takes care of the changes between SortStates and SortProperty. +* public List SortStates—it is a list of sort states for the columns currently sorted in the GridTreeControl. The SortState class contains information regarding the direction and the property sorted, and it exposes static helper methods, which takes care of the changes between SortStates and SortProperty. ## Column Sizing -The GridTree control supports auto sizing its columns such that the display of the tree occupies the entire width of the client area available in the Grid Tree. The sizing is done by columns occupying certain percentages of the available space. To implement this feature, the Grid Tree must be free to size with its parent. +The GridTreeControl supports auto sizing its columns such that the display of the tree occupies the entire width of the client area available in the Grid Tree. The sizing is done by columns occupying certain percentages of the available space. To implement this feature, the Grid Tree must be free to size with its parent. N> You cannot set the Width or HorizontalAlignment properties of the Grid Tree when this feature has been enabled. @@ -305,7 +305,7 @@ The PercentSizingBehavior property provides the following options to size the co ## Update Mode -The UpdateMode property defines the behavior when updating data to the underlying collection while editing. Below are the three UpdateMode behaviors supported by the GridTree control. +The UpdateMode property defines the behavior when updating data to the underlying collection while editing. Below are the three UpdateMode behaviors supported by the GridTreeControl. Lost Focus—Update the values to the underlying collection when the current cell is out of focus or moved to another cell. Validation also will take place on lost focus of the cell. @@ -377,7 +377,7 @@ This section will elaborate on different style settings. ### Visual Styles -The GridTreeControl.VisualStyle property is used to specify the visual style for the Grid Tree. This property is also bound through the Grid Tree Template to the SkinStorage.VisualStyle property, so it can participate in the general themed appearance of all Syncfusion WPF controls. You can also turn off the visual style support in the GridTree control by setting the SupportVisualStyles property to false. +The GridTreeControl.VisualStyle property is used to specify the visual style for the Grid Tree. This property is also bound through the Grid Tree Template to the SkinStorage.VisualStyle property, so it can participate in the general themed appearance of all Syncfusion WPF controls. You can also turn off the visual style support in the GridTreeControl by setting the SupportVisualStyles property to false. ### Style Object @@ -553,13 +553,13 @@ N> Level styles are the lowest in precedence, followed by column styles, and the The GridTreeControl.InternalGrid has a ExpandGlyphType property that enables you to customize the appearance of the Expand cell. It also has a GridTreeControl.InternalGrid.SetExpandBrushesAndPen method that is used to provide the brushes used to draw the expand glyphs. The ExpandGlyph property has the following settings. -GridTree control Property +GridTreeControl Property {:.caption}
-GridTree control Property +GridTreeControl Property Description Type of Property Value It Accepts @@ -52,7 +52,7 @@ treeGrid.ColumnHeaderStyle = new GridStyleInfo() { };
DefaultColumnWidth -Provides the default settings for the column width used in the GridTree control. +Provides the default settings for the column width used in the GridTreeControl. Dependency property Double treeGrid.DefaultColumnWidth
EnableSelections -Controls whether selections are supported. The GridTree control support two types of selections, node selections and cell selections. Use the EnableNodeSelection property to determine which selection type is active. +Controls whether selections are supported. The GridTreeControl support two types of selections, node selections and cell selections. Use the EnableNodeSelection property to determine which selection type is active. Dependency property bool treeGrid.EnableSelections
HideEmptyChildGlyphs -Controls whether you can possibly see the expand glyph on a node with no children. The default value is true that indicates glyphs on empty nodes will be hidden when initially displayed. In order to support this behavior, the GridTree control must request the child nodes at the time the parent node is expanded (instead of at the time the child node is clicked to be expanded). +Controls whether you can possibly see the expand glyph on a node with no children. The default value is true that indicates glyphs on empty nodes will be hidden when initially displayed. In order to support this behavior, the GridTreeControl must request the child nodes at the time the parent node is expanded (instead of at the time the child node is clicked to be expanded). Dependency property bool treeGrid.HideEmptyChildGlyphs
InternalGrid -Gets a reference to the GridControlImpl object associated with this GridTree control. This property will be null until the ModelLoaded event is raised by the GridTree control. ModeLoaded event is triggered once the grid model is loaded. +Gets a reference to the GridControlImpl object associated with this GridTreeControl. This property will be null until the ModelLoaded event is raised by the GridTreeControl. ModeLoaded event is triggered once the grid model is loaded. Normal GridTreeControl treeGrid.InternalGrid
Model -Gives access to the GridTreeModel object associated with this GridTree control. The Model.Options property gives access to the properties that control the behavior of the InternalGrid object associated with this GridTree control. +Gives access to the GridTreeModel object associated with this GridTreeControl. The Model.Options property gives access to the properties that control the behavior of the InternalGrid object associated with this GridTreeControl. Normal GridTreeModel treeGrid.Model
ReadOnly -Determines whether the cells in the GridTree control can be edited. This is a GridTree control-wide setting. You can use the LevelStyles[].StyleInfo.ReadOnly to edit the particular levels. Additionally, you can use Columns[].StyleInfo.ReadOnly to control the edit operation, column-by-column. Finally, you can use the Model.QueryCellInfo event to set ReadOnly properties cell-by-cell in an on-demand manner. +Determines whether the cells in the GridTreeControl can be edited. This is a GridTreeControl-wide setting. You can use the LevelStyles[].StyleInfo.ReadOnly to edit the particular levels. Additionally, you can use Columns[].StyleInfo.ReadOnly to control the edit operation, column-by-column. Finally, you can use the Model.QueryCellInfo event to set ReadOnly properties cell-by-cell in an on-demand manner. Dependency property bool treeGrid.ReadOnly
SelectedNodes -A collection of nodes selected in the GridTree control. The items in the collection are GridTreeNode objects. +A collection of nodes selected in the GridTreeControl. The items in the collection are GridTreeNode objects. Normal GridSelectedTreeNodes treeGrid.SelectedNodes
ShowExpandColumnBorders -Determines whether the GridTree control display cell borders for the Expand column. +Determines whether the GridTreeControl display cell borders for the Expand column. Dependency property bool treeGrid.ShowExpandColumnBorders
SupportsVisualStyles -Determines whether the GridTree control will use the VisualStyle property to control the appearance of the GridTree control. If this property is {{ '_true_' | markdownify }}, you can directly set the VisualStyle property for the grid. You also have the option of applying the changes through the SkinManager found in the Syncfusion.Shared.WPF library. The GridTree control is bound to the SkinManager values through its Template. +Determines whether the GridTreeControl will use the VisualStyle property to control the appearance of the control. If this property is {{ '_true_' | markdownify }}, you can directly set the VisualStyle property for the grid. You also have the option of applying the changes through the SkinManager found in the Syncfusion.Shared.WPF library. The GridTreeControl is bound to the SkinManager values through its Template. Dependency property bool treeGrid.SupportsVisualStyle
VisualStyle -Determines the VisualStyle that is applied to the GridTree control when SupportsVisualStyles property is set to {{ '_true_' | markdownify }}. +Determines the VisualStyle that is applied to the GridTreeControl when SupportsVisualStyles property is set to {{ '_true_' | markdownify }}. Dependency property VisualStyle treeGrid.VisualStyle
AllowSort -Enables/disables the sorting feature in the GridTree control. +Enables/disables the sorting feature in the GridTreeControl. Dependency property Boolean
+Used to change the hover color of the GridTreeControl +Used to change the hover foreground color of the GridTreeControl
-GridTree control Property +GridTreeControl Property Description
@@ -709,11 +709,11 @@ Custom Glyphs and Node Images ## Blendability -The GridTree control supports setting its styles through XAML and Microsoft Expression Blend. +The GridTreeControl supports setting its styles through XAML and Microsoft Expression Blend. ### Use Case Scenarios -This feature allows the GridTree control to be customized through Microsoft Expression Blend 3 or 4. +This feature allows the GridTreeControl to be customized through Microsoft Expression Blend 3 or 4. ### Properties @@ -741,13 +741,13 @@ The Blend Styling demo in the sample browser is purely customized in XAML throug 1. Open the Syncfusion Essential Studio dashboard. 2. Select User Interface Edition. 3. Select WPF and click the orange Run Samples button on the right side of the screen. -4. Select GridTree control. +4. Select GridTreeControl. 5. In the Styles menu item, select the Blend Styling demo. ## Adding Styles to an Application -The appearance of the GridTree control can be customized using Microsoft Expression Blend 3 or 4®. This can be achieved through the StyleManager property of type GridTreeStyleManager. The properties required to customize the appearance are defined in the GridTreeStyleManager class. +The appearance of the GridTreeControl can be customized using Microsoft Expression Blend 3 or 4®. This can be achieved through the StyleManager property of type GridTreeStyleManager. The properties required to customize the appearance are defined in the GridTreeStyleManager class. @@ -758,7 +758,7 @@ The appearance of the GridTree control can be customized using Microsoft Express Blend Property Window Showing StyleManager Properties {:.caption} -GridTreeStyleManager properties are organized under different groups, each representing a specific area of the GridTree control. +GridTreeStyleManager properties are organized under different groups, each representing a specific area of the GridTreeControl. * CellAppearance * ExpanderAppearance @@ -894,7 +894,7 @@ After Cell Appearance Applied -Cell Appearance Applied to GridTree Control +Cell Appearance Applied to GridTreeControl {:.caption} ### Expander Appearance @@ -1020,7 +1020,7 @@ After Expander Appearance Applied -Expander Appearance Applied to the GridTree Control +Expander Appearance Applied to the GridTreeControl {:.caption} ### Header Appearance @@ -1231,11 +1231,11 @@ Used to change the row header foreground color
RowHoverBackgroundBrush -Used to change the hover color of the GridTree control
RowHoverForegroundBrush -Used to change the hover foreground color of the GridTree control
@@ -1301,14 +1301,14 @@ After Row Appearance Applied -Row Appearance Applied to the GridTree Control +Row Appearance Applied to the GridTreeControl {:.caption} ## Serialization -The GridTree control’s state can be serialized and deserialized in XML format. All the styles and properties that reflect the state of the grid can be serialized. +The GridTreeControl’s state can be serialized and deserialized in XML format. All the styles and properties that reflect the state of the grid can be serialized. -The following options in the GridTree control can be serialized and deserialized. +The following options in the GridTreeControl can be serialized and deserialized. * Width Options * Sort Options @@ -1381,19 +1381,19 @@ void