1、在使用GridView时,想用一个按钮控制GridView中数据是分页显示,还是单页显示,代码如下:
- protected void btPage_Click(object sender, EventArgs e)
- {
- if (this.gvAccount.VisibleRowCount < 1)
- {
- return;
- }
- if (this.btPage.Text == "取消分页")
- {
- gvAccount.SettingsPager.Visible = false;
- gvAccount.SettingsPager.PageSize = 10000000;
- //控制右侧滚动条
- if (gvAccount.VisibleRowCount < 11)
- {
- gvAccount.Settings.ShowVerticalScrollBar = false;
- }
- else
- {
- gvAccount.Settings.ShowVerticalScrollBar = true;
- gvAccount.Settings.VerticalScrollableHeight = 255;
- }
- btPage.Text = "应用分页";
- }
- else
- {
- gvAccount.SettingsPager.Visible = true;
- gvAccount.SettingsPager.PageSize = 10;
- gvAccount.Settings.ShowVerticalScrollBar = false;
- gvAccount.SettingsPager.Summary.Text = "第 {0} 页,共 {1} 页 (每页 10 条,共 {2} 条)";
- btPage.Text = "取消分页";
- }
- }
这个程序是没有问题的,但是,当时,我把这个按钮还有GridView放到了Updatepanel中。
点击“取消分页”按钮,页面正常。但是,再点击“应用分页”的时候,显示分页,但是,分页栏居左了,而且右侧滚动条没有完全消失。
找了好久没找到是什么原因,最后发现是 updatepanel的问题,在里面添加“取消分页”按钮触发回送即可
- <Triggers>
- <asp:PostBackTrigger ControlID="btPage" />
- </Triggers>