GridView 数据源不支持分页 该怎么解决分页功能? 错误问题解决方法是:“改成DataSet,不要使用SqlDataReader”但是我现在拿到的数据源是调用别人写的DLL中的一个方法,返回一个collection,然后绑定到GRIDVIEW。请问怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SqlDataReader 是不支持分页的,改成DataSet就OK了 试试这个public void dlBind() { int curpage = Convert.ToInt32(this.labPage.Text); PagedDataSource ps = new PagedDataSource(); sqlconn = myCon.getCon(); sqlconn.Open(); string sqlstr = "select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID"; SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlconn); DataSet ds = new DataSet(); MyAdapter.Fill(ds, "tb_Card"); ps.DataSource = ds.Tables["tb_Card"].DefaultView; ps.AllowPaging = true; //是否可以分页 ps.PageSize = 2; //显示的数量 ps.CurrentPageIndex = curpage - 1; //取得当前页的页码 this.lnkbtnUp.Enabled = true; this.lnkbtnNext.Enabled = true; this.lnkbtnBack.Enabled = true; this.lnkbtnOne.Enabled = true; if (curpage == 1) { this.lnkbtnOne.Enabled = false;//不显示第一页按钮 this.lnkbtnUp.Enabled = false;//不显示上一页按钮 } if (curpage == ps.PageCount) { this.lnkbtnNext.Enabled = false;//不显示下一页 this.lnkbtnBack.Enabled = false;//不显示最后一页 } this.labBackPage.Text = Convert.ToString(ps.PageCount); this.dlContent.DataSource = ps; this.dlContent.DataKeyField = "CardID"; this.dlContent.DataBind(); } protected void lnkbtnOne_Click(object sender, EventArgs e) { this.labPage.Text = "1"; this.dlBind(); } protected void lnkbtnUp_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1); this.dlBind(); } protected void lnkbtnNext_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1); this.dlBind(); } protected void lnkbtnBack_Click(object sender, EventArgs e) { this.labPage.Text = this.labBackPage.Text; this.dlBind(); } 你不是有collection吗每次点击翻页,你自己分析一下collection,然后把该显示的数据绑定给gridview不就可以了 用objectdatasource作为数据源就OK了! asp.net 子文件夹权限设置 .net2.0循环读取文件夹中的所有.txt文件中的内容 asp.net可发防mdb下载?为什么? owc柱状图颜色问题。 请各位高人指路!! 怎么进行逐语句调试 asp.net读取Excel文件 用datagrid动态生成列后,日期字段格式为“1990-8-20 0:00:00”怎样才能格式化为短日期??急呀!!!!!!!!! 各位大哥大姐帮个忙看看是什么问题,好急。。 关于删除datagrid中的记录! 【提问】问一个关于fckEditor2.6版本的上传问题~! bs模式下水晶报表的客户端打印
public void dlBind()
{
int curpage = Convert.ToInt32(this.labPage.Text);
PagedDataSource ps = new PagedDataSource();
sqlconn = myCon.getCon();
sqlconn.Open();
string sqlstr = "select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID";
SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlconn);
DataSet ds = new DataSet();
MyAdapter.Fill(ds, "tb_Card");
ps.DataSource = ds.Tables["tb_Card"].DefaultView;
ps.AllowPaging = true; //是否可以分页
ps.PageSize = 2; //显示的数量
ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
this.lnkbtnUp.Enabled = true;
this.lnkbtnNext.Enabled = true;
this.lnkbtnBack.Enabled = true;
this.lnkbtnOne.Enabled = true;
if (curpage == 1)
{
this.lnkbtnOne.Enabled = false;//不显示第一页按钮
this.lnkbtnUp.Enabled = false;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
this.lnkbtnNext.Enabled = false;//不显示下一页
this.lnkbtnBack.Enabled = false;//不显示最后一页
}
this.labBackPage.Text = Convert.ToString(ps.PageCount);
this.dlContent.DataSource = ps;
this.dlContent.DataKeyField = "CardID";
this.dlContent.DataBind();
}
protected void lnkbtnOne_Click(object sender, EventArgs e)
{
this.labPage.Text = "1";
this.dlBind();
}
protected void lnkbtnUp_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
this.dlBind();
}
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
this.dlBind();
}
protected void lnkbtnBack_Click(object sender, EventArgs e)
{
this.labPage.Text = this.labBackPage.Text;
this.dlBind();
}