作者renmax (竹科學友哥)
看板Visual_Basic
標題[.NET] GridView+SqlDataSource的分頁問題
時間Tue Mar 22 17:07:40 2016
請輸入專案類型(網站專案或者應用程式專案):VB.net VS2015
各位版友好
我使用DropDownList1、GridView1、GridView2加上SqlDataSource來製作這次的專案
首先,在DropDownList1_SelectedIndexChanged內
SqlDataSource1.SelectCommand = "SELECT ........ GROUP BY .... "
GridView1.DataSourceID = "Sqldatasource1"
接著,在GridView1_SelectedIndexChanged內
SqlDataSource2.SelectCommand = "SELECT ..... order by date"
GridView2.DataSourceID = "Sqldatasource2"
另外,也使用了<asp:CommandField ShowSelectButton="True" />
最後,希望按下GridView1的按鈕後,會顯示GridView2
但是按下第二頁(不管是GridView1或GridView2)時,GridView都會消失,無法顯示內容
雖然有在GridView1_PageIndexChanging和GridView2_PageIndexChanging內
有加上GridView1.PageIndex = e.NewPageIndex
GridView2.PageIndex = e.NewPageIndex
但依舊無效,是否有什麼地方是我沒有注意到的呢?
麻煩了,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.21.87
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1458637663.A.FB0.html
※ 編輯: renmax (61.216.21.87), 03/22/2016 17:08:02
1F:推 JohnYaEPen: 你要再給一次source 03/22 17:38
2F:→ JohnYaEPen: datasource 03/22 17:39
您好
我有試著將
SqlDataSource2.SelectCommand = "SELECT ..... order by date"
GridView2.DataSourceID = "Sqldatasource2"
放在GridView2_PageIndexChanging內,但依舊無法顯示出第二頁內容
※ 編輯: renmax (61.216.21.87), 03/22/2016 17:43:09
3F:推 JohnYaEPen: 我是都寫function撈資料fill到datatable裡,在把dt給G 03/22 18:44
4F:→ JohnYaEPen: V然後bind()你的用法我沒試過,或許你可以下中斷點看 03/22 18:44
5F:→ JohnYaEPen: 看,是不是在切頁撈資料的時候出問題,致使gv空白 03/22 18:44
6F:→ Ammenze: 在PageIndexChanging那邊下gridview.DataBind() 03/23 08:46
7F:→ renmax: 加上GridView.DataBind()依舊無法 @@" 03/23 10:25
8F:→ renmax: 寫function的話 是不是就要寫兩個 分別針對gv1和gv2呢? 03/23 10:36
9F:推 JohnYaEPen: 方便貼完整code在什麼地方嗎? sql可以不用 03/23 10:40
12F:推 JohnYaEPen: 暫時沒看出什麼問題,你可以下中斷點,然後取出TSQL 03/23 15:45
13F:→ JohnYaEPen: 然後用那段語法直接進DB撈,看看有沒有資料 03/23 15:45
14F:推 JohnYaEPen: 另外我發現你SqlDataSource1的大小寫沒有一致唷,但我 03/23 15:49
15F:→ JohnYaEPen: 不確定 大小寫沒一致是不是會影響 03/23 15:50
16F:推 JohnYaEPen: <asp:SqlDataSource ID="SqlDataSource1" > 03/23 15:52
17F:→ JohnYaEPen: GridView1.DataSourceID = "Sqldatasource1" 03/23 15:53
18F:推 JohnYaEPen: WHERE (member_id = ?) 這個是什麼意思@@? 03/23 15:58
19F:→ renmax: 類似於 member_id = @member_id 的意思 03/23 16:51
20F:→ renmax: 找到原因了 因為在PageIndexChanging內沒抓到ddl的時間值 03/23 16:57
21F:→ renmax: 不過 每個SUB內都要加上再抓DDL的日期 好像有點麻煩 03/23 16:58
22F:→ renmax: 不知道有沒有比較簡單的寫法@@? 謝謝 03/23 16:59
23F:推 JohnYaEPen: 下次可以善用中斷點,一步一步找問題會比較快~哈 03/23 17:23
24F:→ JohnYaEPen: 至於比較簡單的寫法我也不知道你的簡單的定義是什麼@@ 03/23 17:23
25F:→ JohnYaEPen: 你可以把一樣的sql拉出來外面定義,例如gv1sql = XXX 03/23 17:24
26F:→ JohnYaEPen: 最後Gv1.selectcommand = gv1sql 03/23 17:25
27F:→ JohnYaEPen: 然後寫一個帶參數的function 去設定gv1sql 03/23 17:26
28F:→ JohnYaEPen: function setsql(name, datefrom, dateto) 03/23 17:27
29F:→ JohnYaEPen: indexchange就去call function 03/23 17:27
30F:→ JohnYaEPen: 可以省掉一些重覆的東西,不過實際狀況還是看你怎麼用 03/23 17:27
31F:推 JohnYaEPen: 但是我是建議你撈資料的東西寫在App_Code的class裡 03/23 17:30
32F:→ JohnYaEPen: 比較方便,其他支要用就不用再寫一次了 03/23 17:30