作者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/cn.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