GridView使用技巧之:新增记录、GridView内数据验证、删除信息提示等

本文详细介绍了在ASP.NET中如何利用GridView控件结合SqlDataSource实现记录的新增、数据验证以及删除时的提示信息。通过模板列应用、服务器控件ValidationGroup属性、GridView事件如RowCommand和RowCreated,实现更丰富的功能,包括序号显示、自定义编辑控件、操作确认提示等。
摘要由CSDN通过智能技术生成

摘要:本文主要讲解在GridView控件中结合SqlDataSource控件如何实现新增记录,新增、编辑记录时如何验证数据,以及删除信息时提示信息


        

GridView给我们网站开发中数据的显示提供了非常强大的功能,特别是它自带的编辑、删除、分页、排序等功能。让我们不要写任何代码就能实现对数据库的插入、修改、删除等。虽然功能已经非常强大,但是有时还是不满足我们的实际需求,比如对于只有34个字段的表的操作,例如管理新闻类别之类的,字段长度不大,字段数少的情况,我们希望在GridView内能够实现新增、编辑、删除、并且能够进行数据验证,删除时能弹出消息框作提示,编辑功能时我们要改变默认的显示控件等,这些功能GridView没有给我们提供,我们必须自己来实现。

下面我们就以一个对产品的类别的管理为例来说明,产品分为产品大类和产品小类,我们要求对产品小类进行管理。

本文包含的知识点主要有:

l         生成并显示记录的序号

l         模版列的应用

l         GridView在新增状态和编辑状态时对数据的验证,服务器控件(常见的为按钮类控件)ValidationGroup属性的使用

l         在编辑时点“取消”或者正常状态点“删除”提示用户

l         GridView中改变默认的控件显示数据

l         GridView页脚在新增记录时的应用

l         GridView控件RowCommand RowCreated事件的应用

首先来看看我们实现的效果

1 :产品小类的正常管理界面,

  此时点删除,则会弹出提示框:

 

2:点击新增按钮时的界面,若产品小类名为空,点确定时则提示“必填”

 

也就是进行数据验证。

3:点编辑按钮后的操作界面

 

此时点“取消”则会弹出提示框:


 

下面开始来实现以上呈现的一些功能,本文涉及2个数据表:一个产品大类表ProductBigClass表,字段为BigClassIDBigClassName ;一个产品小类标ProductSmallClass表,字段有SmallClassIDSmallClassNameBigClassID

第一步:从工具栏拖一个GridView控件到页面,配置数据源邦定,省略;注意配置数据源时一定要点击“高级”配置,钩选“生成INSERT,UPDATE,DELETE语句”选项,因为我们要利用它自带的数据插入,编辑,删除功能。

第二步:将所有GridView的列转化为模版列。只有转化为模版列我们才能对这些列及列里面的控件进行操作。

编辑“所属大类”这一列,定位到ItemTemPlate,默认为一个label显示,而且显示的是大类的编号,并不是名称,因此我们删掉label,拖入一个DropDownList控件,进行数据邦定到产品大类表,“编辑DataBinding”将其SelectValue属性邦定为产品小类表里的字段BigClassID,并且将其Enable设置为false,因为我们只显示,这时就达到了图1中第三列的显示效果

第三步:实现第一列的自动序号显示功能

首先给GridView添加一模版列,作为第一列。鼠标右键---编辑模版—column[0],打开模版编辑界面,在ItemTemPlate里输入<%#Container.DataItemIndex+1 %>即可;然后再HeaderTemplate里拖入一个LinkButton控件,命名为lkbAddItemtext属性为“新增”,CommandName设置为“AddItem

此时就看到实现了图1中第一列的效果。

第四步:实现新增功能,我们的新增功能效果如图2所示,此处我们充分利用脚模版的功能,即在脚模版里放入我们的添加数据时需要的数据。

第二、三、四列的模版效果图4如下,这三列的FooterTemplate里的控件就是我们添加记录时所需要的
图4:

 

其中确定按钮的CommandName属性为“ItemSure”,取消按钮的CommandName属性为“ItemCancel”。实现代码如下:

   protected   void  GridView1_RowCommand( object  sender, GridViewCommandEventArgs e)
    
{
        
        
if (e.CommandName == "AddItem")//点“新增”按钮
        {
            GridView1.ShowFooter 
= true;
           
        }

        
if (e.CommandName == "ItemCancel")//点新增状态下“取消”按钮
        {
            GridView1.ShowFooter 
= false;
           
        }

        
if (e.CommandName == "ItemSure")//点新增状态下“确定”按钮
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值