ListView与DataPager问题VB.Net / ASP.NET

时间:2011-09-26 06:40:53

标签: asp.net vb.net listview datapager

我一直在寻找这个问题好几天,到目前为止,我已经尝试了许多流行的方法,绝对没有,我的列表视图在重新绑定之后就消失了。我将List(Of KeyValuePair(Of String,Integer))作为索引功能绑定到ListView。当我第一次绑定它时,它工作得很好,它显示了DataPager所需限制中的所有键和值对,但当我转向寻呼机时,listview消失了。

继续调用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

1 个答案:

答案 0 :(得分:1)

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

    }
  

这是C#代码,所以尝试在vb.net中使用寻呼机预渲染事件