技术开发 频道

GridView中对鼠标单击某一独立单元格的编辑


    为了确保RowUpdating事件在编辑单元格后被激发,要在Page_Load中来触发这个事件。编辑了TextBox后,通过按回车键或者单击另一单元格来使页面做回发处理,下面的这段代码就是用于确保任何数据的改变都会被更新。

if (this.GridView1.SelectedIndex > -1) { this.GridView1.UpdateRow(this.GridView1.SelectedIndex, false); }
    为了验证而注册回发和回调数据
    在RowDataBound中创建的自定义事件必须要在页中注册。 通过重写Render方法来调用    ClientScriptManager.RegisterForEventValidation。 通过GridViewRow.UniqueID返回行的唯一ID,按纽的唯一ID通过在行的唯一ID后附加“$ct100”而生成。
protected override void Render(HtmlTextWriter writer) { foreach (GridViewRow r in GridView1.Rows) { if (r.RowType == DataControlRowType.DataRow) { for (int columnIndex = _firstEditCellIndex; columnIndex < r.Cells.Count; columnIndex++) { Page.ClientScript.RegisterForEventValidation(r.UniqueID + "$ctl00", columnIndex.ToString()); } } } base.Render(writer); }
     这将防止任何“回发或回调参数无效”的错误。
0
相关文章