我正在使用DEVExpress的gridview并使用此代码从另一个控件的customcallback中删除所选的gridview行,
行
GridFrom.DeleteRow(int.Parse(rowKey [2]));
检索正确的visibleIndex,但不从gridview中删除该行。数据绑定也不会刷新gridview的数据,它需要刷新页面才能更新数据
protected void ASPxTreeList1_CustomCallback(object sender, DevExpress.Web.ASPxTreeList.TreeListCustomCallbackEventArgs e)
{
string[] rowKey = e.Argument.Split('|');
string strConnectionString = ConfigurationManager.ConnectionStrings["dbname"].ConnectionString;
using (SqlConnection conn = new SqlConnection(strConnectionString))
{
string query = "DELETE FROM Table WHERE id=@id";
using (SqlCommand cmd = new SqlCommand(query, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@id", rowKey[0]);
cmd.ExecuteNonQuery();
conn.Close();
}
}
GridFrom.DeleteRow(int.Parse(rowKey[2])); //rowKey[2] is the visibleIndex
GridFrom.DataBind();
}
}
答案 0 :(得分:0)
需要刷新页面才能更新数据
您没有看到网格更改,因为在 ITS OWN 回调期间仅 ASPxTreeList会更新。
作为一种可能的解决方案,禁用ASPxTreeList的回调或使用网格的CustomCallback删除网格行(以类似的方式)。
<dx:ASPxTreeList ID="ASPxTreeList1" runat="server" EnableCallbacks="false">
</dx:ASPxTreeList>