ASP.NET DataGrid的多行提交


尽管ASP.NET DataGrid是众所周知非常好的表格控件,不过,提起DataGrid的编辑功能,我们却不敢恭维了,就拿DataGrid的数据提交功能来说,的确存在很大的问题:在DataGrid中,每编辑一行就要提交一行,即所谓“单行编辑、单行提交”,这样的话,如果编辑的行数过多,不仅用户操作繁琐,还会造成对服务器的频繁访问,极大降低系统效率。
 
当然了,有一种借尸还魂的解决方法,那就是把所要编辑的内容转到其他的页中在TextBox中进行编辑。不过,仔细想想,这种方法难道不是自己在骗自己吗,还有在Grid中我们编辑的时候总不能老是用Tab键来实现Grid(TextBox)之间的跳转吧,如果响应回车事件,那么需要程序员浪费很大的精力来开发。
 
如何解决上述问题呢?下面我向大家推荐一个我正在使用的国产DataGrid:SmartGrid(天空软件站可以下载:http://www.skycn.com/soft/23547.html ),这个控件我已经用了好长的时间了,现在来同大家探讨一下SmartGrid的多行提交的方法:SmartGrid并没有DataGrid中的那些按钮列而是整个的表单只有一个提交按钮,无论你更改了一行或者是多行都可以一次性的提交,下面来随便看点例子:
 
实例:
 
 
上图中是一个比较好的编辑的例子,例子显示,你可以编辑多行也可以编辑一行,然后一起进行提交。
 
代码:
修改按钮的代码:
private void btonSave_Click(object sender, System.EventArgs e)
         {
              this.DataGrid1.ReadOnly = false;//进入编辑
              this.DataGrid1.AllowAdd = true;//允许添加
              this.DataGrid1.AllowDelete = true;//允许删除
         }
此段代码是smartgrid的独有的属性你可以设添加删除 编辑 的各种的功能
保存按钮的代码:
private void Button2_Click(object sender, System.EventArgs e)
         {
              DataTable t = (DataTable)this.SmartGrid1.DataSource;
 
              this.sqlDataAdapter1.Update(t);
             
              t.Clear();
 
              this.sqlDataAdapter1.Fill(t);
 
              this.SmartGrid1.DataSource = t;
         }
这是整体的把数据提交到数据库中,这种做法适合大数据量的情况
还有一种是数据逐行的提交到服务器
代码:
private void btonSave_Click(object sender, System.EventArgs e)
         {            
              DataTable tb=(DataTable)this.SmartGrid1.DataSource;
              SqlParameter[] parameters=new SqlParameter[5];
              foreach(DataRow dr in tb.Rows)
              {
                   parameters[0]=new SqlParameter("@customerId",""+dr[1]+"");
                   parameters[1]=new SqlParameter("@companyName",""+dr[0]+"");
                   parameters[2]=new SqlParameter("@contactName",""+dr[2]+"");
                   parameters[3]=new SqlParameter("@contactTitle",""+dr[3]+"");
                   parameters[4]=new SqlParameter("@address",""+dr[4]+"");
                   //EamPd 是类Execute是执行存储过程的函数parameters是存储过程所需要的参数
                   EamPd.Execute("CreatLayer",parameters);
              }            
         }
本文作者:



相关阅读:
Windows Server 2008添加Hyper-V组件
JavaScript延时效果比较不错的
asp.net ToString()格式设置大全
用sql语句实现分离和附加数据库的方法
CSS教程:CSS兼容的技巧
在DIV+CSS排版中新闻列表的制作方法
javascript实现的一个图片转移效果
CMD 运行指令
Vista系统IIS 7.0的技巧
让报表处理期初和期末之间的数据
工作中常用到的JS表单验证代码(包括例子)
RLCSS分词系统更新下载
ExtJS 2.0实用简明教程 之Border区域布局
VBS加密解密源码(UserAccounts.CommonDialog) 脚本之家修正版
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 建立(基层)荣誉党员制度刍议—关于建立 “荣誉党员”制度有关 一件倒霉的事作文300字 县残疾人工作会议领导讲话 竞聘审计科长演讲稿 善待人生作文550字 晚安图片 千万别自作聪明,要有自知之明 你是自在如风的少年 告诉你一件新鲜事作文600字 青年教师座谈会心得体会 宝贝别哭 毕业典礼通告 小学生必背古诗词鉴赏——74.题临安邸 清华园里的三峡石 碎语(三) 校园里的小花园作文250字 2015教师节班会演讲稿 研究性学习报告格式 2013年环保局党风廉政建设述职报告 霍金的故事——我们要热爱生命 我,只是一个喜欢文字的孩子 个体私营经济协会秘书长工作会上的讲话提纲 朋友,你误会我了350字 校本培训管理制度 巅峰对决 秦淮八艳柳如是的爱恨情仇 《爱学校,爱班级,爱老师》主题班会教案 送给前任的结婚祝福语 小学六年级作文1200字:小兔子飞飞离家出走 上 高中高二作文1000字:我是再生水 情以物迁,辞以情发——浅谈中学作文教学中的情感培养 《武松打虎》读书笔记200字 郭敬明《小时代2:青木时代》经典语录 小学六年级作文800字:老师的评语 在全县村通硬化路建设总结会上的讲话 听一听雨的诉说 2010年7月入党志愿书2篇 小枣树和小柳树(转载) 回不去的过往 蚁族奋斗语句 落在键盘上的泪如何编辑发送作文900字 池塘边的演唱会 这次,我做对了作文 我与新阳光的那点事 小学一年级作文350字:期中考试总结[四年级] [图文]中秋赏月 清晓红泪,孤寒离悰(思雨) 予是令人快乐的 以往的印象 我和外滩有个约会 我的好朋友黄日廷650字

Copyright © 2016 phpStudy |