我认为这将是更好的,但我似乎找不到一个简单的解决方案。我有一个列表视图:
<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.
我试过玩容器,但似乎没有提供任何东西,谷歌搜索,也找不到多少。有什么建议吗?
答案 0 :(得分:0)
只需在Listview上方(标记之外)放置一个文字(优于您的标签),并在DataBinding时设置其tekst值。
答案 1 :(得分:0)
您可以尝试以下操作:
HtmlTableCell th = (HtmlTableCell)LVSearchResults.FindControl("Th1");
th.InnerText = "Found " + LVSearchResults.Items.Count.ToString() + " items.";
但是因为你正在使用DataPager
控件,所以它总是会返回15.所以也许你想要使用数据源中的数据来更新单元格。也许如果您展示DataSource,我可以告诉您如何从中获取它。
答案 2 :(得分:0)
Ctype(listview1.FindControl(&#34; DataPager1&#34;),DataPager).TotalRowCount
而不是listview1,只需写下你的listview的ID。 。
祝你好运