过江的博客
随笔 - 159 文章 - 1 评论 - 202
博客园
首页
新随笔
管理
订阅
DataGrid排序
第一:
把DATAGRID的属性ALLOWSORTING改为TRUE
在PAGELOAD和DataGrid1_SortCommand、SortCommand中加
p
if
(DataGrid1.Attributes[
"
SortDirection
"
]
==
"
DESC
"
)
//
这里kjkm_dg为datagrid ID
{
DataGrid1.Attributes[
"
SortDirection
"
]
=
"
ASC
"
;
//
这里给datagrid增加一个排序方向属性,且默认为升序排列;
}
else
{
DataGrid1.Attributes[
"
SortDirection
"
]
=
"
DESC
"
;
}
mikecatbind();
protected
void
mikecatbind()
{
DataView dv
=
new
DataView();
SqlConnection conn
=
new
SqlConnection(
"
Server=.;UID=sa;PWD=;database=WJOA
"
);
string
sql
=
"
select * from UnitCode_T
"
;
SqlDataAdapter da
=
new
SqlDataAdapter(sql,conn);
DataSet ds
=
new
DataSet();
da.Fill(ds,
"
zwb
"
);
string
SortDirection
=
this
.DataGrid1.Attributes[
"
SortDirection
"
];
dv
=
ds.Tables[
"
zwb
"
].DefaultView;
//
来自web service的dataset,这里随便一个ds就可以;
dv.Sort
=
"
UnitCode
"
+
"
"
+
this
.DataGrid1.Attributes[
"
SortDirection
"
];
//
指定视图的排序方式;
this
.DataGrid1.DataSource
=
dv;
//
指定数据源
this
.DataGrid1.DataBind();
//
数据绑定
}
private
void
kjkm_dg_SortCommand(
object
source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
if
(
this
.kjkm_dg.Attributes[
"
SortDirection
"
]
==
"
DESC
"
)
//
这里kjkm_dg为datagrid ID
{
kjkm_dg.Attributes[
"
SortDirection
"
]
=
"
ASC
"
;
//
这里给datagrid增加一个排序方向属性,且默认为升序排列;
}
else
{
kjkm_dg.Attributes[
"
SortDirection
"
]
=
"
DESC
"
;
}
mikecatbind();
}
在.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
<
DataGrid1.Columns.Count;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
"
;
}
}
}
第二:
posted on 2006-06-23 15:41
过江
阅读(772)
评论(0)
编辑
收藏
网摘
所属分类:
asp.net2003 C#经典方法
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
人才
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2006-06-23 16:07 编辑过
Google站内搜索
相关文章:
相关链接:
所属分类的其他文章:
WinForm数据验证类 (转)
Oracle视频教程下载地址
弹出层的效果(转)
GridView 72般绝技
asp.net千奇百怪的日历(转)
asp.net利用RAR实现文件压缩解压缩(转)
在ASP.NET中支持断点续传下载大文件(ZT) (转)
如何当个极品单身男人(转)
子页面赋值给父页面的控件方法
简单的FTP应用程序 (转)
最新IT新闻:
应用程序架构指导包2.0 Beta 2发布
推波助澜 微软推出“I'm a PC”商店
火狐中国版正式发布
微软:中国移动全球率先使用IE Mobile 6
消息汇总:迅雷人事变动 员工与公关部说法大相径庭
<
2006年6月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
与我联系
发短消息
搜索
我的标签
Team Foundation Server
(1)
TFS
(1)
VSTS
(1)
随笔分类
(161)
.net Remoting(9)
Ajax(13)
asp.net2003 C#经典方法(57)
CodeSmith使用实例(13)
EXCEL、WORD与SQL(12)
JavaScript、Css(17)
Log4Net入门介绍(1)
MSMQ(3)
ORM框架使用实例(4)
PowerDesigner
Vs2005 C#(14)
WebService(5)
XSLT、XML(2)
版本管理软件(VSS,SVN等)(4)
单元测试(1)
感悟人生(6)
随笔档案
(159)
2008年10月 (1)
2008年9月 (1)
2008年8月 (1)
2008年5月 (1)
2008年2月 (1)
2007年10月 (1)
2007年9月 (2)
2007年8月 (10)
2007年7月 (17)
2007年6月 (22)
2007年5月 (22)
2007年4月 (26)
2007年3月 (16)
2006年11月 (1)
2006年10月 (5)
2006年9月 (1)
2006年8月 (6)
2006年6月 (25)
积分与排名
积分 - 62090
排名 - 753
最新随笔
1. TFS 安装手册以及常用问题解决方法
2. SQL server 系统优化--通过执行计划优化索引(1) (转)
3. .Net新建、卸载、调试Windows服务
4. 请问在用C#+Mapx开始,怎样根据图元名称获得该图元已经选中的图元
5. C#基础:ref和out的区别
6. 仿163邮箱的alert提示,beta1.1 (转)
7. 好久都没有写东西了
8. 终于用上CodeSmith4.0了,跟大家一起分享
9. XSLT基本语法和第一个实例
10. 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)(转)
最新评论
1. re: 聊天程序(转)
谢谢了
--yfshg