gpt4 book ai didi

c# - 使用 SqlDataAdapter 分页 SqlDataReader 源

转载 作者:太空狗 更新时间:2023-10-29 22:32:59 24 4
gpt4 key购买 nike

这个问题似乎很常见,我经历了这个 answer已经。

不幸的是,我的页面仍然没有被分页。这是我的代码在 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();

不幸的是,当我这样做时,我的分页没有出现。我做错了什么吗?

谢谢

最佳答案

Databind() 方法被调用之前设置所有与分页相关的属性。当您使用自定义分页 时,您将必须处理GridView1_PageIndexChanging 事件。您需要更改当前的 PageIndex,然后像这样重新绑定(bind)您的 GridView:

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();
}

如果您还在 Page_Load 上绑定(bind)了 GridView,请这样做:

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
bindGridview();
}

关于c# - 使用 SqlDataAdapter 分页 SqlDataReader 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15981206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com