1

ネストされたグリッドビューの階層があります。具体的には、グリッドビュー(たとえばdt1)内にネストされたグリッドビュー(たとえばdt2)があります。現在、ネストされたグリッドビュー(dt2)内にネストされた多数の小さなグリッドビューがあり、その中のグリッドビューを埋めたいのですが、dt1のイベントとは異なり、dt2のrowdataboundイベントが発生しないため、面倒です。

4

1 に答える 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 に答える