2011-09-26 115 views
0

我一直在追捕這個問題好幾天,到目前爲止,我已經嘗試了很多流行的方法,絕對沒有,我的列表視圖只是在我重新綁定後消失。我爲ListView綁定List(KeyValuePair(Of String,Integer))作爲索引功能。當我第一次綁定它時,它很好地工作,它顯示DataPager所需限制中的所有鍵和值對,但當我轉向尋呼機時,listview消失。ListView與DataPager問題VB.Net/ASP.NET

繼承人當調用ListView上的PagePropertiesChanging時會發生什麼。

Me.DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, False) 
userInterface.DataPagerReBind(ListView1) 

和實際的ListView

<asp:ListView ID="ListView1" runat="server" EnableTheming="True" OnPagePropertiesChanging="ListView1_PagePropertiesChanging"> 
    <LayoutTemplate> 
     <table cellpadding="2" width="640px" border="1" ID="tbl1" runat="server"> 
     <tr id="Tr2" runat="server" style="background-color: #98FB98"> 
      <th id="Th1" runat="server">Test point name</th> 
      <th id="Th2" runat="server">Number of failed Test points</th> 
     </tr> 
     <tr runat="server" id="itemPlaceHolder" /> 
     </table> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <tr id="Tr1" runat="server"> 
     <td> 
      <asp:Label ID="VendorIDLabel" runat="server" Text='<%# Eval("key") %>' /> 
     </td> 
     <td> 
      <asp:Label ID="AccountNumberLabel" runat="server" Text='<%# Eval("value") %>' /> 
     </td> 
     </tr> 
    </ItemTemplate> 
</asp:ListView> 
<asp:DataPager ID="DataPager1" runat="server" PageSize="10" PagedControlID="ListView1" > 
    <Fields> 
     <asp:NextPreviousPagerField 
      ButtonType="Link" 
      ShowFirstPageButton="True" 
      ShowNextPageButton="False" 
      ShowPreviousPageButton="False" /> 
     <asp:NumericPagerField /> 
     <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" 
      ShowNextPageButton="False" ShowPreviousPageButton="False" /> 
    </Fields> 
</asp:DataPager> 

而且userInterface.DataPagerRebind剛剛重新綁定列表視圖到原始列表。 任何人都可以幫忙嗎?我真的在這裏迷路了,這讓我感到困擾很久,當我使用尋呼機時,listview消失了。 謝謝。對於userInterface.DataPagerReBind

定義:

Sub DataPagerReBind(ByRef listView1 As ListView) 
    listView1.DataSource = TestList 
    listView1.DataBind() 
End Sub 
+0

你能告訴使用尋呼機預渲染事件在其中創建/加載包含你的數據的TestList對象? – patmortech

回答

1
protected void DataPager1_PreRender(object sender, EventArgs e) 
    { 
     //Assign the updated datasource to your listview again 
     //Bind the listview. 

    } 

這是C#代碼,以便儘量在vb.net

+0

我試過了,調用userInterface.DataPagerReBind(Listview1)。仍然是相同的結果 –

+0

'userInterface.DataPagerReBind(Listview1)'!!這是什麼? –

+0

它以列表(中KeyValuePair(字符串,整數),並將其設置ListView1.DataSource,然後調用ListView1.Databind –