1. 程式人生 > >DataGrid動態新增模板列的一個例子

DataGrid動態新增模板列的一個例子

namespace csdn
{
 /// <summary>
 /// WebForm30 的摘要說明。
 /// </summary>
 public class WebForm30 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.DataGrid DataGrid1;
  
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此處放置使用者程式碼以初始化頁面
   if(!IsPostBack)
   {
    BindGrid();
   }
   CreateDataGrid();//進行一些DataGrid的設定
  }
 
  protected void CreateDataGrid()
  { 
   DataGrid1.AutoGenerateColumns=false;//不啟用自動生成列
   DataGrid1.CssClass="border";//邊框樣式
   DataGrid1.BorderWidth=0;
   DataGrid1.CellSpacing=1;
   DataGrid1.CellPadding=5;
   DataGrid1.ItemStyle.CssClass="item";//普通列樣式
   DataGrid1.HeaderStyle.CssClass="header";//頭樣式
   DataGrid1.PagerStyle.CssClass="header";//頁尾樣式
   DataGrid1.DataKeyField="stuid";//主鍵欄位
   DataGrid1.AllowPaging=true;//允許分頁
   DataGrid1.PageSize=5;//分頁大小
   DataGrid1.PagerStyle.Mode=PagerMode.NumericPages;//數字形式分頁
   EditCommandColumn ecc=new EditCommandColumn();//更新按鈕列
   ecc.ButtonType=ButtonColumnType.PushButton;//下壓按鈕
   ecc.EditText="編輯";
   ecc.CancelText="取消";
   ecc.UpdateText="更新";//按鈕文字
   DataGrid1.Columns.Add(ecc);//增加按鈕列
   DataGrid1.EditCommand+=new DataGridCommandEventHandler(DataGrid1_EditCommand);
   DataGrid1.UpdateCommand+=new DataGridCommandEventHandler(DataGrid1_UpdateCommand);
   DataGrid1.CancelCommand+=new DataGridCommandEventHandler(DataGrid1_CancelCommand);//更新、取消、編輯事件註冊
   DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(DataGrid1_PageIndexChanged);//分頁事件註冊,這裡需要注意註冊事件程式碼的位置,不能放到BindGrid()中
   SetBind();   //繫結資料
  }