大家好我已经创建了一个用户控件,每个按钮上都会有3个按钮,每次按下按钮我都会根据按钮点击动态分配一个网格,但值很少。一切正常,但是当我从gridview中删除一行并再次执行按钮点击事件时,它不会触发按钮点击事件
我在User control
DataTable dt= new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["CurrentTable"] == null)
{
dt.Columns.Add("Id", typeof(string));
dt.Columns.Add("xx", typeof(string));
dt.Columns.Add("xx", typeof(string));
dt.Columns.Add("xx", typeof(string));
dt.Columns.Add("xx", typeof(string));
}
}
protected void btn1_Click(object sender, EventArgs e)
{
if (ViewState["CurrentTable"] == null)
{
}
else
{
addrow("Some", txt1.Text);
}
}
protected void grd_Deleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
{
int iIndex;
iIndex = grd.FocusedRowIndex;
dt.Rows[iIndex].Delete();
grd.DataSource = dt;
grd.DataBind();
}
删除行后如何执行按钮单击操作以再次触发
答案 0 :(得分:0)
我认为问题出在grd_Deleting
我看不到你在view-state
设置新值(删除后)的位置。
protected void grd_Deleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
{
int iIndex;
iIndex = grd.FocusedRowIndex;
dt.Rows[iIndex].Delete();
//set dt to view state
ViewState["CurrentTable"] =dt;
grd.DataSource = dt;
grd.DataBind();
}
答案 1 :(得分:0)
删除后使用此代码
ViewState["CurrentTable"] = dt // OR Null base on your requirement
btn1_Click(null, null);
还有一件事当最终用户点击删除命令或调用DeleteRow方法时,会发生RowDeleting事件。要取消删除操作,请将事件参数的Cancel属性设置为true。
e.cancel=true; //in finally
请参阅reference