2012-03-17 38 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

相關問題