单击GridView进入编辑模式

时间:2021-07-28 09:59:04

一直以来,Insus.NET在实现GridView编辑时,均是在每笔记录第一列或是最后一列放置编辑铵钮,点击编辑铵钮之后,进行编辑模式。本博文是使用另外方式,即是点击GridView记录行任一位置,进入编辑模式。

先来看看GridView的Html样子:
单击GridView进入编辑模式


DataKeyNames="Fruit_nbr"   --> 设置GridView主键,在更新时会用到。
OnRowDataBound="GridViewFruit_RowDataBound"  --> 这个事件,为GridView编辑模式下,为DropDownList绑定数据。
OnRowEditing="GridViewFruit_RowEditing"   --> 为GridView控件启用编辑事件。
OnRowUpdating="GridViewFruit_RowUpdating"   --> GridView控件更新事件
OnRowCancelingEdit="GridViewFruit_RowCancelingEdit"   --> 在GridView编辑模式下,返回正常模式。

 

按照传统方法,我们需要把下面的启用,但现在我们需要把它comment out或是删除,稍后我们可以为GridVeiw注册点击事件来替代它。

<ItemTemplate>
   <asp:Button ID="ButtonEdit" runat="server" Text="Edit" CommandName="Edit" />
</ItemTemplate>



现在,我们去.aspx.cs为GridView控件绑定数据以及写相关事件的代码, 先是数据绑定GridView控件。
单击GridView进入编辑模式


在编辑模式中,某字段显示呈现DropDownList可供选择。
单击GridView进入编辑模式


编辑事件:
单击GridView进入编辑模式



在GridView控件的编辑模式,返回正常模式:
单击GridView进入编辑模式

GridView控件的更新事件:
单击GridView进入编辑模式


下面是注册单击事件,替代Edit铵钮事件:
单击GridView进入编辑模式


Override Render方法,foreach所有GridViewRow,判断是否是DataRow行。
如果不是DataControlRowState.Edit的话,可以为记录行添加onclick事件。


演示:
单击GridView进入编辑模式