gridview 删除 添加 更新
在本篇内容中,我们将深入探讨如何通过ASP.NET中的`GridView`控件实现数据的删除、添加和更新功能。此控件是ASP.NET Web Forms框架中一个非常强大的数据绑定控件,它允许开发者以表格的形式展示数据库中的数据,并且可以方便地对数据进行编辑操作。 ### GridView 控件基础 `GridView`控件是ASP.NET Web Forms中用于显示数据的强大工具。它支持各种内置的功能,如分页、排序、选择行等,这些功能都可以通过简单的属性设置来实现。`GridView`控件还支持自定义列和模板列,使得开发者能够灵活地控制数据显示方式。 ### 属性解析 #### AutoGenerateColumns="False" 该属性设置为`False`意味着`GridView`将不会自动生成列。开发者需要手动定义所有列,这可以通过`Columns`集合来完成。 #### OnRowDeleting、OnRowEditing、OnRowUpdating 这三个事件处理器分别对应于用户点击“删除”、“编辑”和“更新”按钮时触发的动作。它们提供了对行数据进行操作的机会。 - `OnRowDeleting`:当用户点击“删除”按钮时触发,可以通过此事件处理程序获取被删除行的数据。 - `OnRowEditing`:当用户点击“编辑”按钮时触发,可以在这个事件处理程序中初始化编辑模式所需的数据。 - `OnRowUpdating`:当用户更改数据并点击“更新”按钮时触发,可以在该事件处理程序中执行更新操作。 #### AllowPaging 和 AllowSorting 这两个属性分别表示是否启用分页和排序功能。如果设置为`True`,则`GridView`会自动提供分页和排序的功能。可以通过其他属性(例如`PageSize`)进一步定制这些功能。 ### 示例代码解析 在提供的代码示例中,我们看到`GridView`被配置为具有分页和排序功能,并且不允许自动生成列。这意味着所有的列都需要手动定义。 #### 列定义 - `BoundField`:用于显示数据字段的列类型。例如,第一个`BoundField`设置了`DataField`属性为`ProductID`,`HeaderText`为“Ʒ”,并且`ReadOnly`属性设置为`true`,这意味着这一列只读不可编辑。 - `CommandField`:提供了“编辑”和“删除”按钮,其中`ShowEditButton`和`ShowDeleteButton`属性分别设置为`True`,表示在每个行末尾都会显示相应的按钮。 #### 数据操作 当用户与`GridView`交互时,如点击“编辑”或“删除”按钮,将触发对应的事件处理程序。例如: - 当点击“删除”按钮时,会触发`GridView1_RowDeleting`事件。 - 点击“编辑”按钮时,则会触发`GridView1_RowEditing`事件。 - 在编辑模式下点击“取消”按钮时,触发`GridView1_RowCancelingEdit`事件。 - 当编辑完成后点击“更新”按钮,触发`GridView1_RowUpdating`事件。 ### 表单部分 在表单部分,可以看到一个`Panel`控件,其内部包含了一个简单的表格以及两个文本框`tbx_id`和`tbx_name`。此外还有一个`CustomValidator`控件,用于验证`tbx_id`文本框输入的数据是否合法。 ### 总结 通过配置`GridView`控件的不同属性和事件处理器,我们可以轻松实现数据的增删改查功能。这不仅提高了开发效率,也简化了用户的操作流程。希望本文能帮助读者更好地理解`GridView`控件的工作原理,并在实际项目中灵活运用这些功能。
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="产品编号" ReadOnly=true>
<HeaderStyle HorizontalAlign="Center" Width="150px" />
</asp:BoundField>
<asp:BoundField DataField="ProductName" HeaderText="产品名称" >
<HeaderStyle HorizontalAlign="Center" Width="150px" />
</asp:BoundField>
<asp:BoundField DataField="ProductDesc" HeaderText="描述">
<HeaderStyle HorizontalAlign="Center" Width="150px" />
</asp:BoundField>
<asp:CommandField ShowEditButton="True" >
<HeaderStyle HorizontalAlign="Center" Width="60px" />
</asp:CommandField>
<asp:CommandField ShowDeleteButton="True" >
<HeaderStyle HorizontalAlign="Center" Width="60px" />
</asp:CommandField>
</Columns>
<HeaderStyle BackColor="WhiteSmoke" />
</asp:GridView><br />
</td></tr>
<tr><td>
<asp:Panel ID="Panel1" runat="server" >
<table border="0" cellspacing="0" cellpadding="1" align=center style="height: 154px; border-right: teal 1px solid; border-top: teal 1px solid; border-left: teal 1px solid; width: 318px; border-bottom: teal 1px solid;" >
<tr>
<td width="32%" style="width: 85px; border-bottom: gray 2px solid;"><div align="center"><span class="style2">产品编号:</span></div></td>
<td style="width: 85px; border-bottom: gray 2px solid;" align="left">
<td style="width: 85px; border-bottom: gray 2px solid">
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="此产品已存在" ControlToValidate="tbx_id" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator></td>
</tr>
<tr>
<td style="width: 85px; border-bottom: gray 2px solid;"><div align="center"><span class="style2">产品名称:</span></div></td>
<td style="width: 85px; border-bottom: gray 2px solid;" align="left">
<asp:TextBox ID="tbx_name" runat="server"></asp:TextBox></td>
<td style="width: 85px; border-bottom: gray 2px solid">
</td>
</tr>
<tr>
<td style=" border-bottom: gray 2px solid;"><div align="center"><span class="style2">描述:</span></div></td>
<td style="border-bottom: gray 2px solid;" align="left">
<asp:TextBox ID="txb_desc" runat="server" ForeColor="Red"></asp:TextBox></td>
<td style="border-bottom: gray 2px solid;">
</td>
</tr>
<tr>
<td colspan="3">
<asp:Button ID="btn_ok" runat="server" Text=" 确 定 " BackColor="#F0FFEE" OnClick="Button1_Click" />
<asp:Button ID="btn_csl" runat="server" Text=" 取 消 " BackColor="#F0FFEE" OnClick="Button2_Click" />
</td>
</tr>
</table>
<asp:Label ID="Label1" runat="server" ForeColor="Red" Width="316px"></asp:Label></asp:Panel>
</td></tr>
<tr><td bgcolor="#bbcccc" style="height: 40px">
<asp:Button ID="btn_exit" runat="server" Text=" 退 出 " OnClick="btn_exit_Click" />
剩余8页未读,继续阅读
- abner.Li2015-03-17挺有用的,我在做模拟HOME键长按时用到了
- 粉丝: 23
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助