datagrid中的分页排序,高手指点 我也遇到这样的问题了!不知道可不可以在DATAGRID中排,dataset排序太麻烦了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将排序表达试保存在Session里,分页的时候再从session里得! 在数据绑定时指定(在分页程序中)MyDataView.Sort="排序字段或排序表达式";MyDataGrid.DataSource=MyDataView;MyDataGrid..CurrentPageIndex = e.NewPageIndex;MyDataGrid.DataBind(); 具体:string sortField;//全局变量//page_load() private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { if (sortField == "") { sortField = "OPERATOR_ID"; } Session["Hoten.Boss.CustInfoSys.Web.admin.sortField"]=sortField;//保存 BindGrid(sortField); } }===========================================================================//绑定private void BindGrid(string sortField)//注意参数{……DataView Source = operatorDS.Tables["OPERATOR"].DefaultView; Source.Sort=sortField; dgOperatorAdmin.DataSource=Source; dgOperatorAdmin.DataBind();}=============================================================================//排序private void dgOperatorAdmin_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) { sortField=(string)e.SortExpression; Session["Hoten.Boss.CustInfoSys.Web.admin.sortField"]=sortField;//保存 BindGrid(sortField); }============================================================================//分页private void dgOperatorAdmin_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { sortField=(string)Session["Hoten.Boss.CustInfoSys.Web.admin.sortField"];//得出排序表达式 dgOperatorAdmin.CurrentPageIndex=e.NewPageIndex; BindGrid(sortField); } 这个问题我已经解决了,你需要先定义static string sortfield="";static int page_no;DataSet ds;然后private void Page_Load(object sender, System.EventArgs e){ if(!IsPostBack) { if(sortfield=="") { sortfield="bh"; } page_no=0; BindGrid(); }}public void BindGrid(){ //从web服务得到返回的记录集 ds=service1.SelRetds2("GZDT_view","",sortfield.ToString()); DataView source=new DataView(); source=ds.Tables[0].DefaultView; DataGrid1.DataSource=source; DataGrid1.DataKeyField="BH"; DataGrid1.CurrentPageIndex=page_no; DataGrid1.DataBind();} private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) { sortfield=(string)e.SortExpression; BindGrid(); } private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { page_no=e.NewPageIndex; BindGrid(); } Linq to sql ,当数据库数据发生改变时,如何获得改变的数据 数据库记录添加——用数组变量给字段赋值,并添加到数据库中 类的实例化问题 一个小批处理,在线等!解决立刻结帖 为什么会读取数据库的速度很慢 求c#数据库技术,访问,连接。 一个青虫级的人提的一个青虫级的问题。。 多行文本框,带滚动条,怎么能获取当前文本框可见的值(不包括看不见的) 能给ColumnHeader增加个属性吗? com interop web应用开发环境? 如何比较方便是在datagrid中最后增加一行,谢谢
MyDataGrid.DataSource=MyDataView;
MyDataGrid..CurrentPageIndex = e.NewPageIndex;
MyDataGrid.DataBind();
string sortField;//全局变量
//page_load()
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
if (sortField == "")
{
sortField = "OPERATOR_ID";
}
Session["Hoten.Boss.CustInfoSys.Web.admin.sortField"]=sortField;//保存
BindGrid(sortField);
}
}
===========================================================================
//绑定
private void BindGrid(string sortField)//注意参数
{
……
DataView Source = operatorDS.Tables["OPERATOR"].DefaultView;
Source.Sort=sortField;
dgOperatorAdmin.DataSource=Source;
dgOperatorAdmin.DataBind();
}
=============================================================================
//排序
private void dgOperatorAdmin_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
sortField=(string)e.SortExpression;
Session["Hoten.Boss.CustInfoSys.Web.admin.sortField"]=sortField;//保存
BindGrid(sortField);
}============================================================================
//分页
private void dgOperatorAdmin_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
sortField=(string)Session["Hoten.Boss.CustInfoSys.Web.admin.sortField"];//得出排序表达式 dgOperatorAdmin.CurrentPageIndex=e.NewPageIndex;
BindGrid(sortField);
}
static string sortfield="";
static int page_no;
DataSet ds;
然后
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
if(sortfield=="")
{
sortfield="bh";
}
page_no=0;
BindGrid();
}
}
public void BindGrid()
{
//从web服务得到返回的记录集
ds=service1.SelRetds2("GZDT_view","",sortfield.ToString());
DataView source=new DataView();
source=ds.Tables[0].DefaultView;
DataGrid1.DataSource=source;
DataGrid1.DataKeyField="BH";
DataGrid1.CurrentPageIndex=page_no;
DataGrid1.DataBind();
}
private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
sortfield=(string)e.SortExpression;
BindGrid();
} private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
page_no=e.NewPageIndex;
BindGrid();
}