小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

在GridView中使用DropDownList模板列

 狂人隱士 2012-09-16

本文介紹在GridView中使用DropDownList模板列時(shí),DropDownList從數(shù)據(jù)庫(kù)主鍵表顯示數(shù)據(jù),并雙向綁定外鍵的問(wèn)題。

1.問(wèn)題描述

數(shù)據(jù)庫(kù)TestDB中表結(jié)構(gòu)如下:

班級(jí)表 ClassClassID,ClassName

ClassID

ClassName

1

一班

2

二班

3

三班

4

四班

 

學(xué)生表 StudentStuID,StuName,ClassID

StuID

StuName

ClassID

1

張三

1

2

李四

1

3

王五

2

4

趙六

2

 

其中在Student.ClassID上建立外鍵約束,參照主鍵為Class.ClassID

創(chuàng)建視圖view_Student

Create View view_Student As

SELECT dbo.Student.StuID, dbo.Student.StuName, dbo.Student.ClassID,

      dbo.Class.ClassName

FROM dbo.Student INNER JOIN

      dbo.Class ON dbo.Student.ClassID = dbo.Class.ClassID

 

本文要解決的問(wèn)題是,將學(xué)生姓名和班級(jí)顯示到GridView中(取自視圖),在點(diǎn)“編輯”按鈕進(jìn)入編輯狀態(tài)后,班級(jí)列使用DropDownListClass表中的所有班級(jí)名稱(chēng)顯示出來(lái),修改學(xué)生姓名和選擇班級(jí)后,選擇“更新”按鈕可以更新Student表中的數(shù)據(jù)。效果如下圖所示。

2.實(shí)現(xiàn)

(1)       新建一個(gè)ASP.NET網(wǎng)站,并新建GVTemplate.aspx網(wǎng)頁(yè)。

(2)       在網(wǎng)頁(yè)中拖入一個(gè)GridView,然后選擇數(shù)據(jù)源為“<新建數(shù)據(jù)源…>”。

(3)       選擇數(shù)據(jù)源類(lèi)型為數(shù)據(jù)庫(kù),數(shù)據(jù)源ID使用默認(rèn)的SqlDataSource1,確定。

(4)       在數(shù)據(jù)庫(kù)連接中,選擇“新建連接”按鈕,彈出新建連接的對(duì)話(huà)框。

(5)       服務(wù)器名輸入“localhost”,選擇前面創(chuàng)建的表和視圖所在的數(shù)據(jù)庫(kù),我的是TestDB,確定。

(6)       點(diǎn)擊“下一步”按鈕,將連接字符串存放在配制文件中,名字取默認(rèn)的“TestDBConnectionString”,下一步。

(7)       在配制Select語(yǔ)句界面,選擇“指定自定義SQL語(yǔ)句或存儲(chǔ)過(guò)程”,下一步。

(8)       出現(xiàn)的“定義自定義語(yǔ)句或存儲(chǔ)過(guò)程”對(duì)話(huà)框中,上面有四個(gè)選項(xiàng)卡,分別是SelectInsert、UpdateDelete,本例我們只顯示和修改,因此只填寫(xiě)SelectUpdate語(yǔ)句。

(9)       選擇Select選項(xiàng)卡,輸入語(yǔ)句:SELECT view_Student.* FROM view_Student。該語(yǔ)句從視圖中選擇數(shù)據(jù)。

(10)   選擇Update選項(xiàng)卡,輸入語(yǔ)句:UPDATE Student SET StuName = @StuName, ClassID = @ClassID WHERE (StuID = @original_StuID)。該語(yǔ)句修改表StudentStuNameClassID

(11)   選擇“下一步”,然后點(diǎn)“完成”按鈕,這樣就創(chuàng)建了綁定的數(shù)據(jù)源。

(12)   選中新創(chuàng)建的數(shù)據(jù)源“SqlDataSource1”,找到其OldValuesParameterFormatString屬性,將屬性值修改為original_{0}。這樣在編輯狀態(tài)選擇“更新”時(shí),Update語(yǔ)句中的@original_StuID就會(huì)取更新前舊值,而@StuName@ClassID會(huì)取輸入的新值。

(13)   選擇GridView,確認(rèn)其DataKeyNames屬性的值為StuID。

(14)   GridViewAutoGenerateEditButton屬性設(shè)置為true,為GridView增加編輯按鈕。

(15)   找到GridViewColumns屬性,點(diǎn)擊后面的“”按鈕,彈出“字段”對(duì)話(huà)框。

(16)   在“選定的字段”列表框中,只保留StuName列,其它列刪除,并將該列的HeaderText屬性改為“姓名”。

(17)   在“可用字段”列表中,選擇最下面的TemplateField,選擇“添加”按鈕,這樣就將一個(gè)模板列加入到了選定的字段中,將其HeaderText屬性改為“班級(jí)”,確定。

(18)   GridView上點(diǎn)右鍵,選擇“編輯模板/Column[1]-班級(jí)”菜單,進(jìn)入模板列編輯模式,本例需要修改的是ItemTemplateEditItemTemplat

(19)   從工具箱拖一個(gè)labelItemTemplate中,該Label用于在瀏覽模式下顯示班級(jí)名稱(chēng)。

(20)   在此Label上點(diǎn)擊右鍵,選擇“編輯DataBindings”菜單,選中可綁定屬性中的“Text”,然后在右邊的“綁定到”中選擇“ClassName”,確定。

(21)   從工具箱拖一個(gè)DropDownListEditItemTemplate中,然后選擇“選擇數(shù)據(jù)源”菜單,彈出的選擇數(shù)據(jù)源對(duì)話(huà)框中,按照前面所述新建一個(gè)數(shù)據(jù)源,此數(shù)據(jù)源只需輸入Select語(yǔ)句:SELECT Class.* FROM Class,其它三個(gè)語(yǔ)句不必輸入。

(22)   新建數(shù)據(jù)源完成后,在“選擇數(shù)據(jù)源”的最后一步,將“DropDownList中顯示的字段”選擇為“ClassName”,“DropDownList值選擇的字段”為“ClassID”,確定。

(23)   然后選擇DropDownList的“編輯DataBings”,選擇可綁定屬性“SelectedValue”,綁定到ClassID,注意“雙向數(shù)據(jù)綁定”項(xiàng)前要打上勾,確定。

(24)   結(jié)束模板編輯,運(yùn)行,點(diǎn)擊某行的編輯按鈕察看結(jié)果,然后選擇另外的班級(jí)后,選擇更新按鈕,察看結(jié)果。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多