【问题标题】:show the count of records found in the asp listview显示在 asp 列表视图中找到的记录数
【发布时间】:2013-07-31 20:26:37
【问题描述】:

我认为这会更容易,但我似乎无法找到一个简单的解决方案。我有一个列表视图:

<asp:ListView ID="LVSearchResults" runat="server" DataSourceID="DSSearchResults">
    <ItemTemplate>
        <tr style="">
            <td>
                <asp:Label ID="PostDateLabel" runat="server" Text='<%# Eval("post_date") %>' />
            </td>
        </tr>
    </ItemTemplate>
    <LayoutTemplate>
        <table id="Table2" runat="server">
            <tr id="Tr1" runat="server">
                <td id="Td1" runat="server">
                    <table id="itemPlaceholderContainer" runat="server" border="0" style="">
                        <tr>
                            <th runat="server">Found Rows</th>
                        </tr>
                        <tr id="Tr2" runat="server" style="">
                            <th id="Th1" runat="server">Post Date</th>
                        </tr>
                        <tr id="itemPlaceholder" runat="server">
                        </tr>
                    </table>
                </td>
            </tr>
            <tr id="Tr3" runat="server">
                <td id="Td2" runat="server" style="">
                    <asp:DataPager ID="DataPager1" runat="server" PageSize="15">
                        <Fields>
                            <asp:NumericPagerField ButtonType="Link" ButtonCount="10" />
                        </Fields>
                    </asp:DataPager>
                </td>
            </tr>
        </table>
    </LayoutTemplate>
</asp:ListView>

我的数据源:

 <asp:Sqldatasource ID="DSSearchResults"  runat="server" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>"
     SelectCommand="usp_Search"
     SelectCommandType="StoredProcedure"
    >
 </asp:Sqldatasource>

我想做的是显示找到的记录数。所以列表视图看起来像:

Found 123 records
Post Date
6/1/13
6/2/13
etc.

我尝试使用 Container,但这似乎没有提供任何东西,谷歌搜索,也找不到太多。有什么建议吗?

【问题讨论】:

    标签: asp.net listview count


    【解决方案1】:

    只需在 Listview 上方(标记之外)放置一个文字(比您的标签更好),并在 DataBinding 时设置其 tekst 值。

    【讨论】:

      【解决方案2】:

      您可以尝试以下方法:

      HtmlTableCell th = (HtmlTableCell)LVSearchResults.FindControl("Th1");
      th.InnerText = "Found " + LVSearchResults.Items.Count.ToString() + " items.";
      

      但是因为您使用的是DataPager 控件,所以它将始终返回 15。因此,您可能希望使用数据源中的数据来更新单元格。也许如果您显示 DataSource,我可以告诉您如何从中获取它。

      【讨论】:

      • 谢谢,我在使用 Datapager 时也遇到了这个问题。我放了我的datasource,很简单,就是一个sql存储过程。
      【解决方案3】:

      这很容易 在您的代码隐藏中使用下面的代码来获取所有记录数

      Ctype(listview1.FindControl("DataPager1"),DataPager).TotalRowCount

      而不是 listview1 ,只写你的 listview 的 ID。 . .

      祝你好运

      【讨论】:

        猜你喜欢
        • 2011-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-21
        • 2018-03-21
        • 1970-01-01
        • 2018-03-27
        相关资源
        最近更新 更多