我有一个嵌套的网格视图层次结构。具体来说:我有一个网格视图(比如 dt2)嵌套在网格视图(比如 dt1)中。现在,我有许多嵌套在嵌套网格视图 (dt2) 中的小网格视图,我想填充其中的网格视图,我发现这很乏味,因为 dt2 的 rowdatabound 事件不像 dt1 的事件那样被触发。
问问题
2014 次
1 回答
1
有很多关于如何做到这一点的文章;我发现这个最有帮助。它看起来并不那么复杂。
显示列:
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;
于 2012-06-09T13:21:02.733 回答