客户要求实现gridview的特殊功能,烦啊,急死人的,路过的帮顶下

qqshenyunzcz 2009-05-22 05:55:24
项目已经做完了,在客户那边测试的时候,客户要求主要实现以下3个功能:

1.gridview的列的位置可以拖动,比如像“我的电脑”里面的效果一样列的前后位置可以随便变化。
2.gridview的列的宽度可以自由拖动,也要像“我的电脑”里面一样,可以随便调整每一列的宽度。
3.gridview的每一列可以自由排序,还是要像“我的电脑”里面一样,点击表头,然后那一列可以进行排序。
(我做的使用ObjectDataSource数据源进行绑定的,方法返回的是对象的集合,不是说已经自带排序了吗?为什么还是不支持 )


各路大侠帮忙出出主意啊,我这几天被这几个效果弄烦了。。。

...全文
298 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
soldier啥啥啥 2011-11-24
  • 打赏
  • 举报
回复
设置gridview的属性
  • 打赏
  • 举报
回复
如果楼主愿意修改代码,那么AjaxDataControls可以解决你的所有问题.
不过,你不能使用ObjectDataSource了。
个人感觉,修改量也不会太大。
mengxj85 2009-05-23
  • 打赏
  • 举报
回复
这需求有点难搞哈,估计得自己定义一个GRIDVIEW
书晨听风 2009-05-23
  • 打赏
  • 举报
回复
GridView1_Sorting 实现排序
e.SortDirection.ToString() 可以取出你所点击的表头字段
怎么排序不就简单了
如果你用sql 语句 那么直接在查询一下数据库就ok了
如果用的是datatable 那么就用
string orderTemp =e.SortDirection.ToString();
DataTable.DefaultView.Sort = orderTemp+" desc";
切记:将 SortExpression="你要排序的字段" 要排序的表头都要加上哦
bluesimon 2009-05-23
  • 打赏
  • 举报
回复
这个恐怕只能用JS能搞了 要不您自己写个用户控件
wsbgy 2009-05-23
  • 打赏
  • 举报
回复
学习!
qqshenyunzcz 2009-05-23
  • 打赏
  • 举报
回复
我排序时候他提示不支持IEnumerable 类型的数据源,这就是我郁闷的地方
hangang7403 2009-05-23
  • 打赏
  • 举报
回复
up
newdigitime 2009-05-23
  • 打赏
  • 举报
回复
你的客户还挺懂技术的啊.gridview都懂.
光宇广贞 2009-05-23
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview.aspx


在表中显示数据源的值,其中每列表示一个字段,每行表示一条记录。使用 GridView 控件可以选择和编辑这些项以及对它们进行排序。

GridView 控件用来在表中显示数据源的值。每列表示一个字段,而每行表示一条记录。GridView 控件支持下面的功能:

绑定至数据源控件,如 SqlDataSource。

内置排序功能。

内置更新和删除功能。

内置分页功能。

内置行选择功能。

以编程方式访问 GridView 对象模型以动态设置属性、处理事件等。

多个键字段。

用于超链接列的多个数据字段。

可通过主题和样式进行自定义的外观。

绑定到数据
GridView 控件可绑定到数据源控件(如 SqlDataSource、ObjectDataSource 等等),以及实现 System.Collections..::.IEnumerable 接口的任何数据源(如 System.Data..::.DataView、System.Collections..::.ArrayList 或 System.Collections..::.Hashtable)。使用以下方法之一将 GridView 控件绑定到适当的数据源类型:

若要绑定到某个数据源控件,请将 GridView 控件的 DataSourceID 属性设置为该数据源控件的 ID 值。GridView 控件自动绑定到指定的数据源控件,并且可利用该数据源控件的功能来执行排序、更新、删除和分页。这是绑定到数据的首选方法。

若要绑定到某个实现 System.Collections..::.IEnumerable 接口的数据源,请以编程方式将 GridView 控件的 DataSource 属性设置为该数据源,然后调用 DataBind 方法。当使用此方法时,GridView 控件不提供内置的排序、更新、删除和分页功能。需要使用适当的事件提供此功能。

挺强大的。

像调整列,和拖动列之类的,我记得应该是控件具备的能力
ShadowInWind 2009-05-23
  • 打赏
  • 举报
回复
lz的功能我写过,不过是用js+ajaxpro写的,没用gridview。。。
光宇广贞 2009-05-23
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.objectdatasource.aspx

我查了objectdatasource还是很强大的,可以排序,可以更新,效率也还不错,支持dataset 源,当然有datatable

这个你看看。

如果把这个处理好了,那么UI层是很好处理的。
光宇广贞 2009-05-23
  • 打赏
  • 举报
回复
好像datagridview控件自己就有这种功能吧
  • 打赏
  • 举报
回复
如果是我来问这个问题,别人只要告诉我有这个一个东西AjaxDataControls,我肯定会马上就google一下。
看来楼主还不是太急哦。

其它的解决办法我不知道,但是我肯定的告诉你,AjaxDataControls可以解决你的问题。而且有现成的示例,我看了一小时就可以做一个出来。。
xuming120 2009-05-23
  • 打赏
  • 举报
回复
现在的客户要求的还真多啊.
plsandslp 2009-05-23
  • 打赏
  • 举报
回复
datatable 可能用他的defaultview排序
qqshenyunzcz 2009-05-23
  • 打赏
  • 举报
回复
LS的 再详细点啊
感觉各位的关心。。最好能具体点行吗?
我是个新手,你们说的很多东西没用过,感觉不知道从哪里下手
要实现排序,不能ObjectDataSource吗?我好多用它绑定的
我底层方法返回的都是对象的集合,手动绑定返回的也是集合形式。
我排序的时候,提示说不支持,郁闷。怎么在底层把集合处理成datatable了?
entironment 2009-05-22
  • 打赏
  • 举报
回复
排序
http://msdn.microsoft.com/zh-cn/library/sk096tye(VS.80).aspx
toxxj 2009-05-22
  • 打赏
  • 举报
回复
ComponentArt.Web.UI.dll 中的datagrid控件 可以实现第二,三个功能
加载更多回复(17)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧