0

ページに GridView asp サーバー コントロールがあり、その AllowPaging を true に設定しました。ここで、行全体にループしたいのですが、定義した PageSize の数までしか反復しません。

aspコードは次のとおりです。

 <asp:GridView ID="gvName" runat="server" AllowPaging="True" PageSize="5" AutoGenerateColumns="True"></asp:GridView>

コードビハインドは次のとおりです。

 List<string> list = new List<String>();
    for(int x = 0; x <= 9; x++)
    {
        list.Add("Name " + (x + 1).ToString()); 
    }

    gvName.DataSource = list;
    gvName.DataBind();

foreach(GridViewRow row in gvName.Rows)
{
    // gvName.Rows.Count only returns 5 instead of the total number of its record that is 10
}

どんな種類の答えでも前もって感謝します。

4

2 に答える 2

3

これは、ページングがどのように機能するかについてのバグではなく機能です。ページの読み込みごとにx行しか読み込まれません。達成する必要があることに応じて、次のいずれかを実行できます。

  1. ページを読み込むたびに行を循環します(とにかく表示されている行だけを気にする必要があるからですよね?)
  2. リストオブジェクトまたはGridView.DataSource(最初に適切なタイプにキャスト)を使用して、実際のデータソースを循環します。
于 2012-07-04T09:19:38.627 に答える
0

グリッドイベントOnRowDataBoundイベントを使用して、行で必要なすべての作業を実行します

カウントを取得するには、次を使用します。int count = list.Count;

于 2012-07-04T09:21:46.840 に答える