2012-03-17 60 views
0

我有点迷失在概念如何实现我想要做的事情。如何允许在gridview上使用自定义数据绑定进行分页?

我有一个gridview,一个CheckBoxList的。我绑定page_load上的gridview。每次用户选择一个复选框列表,gridview重新绑定。我现在有这样的事情。这不是实际的代码。非常感谢。

aspx页面。

<asp:gridview allowpaging="true" pagesize="30" gridview> 

aspx.vb页

page_load 

    get datatable from database 
    gridview.datasource = datatable 
    gridview.databind() 

    Sub checkboxlist_selectedindexchange 

    dim selected = checkboxlist.selecteditem.tostring()  
    Dim selecteddatatable = datatable.select(columns() = selected).copytodatatable() 

    Sub gridview_Pageindexchanging 

    gridview.pageindex = e.newpageindex 
    gridview_databind() 

    Sub gridview_databind() 

    ?????????? 

所以,我该怎么把这里为了让分页?基本上,我在上面的例子中有2个数据表。在实际的代码中,我有大约5个数据表和4个checkboxlists。我无法使用Datasource控件。我需要在代码隐藏中执行它,因为所有的代码已经存在。

谢谢。

回答

0

你gridview_databind功能应该再次载入数据,像你这样的Page_Load事件。由于您在gridview_PageIndexchanging事件中的datagrid上设置了pageIndex,因此它将知道绑定数据时要显示的页面。

private sub gridview_databind() 
    get datatable from database 
    gridview.datasource = datatable 
    gridview.databind() 
End Sub 
+0

感谢您的回复Dave D,我无法真正做到这一点。我不认为你理解我的问题。在用户使用复选框列表进行选择之后,page_load上有一个数据表以及数据更改。我尝试使用,以获得当前的DataTable ... 昏暗的数据表作为数据表= TryCast(gridview1.datasource,数据表),但它只是没有返回所有的时间。 – lawphotog 2012-03-17 22:07:14

+0

不幸的是,你不能在回发后获取gridview1.datasource。 – 2012-03-21 11:06:28

+0

谢谢.. Dave D, – lawphotog 2012-03-23 15:16:24

相关问题