ListView с проблемой DataPager VB.Net / ASP.NET - PullRequest
0 голосов
/ 26 сентября 2011

Я выискивал эту проблему в течение нескольких дней, поэтому я попробовал много популярных методов, абсолютно ничего, мой список просто исчезает после повторного связывания.Я привязываю List (Of KeyValuePair (Of String, Integer)) для функции индексирования к ListView.Когда я впервые связываю его, он работает хорошо, он показывает все пары ключей и значений в необходимых пределах DataPager, но когда я обращаюсь к пейджеру, представление списка исчезает.

Вот что происходит, когда вызывается PagePropertiesChanging для ListView.

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 просто связывает просмотр списка с исходным списком.Кто-нибудь может помочь?Я действительно потерял здесь, это беспокоит меня так долго, просмотр списка просто исчезает, когда я использую пейджер.Спасибо.

Определение для userInterface.DataPagerReBind:

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

1 Ответ

1 голос
/ 26 сентября 2011
 protected void DataPager1_PreRender(object sender, EventArgs e)
    {
       //Assign the updated datasource to your listview again
       //Bind the listview.

    }

Это код C #, поэтому попробуйте использовать событие prerender для пейджера в vb.net

...