☆ 有些事現在不做,就一輩子都不會做了 ☆

最新回應

若在頁面中包含了一個 GridView 及 DetailsView 控制項,當 GridView 選取某一筆時,希望在 DetailsView 中顯示那一筆的詳細資料。一般的作法會讓 GridView 及 DetailsView 會繫結各別獨立的 SqlDataSoruce,當 GridView 選取時就以主鍵去對 DetailsView 的 SqlDataSource 做篩選資料的動作。

不過本文的作法不同,讓 GirdView 與 DetailsView 繫結到同一個 SqlDataSource,而且只要撰寫很少的程式碼,就可以達到 GridView 與 DetailsView 連動的需求。

以 Northwind 資料庫的 Products 資料表為資料來源,首先在頁面放置一個 SqlDataSource 控制項。頁面左邊放置一個 GridView,GridView啟用分頁及選取。頁面右邊放置一個 DetailsView,並啟用編輯。GridView 與 DetailsView 繫結到同一個 SqlDataSource。

ASPX檔案的內容如下

當 GridView 選取資料列時會觸發 SelectedIndexChanging 事件,在這個事件中以 GridView 的 NewSelectedIndex 為基準去計算 DetailsView 對應的 PageIndex 即可。

執行結果如下,首先 GirdView 切換到第2頁,選取 GirdView 中 ProductID 為 15 的資料列時,DetailsView 也同步顯示同一筆資料。可在 DetailsView 中編輯此筆資料儲存後,GirdView 的資料也會同步更新。


DotBlogs Tags: DetailsView GridView SqlDataSource

回應

  • Swabasic 2008/8/21 下午 03:56 回覆

    # re: GridView 與 DetailsView 連動 - 繫結同一個 SqlDataSource

    不好意思,可不可以寄檔案給我,
    因為有點不太懂,想看看原始檔案是怎樣。= =!

  • jeff377 2008/8/21 下午 08:27 回覆

    # re: GridView 與 DetailsView 連動 - 繫結同一個 SqlDataSource

    to Swabasic :
    本文中已經是完整的程式碼了。

  • Anna 2008/9/15 下午 12:34 回覆

    # re: GridView 與 DetailsView 連動 - 繫結同一個 SqlDataSource

    大大你好~~
    我照你的方法作~~
    在GirdView 選取一筆資料後
    DetailsView 也有同步顯示同一筆資料

    但是在第一筆資料編輯完成後
    我要在GirdView 選取第二筆資料時
    DetailsView 卻一直顯示前一筆資料
    無法同步
    請問為何會這樣?
    謝謝!!


*標 題:

*姓 名:

 電子郵件: (將不會被顯示)

 個人網頁:

*回應

登入後使用進階評論

Please add 6 and 2 and type the answer here: