是这样的:
有两个条件查找框,一个是简单化的,只有一个条件输入框,另一个则多了几个条件输入框,用户在同一时间,只能在其中一个条件查找框中查找符合条件的数据(条件赋值的时候我是用sqlcommand的参数赋值的,只是这两个条件查找框的参数个数都不同),数据已现查出来了,但在按下一页或上一页的时候,数据就显示得有些问题,请问如何在不改变原有查找条件的情况下进行下一页或上一页的操作?
有两个条件查找框,一个是简单化的,只有一个条件输入框,另一个则多了几个条件输入框,用户在同一时间,只能在其中一个条件查找框中查找符合条件的数据(条件赋值的时候我是用sqlcommand的参数赋值的,只是这两个条件查找框的参数个数都不同),数据已现查出来了,但在按下一页或上一页的时候,数据就显示得有些问题,请问如何在不改变原有查找条件的情况下进行下一页或上一页的操作?
dg.currentPageIndex = e.NewPageIndex;
BindDg();
//注意在翻页后邦定的时候不要改变DataSource,比如不进行重新查询数据库,即不变动sql
DataGrid1.CurrentPageIndex = e.NewPageIndex;
string sql;
sql = "select * from tbl_document";
SqlDataAdapter adUser = new SqlDataAdapter(sql,sqlConnection1);
SqlDataAdapter adUser = new SqlDataAdapter(sCommand);
DataSet dsPending = new DataSet();
adUser.Fill(dsPending,"Pending");
DataGrid1.DataSource = dsPending;
DataGrid1.DataBind();
但改为
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
后,按下一页后DataGrid1就消失了
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
}
catch{DataGrid1.CurrentPageIndex=0;}
CREATE YOU DATATABLE
MyDateGrid.CurrentPageIndex = e.NewPageIndex;
MyDateGrid.DataBind();
这样就可以了.
MyDateGrid.CurrentPageIndex = e.NewPageIndex;
MyDateGrid.DataBind();
我是这样做的,但按下一页的时候datagrid就不见了,要再按一下查找后datagrid才出现,这是为什么呢?
MyDateGrid.CurrentPageIndex = e.NewPageIndex;
MyDateGrid.DataBind();
了,这样没有数据源肯定消失的;我前面说的是你把邦定datagrid的代码放到一个bindGrid()的单独方法中,在change the page的时候不要改动数据源,也就是查询条件保持不变
private void DataGrid1_Page(object sender, DataGridPageChangedEventArgs e)
{
try
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
}
catch{DataGrid1.CurrentPageIndex=0;}
SearchTable();//是一个内存表绑定用的
} private void nav_house_sales_master_Init(object sender, System.EventArgs e)
{
//指定表格控件在分页时的事件处理程序。
DataGrid1.PageIndexChanged+=new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_Page);
}