2012-06-09 80 views
1

我有嵌套的网格视图的层次结构。具体来说:我有一个嵌套在网格视图(比如说dt1)中的网格视图(比如dt2)。现在,我在嵌套网格视图(dt2)中嵌套了许多小网格视图,并且我想填充其中的网格视图,我发现这很乏味,因为与dt1的事件不同,dt2的rowdatabound事件没有被解雇。嵌套的GridView

+0

显示你的代码,否则这个问题得不到很好的回答。 –

回答

1

有很多关于如何做到这一点的文章;我发现this one是最有帮助的。它看起来并不复杂。

显示列:

List<string> displayColumns = new List<string>(); 
displayColumns.Add("id"); 
displayColumns.Add("Name"); 
displayColumns.Add("Fruit"); 
displayColumns.Add("BoughtFrom"); 
displayColumns.Add("Date"); 

分组:

List<GroupColumn> groupColumns = new List<GroupColumn>(); 
groupColumns.Add(new GroupColumn("Quantity", GroupTypeEnum.Sum)); 

关系数据集:

SqlConnection connection = new SqlConnection("Your connection string"); 
connection.Open(); 

SqlDataAdapter dataAdapter = new SqlDataAdapter(
    "SELECT id, Name, Fruit FROM FruitPrefs", 
    connection); 
DataTable dtResult1 = new DataTable(); 
dataAdapter.Fill(dtResult1); 

dataAdapter = new SqlDataAdapter(
    "SELECT id, BoughtFrom, Date, Quantity FROM SalesRecords", 
    connection); 
DataTable dtResult2 = new DataTable(); 
dataAdapter.Fill(dtResult2); 

DataSet dsResults = new DataSet("Results"); 
dsResults.Tables.Add(dtResult1); 
dsResults.Tables.Add(dtResult2); 
DataRelation relation1 = new DataRelation(
    "relation1", 
    dtResult1.Columns["id"], 
    dtResult2.Columns["id"]); 
dsResults.Relations.Add(relation1); 

装订:

DataGridSource newGridSource = new DataGridSource(
    dtResult1.DataSet, 
    displayColumns, 
    groupColumns); 
hierarchicalGridView1.DataSource = newGridSource;