16

一部の列の行を結合してグリッド ビューにデータを表示する必要があります。以下の定義された形式でグリッド ビューを準備するのを手伝ってください。 ここに画像の説明を入力

また、元のデータはデータベースから取得され、次の形式になっています。 ここに画像の説明を入力

このタスクを動的かつ効率的に実行するための最良の方法を見つけるのを手伝ってください。

4

2 に答える 2

19

を使用する必要がありますRowSpan

次のコードを参照してください。

protected void GridView1_DataBound1(object sender, EventArgs e)
{
  for (int rowIndex = GridView1.Rows.Count - 2;
                                     rowIndex >= 0; rowIndex--)
  {
    GridViewRow gvRow = GridView1.Rows[rowIndex];
    GridViewRow gvPreviousRow = GridView1.Rows[rowIndex + 1];
    for (int cellCount = 0; cellCount < gvRow.Cells.Count;
                                                  cellCount++)
    {
     if (gvRow.Cells[cellCount].Text ==
                            gvPreviousRow.Cells[cellCount].Text)
     {
       if (gvPreviousRow.Cells[cellCount].RowSpan < 2)
       {
         gvRow.Cells[cellCount].RowSpan = 2;
       }
       else
       {
        gvRow.Cells[cellCount].RowSpan =
            gvPreviousRow.Cells[cellCount].RowSpan + 1;
       }
       gvPreviousRow.Cells[cellCount].Visible = false;
    }
   }
}

参考:

https://sites.google.com/site/learning6329/asp-net/gridview-merge-cells

問題の絵の例:

http://marss.co.ua/MergingCellsInGridView.aspx

于 2013-04-22T13:13:28.227 に答える