各位大虾们帮帮小弟吧!
因为我要做一个页面,左边全是导航LinkButton按钮,右边创建了一个GridView控件,然后点击不同的导航时,查询不同的表,动态的创建数据源绑定到GridView显示出来。最后调试时点击按钮后gridview正常显示数据,可是点击下一页,或是其他的换页按钮,都显示没有数据记录。我怀疑问题是不是:当我点击下一页时,刷行了页面,然后返回到我初始状态(即点击左边导航按钮之前的状态),初始状态下Gridview是没有绑定数据源的。
简单的模型代码如下:
前台代码:
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="b_Byx_id" AllowPaging="True" PageSize="5" OnPageIndexChanging="GridView1_PageIndexChanging"
>
<PagerSettings Mode="NextPreviousFirstLast" />
</asp:GridView>
</div>
<asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" />
</form>
后台代码:
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = DBconn.createCon();
con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select *from b_Byx", con);
DataSet ds = new DataSet();
sda.Fill(ds, "t1");
GridView1.DataSource = ds.Tables["t1"];
BoundField b1 = new BoundField();
b1.HeaderText = "姓名";
b1.DataField = "b_Byx_id";
this.GridView1.Columns.Add(b1);
GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
}
这是我简化后的一个模型页面,我做的那个当然比这几个复杂多了,但是功能跟着这个是一样的。
真诚的期望大家帮忙解决问题啊! 这是我帮老师做的一个课题!所以希望大家尽快的帮忙解决,不甚感激!
首先要感谢大家的热心帮助!二楼的同志回答我在其他地方看到过,显然是从其他地方粘过来的。
问题已经解决了,在GridView1_PageIndexChanging 事件代码中,从新绑定了数据,
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
SqlConnection con = DBconn.createCon();
con.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select *from b_Byx", con);
DataSet ds = new DataSet();
sda.Fill(ds, "t1");
GridView1.DataSource = ds.Tables["t1"];
GridView1.DataBind();
}
这样子就好了。当然我不知道为什么要再从新读取数据绑定,我上面写的代码运行时,点下一页时页面回闪一下,之后就显示没数据,是不是那闪一下的页面就是新的页面。不知道为什么会这样?虽然问题解决了但是我还是感到疑惑,为什么换页之后还得从新读取数据。前面不是应经绑定好数据了吗?
邮箱:zhjx1987415@126.com
使用GridView自带分页,点击下一页的时候为什么显示空白
分页绑定是正确的 一般自带分页就是先设置GridView的allowpage=true \/\/分页功能数据绑定 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){ GridView1.PageIndex = e.NewPageIndex;InitPage(); \/\/重新绑定GridView数据的函数 } protected void GridView1_PageIndexChange...
请问:GridView点击页码后不显示数据,一片空白,原因有哪些?
数据库中没有数据吧。再者,你没有将GridView数据显示的方法放到Page_load事件里面吧。或者GridView属性问题,你把GridView删掉,重新添加一个再试试。
gridview 实现分页后发现数据丢失。(第二页点了之后没数据) 求指导...
这里你不是用的自带的那个DataSource控件,所以这里直接用DataBind()重新绑定时没用的吧!你在GridView1_PageIndexChanging()方法里面应该把他的DataSource重设一次,然后再DataBind绑定一下。
问题C# asp.net gridview 查询后分页的问题 单击第二页时数据重新绑定了...
回答:常理说分页就那两句就够了沃!! 你那段查询的代码是在哪里用的??
Gridview绑定数据库,显示时缺少了一行数据,是怎么回事?
Gridview绑定的数据源 dataTable 重新遍历一下(重新组合一个新的Table),然后再绑定就OK了
asp.net C#中gridview的分页问题,请教。
在ASP.NET中,经常会使用到GridView的分页,一般情况下,若使用Visual Studio自带的数据源控件,不会出现什么问题。但是如果自己用代码设置GridView的数据源,GridView中第一页显示正常,这时如果点击第二页,则经常会出现如下错误 提示:GridView“GridView_test”激发了未处理的事件“PageIndexChanging”。这个...
gridview允许分页,但是当数据少于每页要求行数时,分页就没有了,而且...
跟你设置的每页显示的记录数有关系。如果你设置为10条,而只有五条记录。加载页面的时候分页是不显示的,但是应该可以设置的,设置为可见。
datagridview中发生以下异常 索引0没有值agridview中发生以下异_百度知 ...
动态添加数据:如果你是在运行时动态地向DataGridView添加数据,请确保在访问数据之前数据已正确添加。其他代码问题:检查其他与DataGridView相关的代码,看看是否有其他可能导致此问题的操作。关于“Application.Run(new MainForm());未将对象引用设置到对象实例”这个异常:检查与MainForm相关的所有代码,确保...
为什么gridview绑定数据了,但是无法编辑。应用的是动态数据绑定。(100...
事实上GridView功能还好,但是效率比较低,实际项目中使用较少 尤其是启动分页的时候GridView几乎不能满足现实需求,这和GridView的分页机制有关。推荐使用Repeater做数据显示,然后使用ASPNETPager做分页,既美观又高效率。
为什么循环GridView只能找到当前页的数据
GridView只会从你绑定的数据源中显示出你设定的显示数据条数,其他的是不会加载在gridview中的,所以,如果你要在gridview中是无法找到未显示的数据的。如果你要查找未显示的数据的话,你需要通过gridview的datasource 属性去查找