<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('您确定删除么?')");
}
}



