下面这个方法也写了 我把显示gridview数据的方法写在plage_load事件里 在生成的页面上点击第2、3页就好用 而且我把显示gridview数据的方法写在一个按钮事件里,当面页面生成后 我点面页面上的按钮可以显示出girdview的数据,但是点击第2、3页的时候 此时页面就为空了 不显示第2、3页的数据呢?请问是怎么回事?protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
} string sqlSelect;
sqlClass sqlObject = new sqlClass();
sqlSelect = "select * from 问题答案表";
DataSet dtData = new DataSet();
dtData = sqlObject.ds(sqlSelect);
GridView1.DataSource = dtData;
GridView1.DataBind();
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
} string sqlSelect;
sqlClass sqlObject = new sqlClass();
sqlSelect = "select * from 问题答案表";
DataSet dtData = new DataSet();
dtData = sqlObject.ds(sqlSelect);
GridView1.DataSource = dtData;
GridView1.DataBind();
解决方案 »
- 插入数据到ACCESS,运行到63条时就会出现“未指定错误”
- 二维Array转化为ArrayList
- .net2008(winform)中的DataGridView分组显示的问题
- 哪有系统分析师技术指南?
- C#实现多个客户端连接服务端的问题
- C# 数据解析
- 怎样将xml文件保存到sql数据库里
- SetWindowLong问题,请来领分。请斑竹不要移动到非技术区。谢谢。
- 反射中"System.Reflection.Missing.Value"是怎么获值的?
- 如何优化我的分页控件!高分相送。见者有份(希望能提供宝贵意见)
- 询问 权限设计,找寻最佳解决方案灵感_
- 把framwork3.5与程序一起打包
{
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();
}
{
string sqlSelect;
sqlClass sqlObject = new sqlClass();
sqlSelect = "select * from 问题答案表";
DataSet dtData = new DataSet();
dtData = sqlObject.ds(sqlSelect);
GridView1.DataSource = dtData;
GridView1.DataBind();
}protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
databind();
}
{
string sqlSelect;
sqlClass sqlObject = new sqlClass();
sqlSelect = "select * from 问题答案表";
DataSet dtData = new DataSet();
dtData = sqlObject.ds(sqlSelect);
GridView1.DataSource = dtData;
GridView1.DataBind();
GridView1.PageIndex = e.NewPageIndex;
}
源:
<table style="width: 670px">
<tr>
<td style="width: 100px">
共<asp:Label ID="lb_count" runat="server" Text="Label"></asp:Label>个</td>
<td style="width: 100px">
共<asp:Label ID="lb_page" runat="server" Text="Label"></asp:Label>页</td>
<td style="width: 100px">
<asp:Label ID="lb_currentpage" runat="server" Text="1"></asp:Label></td>
<td style="width: 100px">
<asp:LinkButton ID="lbtn_frist" runat="server" OnClick="lbtn_frist_Click" CssClass="link1">首页</asp:LinkButton></td>
<td style="width: 100px">
<asp:LinkButton ID="lbtn_up" runat="server" OnClick="lbtn_up_Click" CssClass="link1">上一页</asp:LinkButton></td>
<td style="width: 100px">
<asp:LinkButton ID="lbtn_down" runat="server" OnClick="lbtn_down_Click" CssClass="link1">下一页</asp:LinkButton></td>
<td style="width: 100px">
<asp:LinkButton ID="lbtn_last" runat="server" OnClick="lbtn_last_Click" CssClass="link1">尾页</asp:LinkButton></td>
<td style="width: 100px">
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList></td>
</tr>
</table>
C#
protected void Page_Load(object sender, EventArgs e)
{
dlbind();
} public void dlbind()
{
string sqlstr = "";
string num = Request.QueryString["num"];
if (num == null)
{
sqlstr = "select * from resumeoverview order by id desc";
}
else if (num.Equals("20"))
{
sqlstr = "select top 20 * from resumeoverview order by id desc";
}
else if (num.Equals("50"))
{
sqlstr = "select top 50 * from resumeoverview order by id desc";
}
else if (num.Equals("100"))
{
sqlstr = "select top 100 * from resumeoverview order by id desc";
}上面的是数据库连接 int curpage = Convert.ToInt32(lb_currentpage.Text);
SqlConnection conn = new SqlConnection("server=;database=zhaopin;Integrated Security=True");//zhaopin是数据库的名字
SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
DataSet ds = new DataSet();
da.Fill(ds, "resumeoverview");//resumeoverview是你要填充的表名下同
PagedDataSource ps = new PagedDataSource();
ps.DataSource = ds.Tables["resumeoverview"].DefaultView;
ps.AllowPaging = true;
ps.PageSize = 10;
ps.CurrentPageIndex = curpage - 1;
lb_page.Text = Convert.ToString(ps.PageCount);
lb_count.Text = ps.DataSourceCount.ToString();
if (!IsPostBack)
{
for (int i = 1; i <= ps.PageCount; i++)
{
DropDownList1.Items.Add(i.ToString());
}
DropDownList1.SelectedItem.Text = curpage.ToString();
}
lbtn_frist.Enabled = true;
lbtn_up.Enabled = true;
lbtn_down.Enabled = true;
lbtn_last.Enabled = true;
if (curpage == 1)
{
lbtn_frist.Enabled = false;
lbtn_up.Enabled = false;
}
if (curpage == ps.PageCount)
{
lbtn_down.Enabled = false;
lbtn_last.Enabled = false;
}
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
} protected void lbtn_frist_Click(object sender, EventArgs e)
{
lb_currentpage.Text = "1";
dlbind();
} protected void lbtn_up_Click(object sender, EventArgs e)
{
lb_currentpage.Text = Convert.ToString(Convert.ToInt32(lb_currentpage.Text) - 1);
dlbind();
}
protected void lbtn_down_Click(object sender, EventArgs e)
{
lb_currentpage.Text = Convert.ToString(Convert.ToInt32(lb_currentpage.Text) + 1);
dlbind();
} protected void lbtn_last_Click(object sender, EventArgs e)
{
lb_currentpage.Text = lb_page.Text;
dlbind();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
int page = Convert.ToInt32(DropDownList1.SelectedItem.Value);
lb_currentpage.Text = page.ToString();
dlbind();
}
不同使用分页空间都可以,要是griview自带的又不是很灵活,干脆自己用label跟dropdownlist做一个就行了,方便灵活,