用DataGrid的ItemCreated事件
private void GridWelkin_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
   if ( e.Item.ItemType == ListItemType.Header )
   {
    TableCell myCell1  = new TableCell();
    myCell1.Text   = "第一欄位";
    myCell1.RowSpan   = 2;

    TableCell myCell2  = new TableCell();
    myCell2.Text   = "第二欄位";
    myCell2.ColumnSpan  = 2;
    myCell2.Width   = 150;
    myCell2.HorizontalAlign = HorizontalAlign.Center;

    TableCell myCell3  = new TableCell();
    myCell3.Text   = "第三欄位";
    myCell3.ColumnSpan  = 2;
    myCell3.Width   = 150;
    myCell3.HorizontalAlign = HorizontalAlign.Center;

    TableCell myCell4  = new TableCell();
    myCell4.Text   = "第四欄位";
    myCell4.ColumnSpan  = 2;
    myCell4.HorizontalAlign = HorizontalAlign.Center;
    myCell4.RowSpan   = 2;

    // 在原本的Header上再增加新的一列
    DataGridItem myHeader = new DataGridItem (0,0,ListItemType.Header);
    myHeader.Cells.Add(myCell1);
    myHeader.Cells.Add(myCell2);
    myHeader.Cells.Add(myCell3);
    myHeader.Cells.Add(myCell4);
    GridWelkin.Controls[0].Controls.AddAt(0,myHeader);
  
   // 將原本的Header的某些欄位隱藏,這樣上面的RowSpan就可正確的顯示
   e.Item.Cells[0].Visible = false;
   e.Item.Cells[6].Visible = false;
  }
}

welkingunther 發表在 痞客邦 PIXNET 留言(0) 人氣()