GridView操作一条记录的N种方式

结合GridView自身的特点,总结出操作(可以是删除、导入、更新等)单条记录的N种方式

首先,前台文件内容如下:

复制代码
<asp:GridView ID="GVList" runat="server" ShowFooter="true" AutoGenerateColumns="False"
                BorderStyle
="Solid" BorderColor="#ffffff" GridLines="Horizontal" CellSpacing="1"
                Width
="100%" HorizontalAlign="NotSet" BorderWidth="0px" EnableViewState="true"
                DataKeyNames
="PKID">
                
<Columns>
                    
<asp:TemplateField>
                        
<HeaderStyle Width="60px" BackColor="#1C5E55" ForeColor="White" />
                        
<HeaderTemplate>
                           
</HeaderTemplate>
                        
<ItemTemplate>
                            
<asp:Label ID="PKID" Text='<%# DataBinder.Eval(Container.DataItem,"PKID")%>' runat="server"
                                Visible="true"  Width="10"/>
                                 
<asp:Label ID="FilePath" Text='<%# DataBinder.Eval(Container.DataItem,"FilePath")%>' runat="server"
                                Visible="true"  Width="700"/>
                        
</ItemTemplate>
                    
</asp:TemplateField>
                   
                    
<asp:TemplateField>
                        
<HeaderStyle Width="60px" />
                        
<HeaderTemplate>
                            操作
</HeaderTemplate>
                        
<ItemTemplate>
                            
<asp:LinkButton ID="cmdImport" ForeColor="Red" Text="操作" CssClass="ElementNavigation"
                                CausesValidation
="false" runat="server" CommandName="Import" OnClientClick="javascript:return confirm('确定操作已选择的数据吗?')" />
                        
</ItemTemplate>
                    
</asp:TemplateField><asp:CommandField DeleteText="操作" ShowDeleteButton="true" ButtonType="Button" HeaderStyle-Width="40px" />

                                   
</Columns>
            
</asp:GridView>
复制代码

 其次:在后台Page_Load()事件是注册以下事件

Code

同时添加以下事件

 private void GVList_RowUpdating(object sender, GridViewUpdateEventArgs e)
        
{ }

现分别说明各事件的作用如下:

 第一种操作方式,用GVList_RowDeleting事件

Code

第二种方式,用GVList_RowCommand事件

Code

 第三种方式,在数据不大的情况下,可以用ViewState来缓存DataTable,此时可以直接操作DataTable的Row,只需找到Row的索引即可。

 第四种方式,可以用GridViewRow来找到索引,道理同上, 可以参考
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridviewrow.aspx

posted @   邀月  阅读(1582)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示