ASP.NET2.0利用Gridview實現(xiàn)主從關(guān)系
2006/11/30 13:52:01

首先我們來看下如何使用gridview實現(xiàn)一個 master -detail主從關(guān)系的應(yīng)用,以實現(xiàn)一對多的關(guān)系,因為這是十分普遍的web應(yīng)用。在asp.net 1.1中,可能要編寫比較多的代碼以實現(xiàn)這樣的應(yīng)用,但在asp.net 2.0中,已經(jīng)可以很方便地實現(xiàn)這樣的主從關(guān)系的應(yīng)用了。下面分步來介紹:

  我們以sql server2000中的northwind數(shù)據(jù)庫為例子進行介紹。該數(shù)據(jù)庫中存在很多一對多關(guān)系的例子。這里,我們以products表和order detail表予以介紹。其中,我們實現(xiàn)這樣的一個應(yīng)用,通過dropdownlist下拉框,當(dāng)用戶每次選擇一種商品時,可以馬上通過gridview顯示在所有的訂單中,有哪些訂單中曾經(jīng)訂購了該商品,兩表構(gòu)成典型的一對多關(guān)系。

  首先,我們要先將商品從product表中取出來,并綁定到dropdownlist中去。我們拖拉一個sqldatasource控件到窗體中去,命名為productListingDataSource,然后設(shè)置將product表的productid,productname字段取出,并按照productname進行排序,然后再拖拉一個dropdownlist控件到窗體中,點選該控件的smarttag智能標(biāo)記,在彈出的菜單中,選擇data source為剛才加入的sqldatasource的名稱(就是productListingDataSource),并選擇productname作為在下拉框中要顯示的文本,同時,要將prodcutid設(shè)置為下拉框的選定值。如下圖所示:
 

  接下來,我們再拖拉一個sqldatasource控件到窗體中去,命名為orderDetailsForProduct,在這個控件中,我們將其綁定到order detail表中,由于不需要返回所有的字段,所以我們只需要返回orderid,unitprice和quantity三個字段就可以了,并且我們需要與dropdownlist構(gòu)成關(guān)聯(lián),所以我們要設(shè)置適當(dāng)?shù)膕ql語句.在asp.net 2.0中,這個也可以通過菜單的操作予以實現(xiàn)。

  我們在設(shè)置sqldatasource屬性的時候,當(dāng)遇到如下圖所示的步驟時,點選"where "按鈕.


  在點"where"按鈕后,在彈出的菜單中(如下圖所示),設(shè)置column為productid, 設(shè)置操作符operator為"=",設(shè)置source下拉框的值為control,表示要與來自控件的值進行綁定,選擇后,再在右邊的parameter properties屬性窗口中的conrol id設(shè)置為剛才我們添加dropdownlist控件名的名稱,最后,記得按"add"按鈕,這樣,就設(shè)置好sql語句了.
   

  最后,增加一個gridview控件,將其于剛才添加的名為orderDetailsForProduct的數(shù)據(jù)源控件綁定.這樣就大功告成了.運行后,結(jié)果如下圖所示:
  

 

  可以看到,當(dāng)選擇dropdownlist中的不同商品時,gridview會顯示涉及該商品的不同訂單的詳細資料.程序的代碼如下:

<form id="form1" runat="server">
 <div>
 <h2>You are Viewing Order Detail Information for Orders
that Have Included Shipments of the Selected Product</h2>
 <asp:SqlDataSource ID="productListingDataSource"
    Runat="server" ConnectionString=
     "<%$ ConnectionStrings:NWConnectionString %>"
     SelectCommand="SELECT [ProductID],
     [ProductName] FROM [Products]">
 </asp:SqlDataSource>
 <asp:DropDownList ID="productSelector" Runat="server"
   DataSourceID="productListingDataSource"
   DataTextField="ProductName" DataValueField="ProductID"
   AutoPostBack="True">
 </asp:DropDownList>
 <asp:SqlDataSource ID="orderDetailsForProduct" Runat="server"
   SelectCommand="SELECT [OrderID], [ProductID], [UnitPrice],
   [Quantity] FROM [Order Details] WHERE ([ProductID] =
   @ProductID)"
   ConnectionString=
     "<%$ ConnectionStrings:NWConnect

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 一级毛片人与动免费观看| 亚洲高清美女一区二区三区| 精品一久久香蕉国产二月| 夜夜影院未满十八勿进| 中文字幕乱码中文字幕| 最新亚洲精品国自产在线观看| 亚洲精品一二区| 精品一区二区三区免费视频| 国产乱子伦农村xxxx| 精品91自产拍在线| 国产精品视频a| jizzjizz18日本人| 成年丰满熟妇午夜免费视频| 久久精品亚洲一区二区三区浴池| 欧美怡红院免费全部视频| 人人澡人人透人人爽| 精品无码av无码免费专区| 国产主播在线一区| 国产香蕉在线精彩视频| 国产精品无码专区在线观看| 99国产精品视频久久久久| 婷婷六月天在线| 中文字幕日韩在线观看| 日本视频一区在线观看免费| 亚洲av午夜成人片| 欧美极品JIZZHD欧美| 人妖互交videossex| 精品久久久久久久99热| 四虎影视永久地址www成人| 野花社区视频www| 国产成人aaa在线视频免费观看| 亚洲自拍欧美综合| 国产精品女同一区二区| 91精品国产乱码久久久久久| 天堂网www在线资源中文| 一个人看的www在线高清小说| 成人欧美一区二区三区| 久久91精品国产91| 日本三级香港三级人妇99 | 欧美日韩第三页| 国产精品亚洲综合一区在线观看|