5

この質問は一般的なようで、私はすでにこの回答を調べました。

残念ながら、私のページはまだページ化されていません。C# でのコードは次のようになります。

 SqlCommand command = new SqlCommand("(SELECT ......", Connection);
 SqlDataAdapter myAdapter = new SqlDataAdapter(command);
 DataTable dt = new DataTable();
 myAdapter.Fill(dt);

 command.Connection = connection;
 command.Connection.Open();

 GridView1.DataSource = dt;
 GridView1.DataBind();
 GridView1.AllowPaging = true;
 GridView1.PageSize = 15;

 command.Connection.Close();
 command.Connection.Dispose();

残念ながら、これを行うと、ページングが表示されません。私は何か間違ったことをしていますか?

ありがとう

4

2 に答える 2

6

メソッドが呼び出される前に、すべてのページング関連のプロパティを設定します。カスタム ページングDatabind()を使用する場合、イベントを処理する必要があります。現在の PageIndex を変更し、次のように再バインドする必要があります。GridView1_PageIndexChangingGridView

void bindGridview()
{
    SqlCommand command = new SqlCommand("(SELECT ......", Connection);
    SqlDataAdapter myAdapter = new SqlDataAdapter(command);
    DataTable dt = new DataTable();
    myAdapter.Fill(dt);

    command.Connection = connection;
    command.Connection.Open();
    GridView1.AllowPaging = true;
    GridView1.PageSize = 15;
    GridView1.DataSource = dt;
    GridView1.DataBind();


    command.Connection.Close();
    command.Connection.Dispose();
}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    bindGridview();
}

GridView on もバインドしている場合は、次のPage_Loadようにします。

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
        bindGridview();
}
于 2013-04-12T21:46:44.717 に答える
3

を有効にするには、 のPageIndexChangingイベントを追加する必要があります。GridViewpaging

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    bindGridview(); 
}
于 2013-04-12T21:48:47.887 に答える