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 交通频道 作文范文 教育格言经典语录 被天使抛弃的滋味作文600字 作文 我为奥运喝彩 十年前、十年间、十年后. 空虚作文900字 我不想长大,也不想去懂这些作文700字 美女CEO王潇自述的创业经历和女性励志感悟 一个肺癌患者的励志故事:与癌症共舞 一共4年 你会等我吗? 第一次秋游 我学会新招了 初中初一作文650字:军训结束后 伤感非主流日志:无法拾起,那就丢弃 开心元宵节 看图写话 课间活动 认知自我就会变得勇敢 大自然的绿550字 忙碌的周四,奇怪的面试 《我的老师》读后感600字3篇 生活其于安好 计算机应用与维护专业个人求职简历 人生没有重来 反蜗居生活法 跛足拜伦不屈于命运的励志故事 怎么学好语文作文 少先队建队62周年演讲稿 司法厅长在安置帮教工作会议上的讲话 2016简短幽默搞笑自我介绍 盼望心情好的句子 埋藏在我们心底的梦作文 去杨凌作文200字 2015经典爱情哲理句子 童年 刘书政作文500字 简单的人不平庸 商务部行政处罚决定书范文 副校长2014年度述职报告 烛光·清风·柔情 小学三年级作文450字:爱护小动物 区公安局长述廉述职报告 免费2007年高考语文第一轮复习:语病 秋风中的遗憾 小学五年级作文550字:第一次被冤枉 天台墙头的黑鸽 小学生德育工作计划 小学六年级作文800字:热心桑梓,情满侨乡——王奶奶的故事 基层干部教育培训调研报告 初中初三作文600字:保护我们共有的家园 小学三年级作文450字:傻事 学校德育工作材料 在中央党校汇报会上的发言

Copyright © 2016 phpStudy |