用session记住排序表达式
在SortCommand事件中Session["sortExpression"] = e.SortExpression;
PageIndexChanged事件里重新排序:DG_sheetlist.CurrentPageIndex = e.NewPageIndex;
// Rebind the data.
DG_sheetlist.DataSource = dv;
if (Session["sortExpression"] != null)
{
dv.Sort = Session["sortExpression"].ToString ();
}
DG_sheetlist.DataBind();
在SortCommand事件中Session["sortExpression"] = e.SortExpression;
PageIndexChanged事件里重新排序:DG_sheetlist.CurrentPageIndex = e.NewPageIndex;
// Rebind the data.
DG_sheetlist.DataSource = dv;
if (Session["sortExpression"] != null)
{
dv.Sort = Session["sortExpression"].ToString ();
}
DG_sheetlist.DataBind();
解决方案 »
- Page.Title 产生换行和空格
- 上传图片附件时就出现"无效的图片文件"
- asp.net标准表达式中数据类型不匹配
- 如何判断SQL 数据库表内容有更新
- 只有这么多了!请大家帮忙给指点一下吧!!!c#中怎么使用事务???
- 关于发邮件的问题,请高手帮忙
- 求救啊,我的.net 2003 怎么不能用了
- treeview问题,这个问题困扰我好多天了,请各位帮我一下,解决再加分,谢了!
- windows进程中有一个aspnet_wp.exe 用户名为ASPNET是什么啊?
- IIS7.5 自带的 URL重写问题、域名重定向问题
- 有没有针对.NET,测试内存泄漏的工具?哪位知道的话,给个地址。
- 你有没有碰到这样的要求,一个表格,其中有一行是listbox,当用户没有选择删除数据时,此时提醒用户选择数据,如果用户选择了数据,就提
#region 排序
/// <summary>
/// 排序
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void functionGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
//回到第一页
functionGrid.CurrentPageIndex = 0;
//取得选择列的值
String strField = ViewState["strField"].ToString();
//取得排序方向
String stroldDirect = ViewState["Direct"].ToString();
//创建变量,获取排序值
String strCurrDirect = "";
//判断当前点击列是否是上次点击列
if (e.SortExpression.Equals(strField))
{
//排序方向如为空,排序值为“DESC”,否则为“""”
strCurrDirect = stroldDirect.Equals("") ? " DESC " : "";
}
//存储当前点击列的值
strField = e.SortExpression;
ViewState.Add("strField",strField);
//存储排序方向
ViewState.Add("Direct",strCurrDirect);
//重新帮定数据
setDataView();
}
#endregion
/// <summary>
/// 翻页
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void functionGrid_PageIndexChanged_1(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//设置数据帮定表的当前页
functionGrid.CurrentPageIndex = e.NewPageIndex;
//重新帮定数据
setDataView();
}
#endregion #region 排序
/// <summary>
/// 排序
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private void functionGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
//回到第一页
functionGrid.CurrentPageIndex = 0;
//取得选择列的值
String strField = ViewState["strField"].ToString();
//取得排序方向
String stroldDirect = ViewState["Direct"].ToString();
//创建变量,获取排序值
String strCurrDirect = "";
//判断当前点击列是否是上次点击列
if (e.SortExpression.Equals(strField))
{
//排序方向如为空,排序值为“DESC”,否则为“""”
strCurrDirect = stroldDirect.Equals("") ? " DESC " : "";
}
//存储当前点击列的值
strField = e.SortExpression;
ViewState.Add("strField",strField);
//存储排序方向
ViewState.Add("Direct",strCurrDirect);
//重新帮定数据
setDataView();
}
#endregion
/// <summary>
/// 页数跳转按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnGo_Click(object sender, System.EventArgs e)
{
//声明临时变量
String temp = "";
//声明临时 可变字符字符串 变量
System.Text.StringBuilder messBuilder = new System.Text.StringBuilder();
if(txtBoxPage.Text == "")
{
//空值处理
this.Page.RegisterStartupScript("",@"<script>alert('"+promng.common.MessageLog.getMessage("M0002","跳转页面")+"')</script>");
return;
}
else
{
//正整数校验
messBuilder.Append(requiremanage.checkProInt(txtBoxPage.Text,"页码"));
}
temp = messBuilder.ToString();
if(temp != "")
{
//输入数据未通过校验,提示相应信息
this.Page.RegisterStartupScript("",@"<script>alert('"+temp+"')</script>");
//清空输入框
this.txtBoxPage.Text = "";
return;
}
//转换类型
int intPage = int.Parse(txtBoxPage.Text);
//输入值范围判断
if(intPage > functionGrid.PageCount)
{
//显示提示信息
this.Page.RegisterStartupScript("",@"<script>alert('"+promng.common.MessageLog.getMessage("M0033")+"')</script>");
//清空输入框
this.txtBoxPage.Text = "";
return;
}
else
{
//设置当前页
functionGrid.CurrentPageIndex = intPage - 1;
}
setDataView();
//清空输入框
this.txtBoxPage.Text = "";
}
#endregion