0

データ テーブルを使用してデータを gridview にバインドしています。ページングを許可したいです。ページングを行うにはどうすればよいですか? これは私が使用した私のコードです。

            SqlConnection con = new SqlConnection(getconnectionString());
            SqlCommand cmd = new SqlCommand("Sps_pagingshow", con);
            con.Open();
            cmd.CommandType = CommandType.StoredProcedure;
            //cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
            //cmd.Parameters.AddWithValue("@PageSize", int.Parse(ddlPageSize.SelectedValue));
            //cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4);
            //cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output;

            IDataReader idr = cmd.ExecuteReader();
            GridView1.DataSource = idr;
            GridView1.DataBind();
            idr.Close();
            con.Close();
4

2 に答える 2

0

デフォルトのページングを許可するには、GridView の「OnPageIndexChanging」イベントを使用します。

protected void index_changing(object sender, GridViewPageEventArgs  e)
    {
        gridview.PageIndex = e.NewPageIndex;
    }

ありがとう。

于 2012-08-01T06:04:42.080 に答える
0

Datatable は切断されたアーキテクチャであるため、ページネーションをサポートしません。

msdn によると、GridView による自動ページングは​​、データ ソース、または ICollection インターフェイスまたはその子孫の 1 つ (つまり、Enumerable、Dictionary、List、Queue、Stack など) を実装するオブジェクトに対してのみサポートされています。

DataTable はこれらのカウントのいずれにも該当しないため、DataTable が自動ページングをサポートしていないという疑いは正しいです。ただし、学習したように、DataTable をプログラムでページングすることができます。もう 1 つの方法は、DataTable を使用して、ページングをサポートするコレクションを設定することです。

于 2012-08-01T06:01:52.847 に答える