国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

C#與SQL連接:GridView控件對(duì)數(shù)據(jù)庫(kù)的操作

2020-01-24 03:36:09
字體:
供稿:網(wǎng)友

GridView和DataGrid的異同

GridView 是 DataGrid的后繼控件,在.net framework 2 中,雖然還存在DataGrid,但是GridView已經(jīng)走上了歷史的前臺(tái),取代DataGrid的趨勢(shì)已是勢(shì)不可擋。GridView和DataGrid功能相似,都是在web頁(yè)面中顯示數(shù)據(jù)源中的數(shù)據(jù),將數(shù)據(jù)源中的一行數(shù)據(jù),也就是一條記錄,顯示為在web頁(yè)面上輸出表格中的一行。

GridView相對(duì)于DataGrid來說,具有如下優(yōu)勢(shì),功能上更加豐富,因?yàn)樘峁┝酥悄軜?biāo)記面板(也就是show smart tag)更加易用方便,常用的排序、分頁(yè)、更新、刪除等操作可以零代碼實(shí)現(xiàn)!具有PagerTemplate屬性,可以自定義用戶導(dǎo)航頁(yè)面,也就是說分頁(yè)的控制更加隨心所欲。GridView和DataGrid在事件模型上也多有不同之處,DataGrid控件引發(fā)的都是單個(gè)事件,而GridView控件會(huì)引發(fā)兩個(gè)事件,一個(gè)在操作前發(fā)生,一個(gè)在操作后發(fā)生,操作前的事件多位***ing事件,操作后的事件多位***ed事件,比如Sorting 事件和sorted 事件,RowDeleting和RowDeleted事件。

GridView操作初步

1、顯示數(shù)據(jù)源中的數(shù)據(jù)

從ToolBox中選取GridView控件拖到頁(yè)面上,然后點(diǎn)擊右鍵,選擇Show Smart Tag,在Choose Data Source中選擇 New Data Source, 出現(xiàn)Data Source Configuration Wizard,選擇連接字符串,可以選擇已經(jīng)存放在web.config中的ConnectionString ,然后可以選擇是使用存儲(chǔ)過程,還是從表或視圖中選擇數(shù)據(jù)。

在這一步,左側(cè)的Where語句可以指定查詢條件,點(diǎn)擊Where,出現(xiàn)Add Where Clause ,選擇要設(shè)定條件的列,操作符是等于還是like還是其它,然后選擇Source,也就是說要限定的條件從哪里取值,可以是Control、Session、Form、Cookie、QueryStirng等,如果選擇Control,那么需要在右側(cè),選中是那個(gè)控件,然后還可以設(shè)定默認(rèn)值,設(shè)定完后系統(tǒng)自動(dòng)生成Sql 表達(dá)式和值的表達(dá)式,此時(shí)點(diǎn)擊Add按鈕,完成條件的添加,Where Cluase下出現(xiàn)剛剛添加的條件。如果沒有點(diǎn)擊Add,很容易設(shè)定了條件,但是因?yàn)闆]有添加到Where子句中,所以不起作用。

在這一步,左側(cè)的Order By,可以讓我們?cè)O(shè)定排序列,就是我們?nèi)〕龅挠涗浺凑帐裁磁蛇d,可以設(shè)定三個(gè)列,是升序還是降序。

在這一部,左側(cè)的Advanced,可以設(shè)定Advanced Sql Generation Options,這里可以生成這個(gè)查詢的Insert、update、Delete語句,當(dāng)然,前提是您選擇的字段中必須包含了主鍵。當(dāng)您想在GridView中不編寫任何代碼實(shí)現(xiàn)對(duì)表格的編輯、刪除等操作時(shí),就必須在配置數(shù)據(jù)源時(shí),在這里生成Insert、Update、Delete這些語句。 GridView中編輯刪除等操作的零代碼,就是根據(jù)配置數(shù)據(jù)源時(shí)自動(dòng)生成的這些語句來完成數(shù)據(jù)源的更新刪除等操作的。

在最后一步,您可以測(cè)試一下您剛剛生成的查詢是否正確,最后點(diǎn)擊完成,數(shù)據(jù)已經(jīng)出現(xiàn)在頁(yè)面上了,按Ctrl+F5運(yùn)行。

恭喜您!您已經(jīng)會(huì)使用Asp.net來顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù)了。

2、讓GridView可以分頁(yè)

GridView把數(shù)據(jù)顯示出來了,但是那么多條記錄羅列到一頁(yè)上是不合適的,我們應(yīng)該對(duì)數(shù)據(jù)進(jìn)行分頁(yè)。還記得在asp時(shí)代,分頁(yè)是多么的麻煩,需要編寫很多的代碼,而且各種分頁(yè)組件也應(yīng)運(yùn)而生。而在GridView中,您會(huì)發(fā)現(xiàn),分頁(yè)是如此的簡(jiǎn)單,只需要您輕點(diǎn)鼠標(biāo),在Show Smart Tag中,選中Enable Paging,表格的分頁(yè)操作變完成了,是不是So Easy呢。

并不是什么數(shù)據(jù)源都可以讓GridView實(shí)現(xiàn)自動(dòng)分頁(yè)的,比如如果DataSourceMode是DataReader,就無法實(shí)現(xiàn)自動(dòng)分頁(yè)。而且只有ObjectDataSource是界面級(jí)別的支持分頁(yè),類似我們常用的SqlDataSource都是先提取所有的記錄,然后只顯示本頁(yè)需要顯示的記錄,然后拋棄其余的記錄,都有點(diǎn)浪費(fèi)資源的啦!

當(dāng)GridView的AllowPaging屬性設(shè)置為True的時(shí)候,我們實(shí)現(xiàn)了分頁(yè),我們還可以對(duì)分頁(yè)進(jìn)行一些個(gè)性化的設(shè)置。常用的屬性包括:PageIndex

主站蜘蛛池模板: 吉安县| 河间市| 建阳市| 漳浦县| 确山县| 台南市| 沂南县| 绥化市| 万州区| 包头市| 榆树市| 互助| 紫阳县| 平罗县| 安顺市| 常宁市| 蒙城县| 瓦房店市| 忻州市| 福泉市| 东山县| 师宗县| 图们市| 石嘴山市| 建阳市| 武平县| 含山县| 保靖县| 彭州市| 宝鸡市| 托里县| 英德市| 新化县| 靖宇县| 名山县| 安塞县| 二手房| 上蔡县| 延川县| 陕西省| 龙川县|