C#中实现DataGrid双向排序
文章来源:天极网
文章作者: 发布时间:2007-04-23
在.Net 中 DataGrid 虽然有排序的功能,但并不支持双向的排序。用到了,看了些相关的帖子,自己尝试了一种方法,竟然也行得通,主要是用DataGrid.Attributes 存了一个参数,同时在onSortCommand中修改了DataGridColumn的SortExpression. 代码如下:
private void BindData()
{
DataTable dt = .......;
if(dt != null)
{
DataView dv = dt.DefaultView;
if(DataGrid1.Attributes["SortBy"] != null)
{
dv.Sort = DataGrid1.Attributes["SortBy"];
}
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
}
private void DataGridSort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
DataGrid1.Attributes["SortBy"] = sortstr;
this.BindData();
//找到排序的列,并修改把它的排序属性
DataGridColumn clm = null;
for(int i=0;i
{
if(DataGrid1.Columns[i].SortExpression == e.SortExpression )
{
clm = DataGrid1.Columns[i];
break;
}
}
if(clm == null) return;
if(e.SortExpression.ToLower().IndexOf("desc") > 0)
{
clm.SortExpression = e.SortExpression.ToLower().Replace("desc","asc");
}
else
{
if(e.SortExpression.ToLower().IndexOf("asc") > 0)
{
clm.SortExpression = e.SortExpression.ToLower().Replace("asc","desc");
}
else
{
clm.SortExpression = e.SortExpression.ToLower() " desc";
}
}
}进入讨论组讨论。
|
| |||
{
DataTable dt = .......;
if(dt != null)
{
DataView dv = dt.DefaultView;
if(DataGrid1.Attributes["SortBy"] != null)
{
dv.Sort = DataGrid1.Attributes["SortBy"];
}
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
}
private void DataGridSort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
DataGrid1.Attributes["SortBy"] = sortstr;
this.BindData();
//找到排序的列,并修改把它的排序属性
DataGridColumn clm = null;
for(int i=0;i
{
if(DataGrid1.Columns[i].SortExpression == e.SortExpression )
{
clm = DataGrid1.Columns[i];
break;
}
}
if(clm == null) return;
if(e.SortExpression.ToLower().IndexOf("desc") > 0)
{
clm.SortExpression = e.SortExpression.ToLower().Replace("desc","asc");
}
else
{
if(e.SortExpression.ToLower().IndexOf("asc") > 0)
{
clm.SortExpression = e.SortExpression.ToLower().Replace("asc","desc");
}
else
{
clm.SortExpression = e.SortExpression.ToLower() " desc";
}
}
}进入讨论组讨论。
精彩推荐
[技巧]·诺基亚S60机友必看——蓝牙的应用
[技巧]·用玩转手机实现摩托A1000于电脑同步
[技巧]·关于V902如何使用3GP为来电铃声方法
[新机]·完美结合 索爱滑盖音乐手机W580图赏
[新机]·延续经典 诺基亚神秘翻盖6131i曝光
[新机]·大屏王者 多普达智能新机D805曝光
[新机]·时尚风格 松下P904i精美广告壁纸欣赏
[新机]·苹果iPhone终上市 海量开箱照片抢先欣
[行情]·S型曲线 联想时尚折叠机S9仅售1480
[行情]·镜面美人 联想女性超薄翻盖S9仅1399
[行情]·畅所欲言 飞利浦待机王9@9s仅1398元
[行情]·创意无限 LG滑盖音乐机KE608跌破两千
[行情]·天籁之音 索爱音乐强机W810c只1890元
[技巧]·用玩转手机实现摩托A1000于电脑同步
[技巧]·关于V902如何使用3GP为来电铃声方法
[新机]·完美结合 索爱滑盖音乐手机W580图赏
[新机]·延续经典 诺基亚神秘翻盖6131i曝光
[新机]·大屏王者 多普达智能新机D805曝光
[新机]·时尚风格 松下P904i精美广告壁纸欣赏
[新机]·苹果iPhone终上市 海量开箱照片抢先欣
[行情]·S型曲线 联想时尚折叠机S9仅售1480
[行情]·镜面美人 联想女性超薄翻盖S9仅1399
[行情]·畅所欲言 飞利浦待机王9@9s仅1398元
[行情]·创意无限 LG滑盖音乐机KE608跌破两千
[行情]·天籁之音 索爱音乐强机W810c只1890元
相关新闻
相关链接
