string sql = ""; SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ETOCSConnectionString"].ConnectionString);
con.Open(); sql = "xxxxxxx";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter dr = new SqlDataAdapter(cmd);
dr.Fill(ds, "ETOC1"); GridView2.DataSource = ds.ETOC1;
GridView2.DataBind();
con.Close();绑定后显示正常分页无效,选择分页后gridview是空的,什么也没有PageIndexChanging事件中已写
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView2.PageIndex = e.NewPageIndex;
GridView2.DataSource = ds.Tables["ETOC1"];
GridView2.DataBind();
}请问是什么问题?如何解决
con.Open(); sql = "xxxxxxx";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter dr = new SqlDataAdapter(cmd);
dr.Fill(ds, "ETOC1"); GridView2.DataSource = ds.ETOC1;
GridView2.DataBind();
con.Close();绑定后显示正常分页无效,选择分页后gridview是空的,什么也没有PageIndexChanging事件中已写
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView2.PageIndex = e.NewPageIndex;
GridView2.DataSource = ds.Tables["ETOC1"];
GridView2.DataBind();
}请问是什么问题?如何解决
要么自己写
要么用sqlDatasource
或者是objectDatasource
<appSettings>
<add key="SocutDataLink" value=" server=(local);user=sa;pwd=;database=Northwind;pooling=true;"/>
</appSettings>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
AspNetPager1.RecordCount=(int) Socut.Data.ExecuteScalar("select count(*) from Invoices");
}
public void NewData()
{
DataSet ds = Socut.Data.ExecuteDataSet("SELECT * from Invoices",AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1),AspNetPager1.PageSize);
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
NewData();
}
前台AspNetPager1的图片属性设置代码:
<webdiyer:AspNetPager id="AspNetPager1" runat="server" horizontalalign="Center"
pagingbuttontype="Image" width="100%" ImagePath="images/" ButtonImageNameExtension="n" ButtonImageExtension=".gif"
DisabledButtonImageNameExtension="g" CpiButtonImageNameExtension="r" PagingButtonSpacing="10px" ButtonImageAlign="left"
OnPageChanged="AspNetPager1_PageChanged" MoreButtonType="Image">
</webdiyer:AspNetPager>
下载实例的地址是:
http://download.csdn.net/user/jinlong5200
我刚上传的,也许要审核,如果没有,请明日下载
什么都没有的原因是DataSet里的数据没有了
应该把ds放进缓存或Session里。你可以设置断点看一下ds的东西
比如ssss()
然后在PageIndexChanging事件
里引用ssss();
就可以了
还有一种方法
可以用viewstate接收ds的值
然后在PageIndexChanging事件
引用viewstate
加上
GridView2.DataSource = ds.ETOC1;
GridView2.DataBind();
这两句就可以了前天刚做出来的,我想应该没问题
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定GridView
}
}
{
if (!IsPostBack)
{
loadgv();
}
}
public void loadgv()
{
string sql = ""; SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ETOCSConnectionString"].ConnectionString);
con.Open(); sql = "xxxxxxx";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter dr = new SqlDataAdapter(cmd);
dr.Fill(ds, "ETOC1"); GridView2.DataSource = ds.ETOC1;
GridView2.DataBind();
con.Close();
}绑定后显示正常 分页无效,选择分页后gridview是空的,什么也没有 PageIndexChanging事件中已写
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView2.PageIndex = e.NewPageIndex;
loadgv();
}
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView2.PageIndex = e.NewPageIndex;
GridView2.DataSource = ds.Tables["ETOC1"];
GridView2.DataBind();
} 你的这句不报错吗
GridView2.DataSource = ds.Tables["ETOC1"];
问题是ds.Tables["ETOC1"];
你到哪找的ds.Tables["ETOC1"]; 根本就没有要不就这样写
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView2.PageIndex = e.NewPageIndex;
string sql = ""; SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ETOCSConnectionString"].ConnectionString);
con.Open(); sql = "xxxxxxx";
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataAdapter dr = new SqlDataAdapter(cmd);
dr.Fill(ds, "ETOC1"); GridView2.DataSource = ds.ETOC1;
GridView2.DataBind();
con.Close();
}
要不象你写的改成这样也行
static dataset ds = new dataset();
把ds定义静态的
只不过一个人浏览没问题
多个人一起浏览就会有问题不定义静态你点分页时ds就是null值所以页面就没数据显示
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView2.PageIndex = e.NewPageIndex;
GridView2.DataSource = ds.Tables["ETOC1"];
GridView2.DataBind();
} 最后2句代码不是这样绑定,应该把你最初显示的数据放进一个方法里直接调用
AspNetPager网上搜索很容易搜到的