Hierarchical Data Grid View

Posted on  by admin
  1. Data Grid View C# Example
  2. Data Grid View Vb
  3. Data Grid View Example

I am trying to construct a datagridview that will show a number of rows with a particular set of fields, but also allow me to show some 'subrows' ie rows that can be expanded below the parent row in question (if that parent row has these children - part of the datasoruce) the only real problem is that the expanded rows will have completely different fields(columns) is this possible with a standard datagridview in a windows form? I am presuming somehow I would have to shoehorn in a new datagridview in a row of the parent grid.

It allows us to display related data in a hierarchical form (a tree!), but I needed it to be sortable and support data binding. The HierarchicalGrid does that, the quick and dirty way. It displays the table relations in a hierarchical form and sorts it through the levels too. To bind a collection to the TreeList View, assign the child field name to the TreeListView's TreeListView.ChildNodesPath property and set the TreeListView.TreeDerivationMode property to TreeDerivationMode.ChildNodesSelector. In the example below the Task field is the child field.

We do have the Syncfusion suite which includes the gridgroupingcontrol. But after much hair pulling and other pains. I have given up on that completely. Short answer: No.

Data Grid View C# Example

You need a custom component for this. There are a lot of good efforts out there on making a hierarchical treeview. Like in the CodeProject article or from Component One (paid). I understand you want different fields on the subnodes though, and I'm unsure to what extent these controls support that. I know FlexGrid support some customization of columns for different rows, but it will probably involve quite some manual work - databinding is not well supported.

View

Data Grid View Vb

Finally, you might want to consider if your idea of a customized GridView is the best approach to your problem in the first place. Could a Master-Detail-view be a better approach? PS: I'm not affiliated with ComponentOne, but I've used FlexGrid in a project.

Link for csharp, asp.net, ado.net, dotnet basics and sql server video tutorial playlists Link for text version of this video In this video, we will discuss about drilling down and displaying hierarchical data in gridview controls using objectdatasource control. We will be using the following 3 database tables for this demo.

TblContinents 2. TblCountries 3. When the page loads, a gridview should display the list of all continents available in tblContinents table 2. When a 'Select' button is clicked against a continent, all the countries belonging to the selected continent should be displayed in another gridview. Along the same lines, when a 'Select' button is clicked against a country, all the cities belonging to the selected country should be displayed in another gridview. Use sql script from Part 34 using the link below to create and populate the required tables. To use objectdatasource controls, to retrieve continents, countries and cities data, we need to create respective data access layer class files.

Step 1: Implement ContinentDataAccessLayer.cs. Step 2: Implement CountryDataAccessLayer.cs. Step 3: Implement CityDataAccessLayer.cs. Step 4: Build your solution, so that the respective data access layer classes are compiled.

Step 5: Drag and drop 3 gridview controls and 3 Objectdatasource controls on webform1.aspx. Step 6: Configure ObjectDataSource1 control to retrieve data from ContinentDataAccessLayer. Use GetAllContinents as the SELECT method.

Step 7: Asscociate ObjectDataSource1 control with Gridview1 control. Setp 8: From GridView1 - GridView Tasks pane, please make sure 'Enable selection' checkbox is checked. Step 9: Configure ObjectDataSource2 control to retrieve data from CountryDataAccessLayer. Use GetCountriesByContinent(int ContinentId) as the SELECT method. The value for the parameter - ContinentId should come fromt the selected row in GridView1 control. Step 10: Asscociate ObjectDataSource2 control with Gridview2 control.

Data Grid View Example

Step 11: From GridView2 - GridView Tasks pane, please make sure 'Enable selection' checkbox is checked. Step 12: Configure ObjectDataSource3 control to retrieve data from CityDataAccessLayer. Use GetCitiesByCountryId(int CountryId) as the SELECT method. The value for the parameter - CountryId should come fromt the selected row in GridView2 control. Step 13: Asscociate ObjectDataSource3 control with Gridview3 control. Step 14: Flip the webform to HTML source mode and set GridView1 DataKeyNames property to 'ContinentId' GridView2 DataKeyNames property to 'CountryId'.