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.

コンテナで遊んでみましたが、それは何も提供していないようで、グーグルで検索してもあまり見つかりませんでした。何かアドバイス?

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 の代わりに、 ur listview の ID を書きます。. .

幸運を

于 2016-06-17T08:28:39.473 に答える