我在DataGrid中增加了一个按钮列,代码如下:
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" onDeleteCommand="DataGrid1_Delete" DataKeyField="ID" …………………………>
<Columns>
<asp:BoundColumn DataField="TJ" HeaderText="条件"></asp:BoundColumn>
<asp:BoundColumn DataField="PD" HeaderText="判断"></asp:BoundColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid>然后在C#中写代码如下:
protected void DataGrid1_Delete(object sender,DataGridCommandEventArgs e)
{
//code;
}为什么这个事件不触发呢???
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" onDeleteCommand="DataGrid1_Delete" DataKeyField="ID" …………………………>
<Columns>
<asp:BoundColumn DataField="TJ" HeaderText="条件"></asp:BoundColumn>
<asp:BoundColumn DataField="PD" HeaderText="判断"></asp:BoundColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid>然后在C#中写代码如下:
protected void DataGrid1_Delete(object sender,DataGridCommandEventArgs e)
{
//code;
}为什么这个事件不触发呢???
if ( e.commandname == "delete" )
{
//code;
}
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
....
this.DataGrid1.DeleteCommand+=new DataGridCommandEventHandler(DataGrid1_Delete);
}
我的Page_load是这样写的:
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
//code;
DataGrid1.DataSource = DataTable;
DataGrid1.DataBind();
}
}
我试过你的方法了,我增加了 OnItemCommand="DataGrid_ItemCommand",然后代码如下:
protected void DataGrid_ItemCommand(object sender,DataGridCommandEventArgs e)
{
Response.Write("abcdefg");
}连这个"abcdefg"都显示不出来,也就是根本不触发这个事件
Delete事件中没写什么代码,只是写了一个响应语句:
Response.Write("HELLO!");dangdangdangdang(当当):
事件丢了是不是加一个
this.DataGrid1.DeleteCommand+=new DataGridCommandEventHandler(DataGrid1_Delete);
可是加了也不行:(
加分了,急求解决。
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
....
this.DataGrid1.DeleteCommand+=new DataGridCommandEventHandler(DataGrid1_Delete);
}
这段代码,如没有则加上
正如gzsxy8013(more)所说的,datagrid 禁用 enableviewstate,把enableviewstate改成true即可,散分!