0

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

<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,但这似乎没有提供任何东西,谷歌搜索,也找不到太多。有什么建议吗?

4

3 回答 3

0

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

于 2013-07-31T20:28:10.483 回答
0

您可以尝试以下方法:

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

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

于 2013-07-31T21:05:20.293 回答
0

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

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

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

祝你好运

于 2016-06-17T08:28:39.473 回答