2012-06-09 79 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;