日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

DataGrid的多行提交_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:DataGrid表頭不動,表身動
上次和海東兄討論了這個問題,但是他的表頭沒有線,所以用Div形式實現(xiàn)了,實現(xiàn)功能顯示表格,代碼如下(后臺.cs文件只要綁定數(shù)據(jù)就可以了,字段和前臺綁定的一致就OK了,在此不加贅述): <

盡管ASP.NET DataGrid是眾所周知非常好的表格控件,不過,提起DataGrid的編輯功能,我們卻不敢恭維了,就拿DataGrid的數(shù)據(jù)提交功能來說,的確存在很大的問題:在DataGrid中,每編輯一行就要提交一行,即所謂“單行編輯、單行提交”,這樣的話,如果編輯的行數(shù)過多,不僅用戶操作繁瑣,還會造成對服務(wù)器的頻繁訪問,極大降低系統(tǒng)效率。

當(dāng)然了,有一種借尸還魂的解決方法,那就是把所要編輯的內(nèi)容轉(zhuǎn)到其他的頁中在TextBox中進行編輯。不過,仔細(xì)想想,這種方法難道不是自己在騙自己嗎,還有在Grid中我們編輯的時候總不能老是用Tab鍵來實現(xiàn)Grid(TextBox)之間的跳轉(zhuǎn)吧,如果響應(yīng)回車事件,那么需要程序員浪費很大的精力來開發(fā)。

如何解決上述問題呢?下面我向大家推薦一個我正在使用的國產(chǎn)DataGrid:SmartGrid(天空軟件站可以下載:http://www.skycn.com/soft/23547.html ),這個控件我已經(jīng)用了好長的時間了,現(xiàn)在來同大家探討一下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的獨有的屬性你可以設(shè)添加刪除 編輯 的各種的功能

保存按鈕的代碼:
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;

}

這是整體的把數(shù)據(jù)提交到數(shù)據(jù)庫中,這種做法適合大數(shù)據(jù)量的情況

還有一種是數(shù)據(jù)逐行的提交到服務(wù)器

代碼:

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是執(zhí)行存儲過程的函數(shù)parameters是存儲過程所需要的參數(shù)

EamPd.Execute("CreatLayer",parameters);

}

}

分享:在ASP.NET中使用AJAX的簡單方法
  介紹   本文介紹了使用AJAX和ASP.NET編寫web應(yīng)用程序的一個簡單方法。同時,討論了使用AJAX的好處和不足。為了舉例說明,本文給出了相應(yīng)的JavaScript代碼和用C#.NET編寫的ASP.NET代碼。

來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
相關(guān).Net教程