|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?asp.net|datagrid|技能只管ASP.NETDataGrid是尽人皆知十分好的表格控件,不外,提起DataGrid的编纂功效,我们却不敢奉承了,就拿DataGrid的数据提交功效来讲,切实其实存在很年夜的成绩:在DataGrid中,每编纂一行就要提交一行,即所谓“单行编纂、单行提交”,如许的话,假如编纂的行数过量,不但用户操纵烦琐,还会形成对服务器的频仍会见,极年夜下降体系效力。
固然了,有一种借尸还魂的办理办法,那就是把所要编纂的内容转到其他的页中在TextBox中举行编纂。不外,细心想一想,这类办法岂非不是本人在骗本人吗,另有在Grid中我们编纂的时分总不克不及总是用Tab键来完成Grid(TextBox)之间的跳转吧,假如呼应回车事务,那末必要程序员华侈很年夜的精神来开辟。
怎样办理上述成绩呢?上面我向人人保举一个我正在利用的国产DataGrid:SmartGrid(天空软件站能够下载:http://www.skycn.com/soft/23547.html),这个控件我已用了好长的工夫了,如今来同人人切磋一下SmartGrid的多行提交的办法:SmartGrid并没有DataGrid中的那些按钮列而是全部的表单只要一个提交按钮,不管你变动了一行大概是多行都能够一次性的提交,上面来任意看点例子:
实例:
上图中是一个对照好的编纂的例子,例子显现,你能够编纂多行也能够编纂一行,然后一同举行提交。
代码:
修正按钮的代码:
privatevoidbtonSave_Click(objectsender,System.EventArgse)
{
this.DataGrid1.ReadOnly=false;//进进编纂
this.DataGrid1.AllowAdd=true;//同意增加
this.DataGrid1.AllowDelete=true;//同意删除
}
此段代码是smartgrid的独占的属性你能够设增加删除编纂的各类的功效
保留按钮的代码:
privatevoidButton2_Click(objectsender,System.EventArgse)
{
DataTablet=(DataTable)this.SmartGrid1.DataSource;
this.sqlDataAdapter1.Update(t);
t.Clear();
this.sqlDataAdapter1.Fill(t);
this.SmartGrid1.DataSource=t;
}
这是全体的把数据提交到数据库中,这类做法合适年夜数据量的情形
另有一种是数据逐行的提交到服务器
代码:
privatevoidbtonSave_Click(objectsender,System.EventArgse)
{
DataTabletb=(DataTable)this.SmartGrid1.DataSource;
SqlParameter[]parameters=newSqlParameter[5];
foreach(DataRowdrintb.Rows)
{
parameters[0]=newSqlParameter("@customerId",""+dr[1]+"");
parameters[1]=newSqlParameter("@companyName",""+dr[0]+"");
parameters[2]=newSqlParameter("@contactName",""+dr[2]+"");
parameters[3]=newSqlParameter("@contactTitle",""+dr[3]+"");
parameters[4]=newSqlParameter("@address",""+dr[4]+"");
//EamPd是类Execute是实行存储历程的函数parameters是存储历程所必要的参数
EamPd.Execute("CreatLayer",parameters);
}
}
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。 |
|