显示列表

<asp:datagrid id="DataGrid1" runat="server" BorderWidth="1px" AutoGenerateColumns="False"
   Width="95%" BorderColor="#CCDFF4" AllowPaging="True" CssClass="table"
   DataKeyField="id" AutoGenerateColumns="False">
<Columns>
   <asp:BoundColumn DataField="Name" HeaderText="名称"></asp:BoundColumn>
   <asp:ButtonColumn HeaderText="操作" Text="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid>



private void InitializeComponent()
{
   this.Load += new System.EventHandler(this.Page_Load);
   this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
   this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand);
}


需要将 ButtonColumn 绑定事件
private void DataGrid1_ItemCommand(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   switch(((LinkButton)e.CommandSource).CommandName)
   {
       case "Delete":
           DataGrid1_Delete(sender, e); 
           break;            
       default:
           // Do nothing.
           break;
   }        
}

private void DataGrid1_Over(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   int id = (int)DataGrid1.DataKeys[e.Item.ItemIndex]; // 返回 DataKeyField 的行值

}

// 创建表格时,每创建一行,触发一次
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
   if(e.Item.ItemType != ListItemType.Header&&e.Item.ItemIndex>=0)
   {
       // e.Item.Controls 当前行所控件
       LinkButton linkButton = (LinkButton)e.Item.Cells[1].Controls[0];
       linkButton.Attributes.Add("onclick", "return confirm('您确定删除么?')"); 
   }
}

标签:DataGrid 
返回摘要 | 分类(Asp.Net) | 访问(13) | 编辑