FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 5765|回复: 5
打印 上一主题 下一主题

【非BUG】基于FineUI3.3开发的是否无法支持列排序?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-17 23:39:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
反馈BUG
程序版本: FineUI3.3.1.1
浏览器: Chrome 
BUG截图:
BUG地址: -
使用的是FineUI3.3.1.1. 前台代码如下:
  1.    <x:Grid ID="Grid1" runat="server" BoxFlex="1" ShowBorder="true" ShowHeader="false"
  2.                 EnableCheckBoxSelect="true" EnableRowNumber="true" DataKeyNames="CK_ProductSizeID" AllowSorting="true"
  3.                 OnSort="Grid1_Sort" SortColumnIndex="0" SortDirection="DESC" AllowPaging="true"
  4.                 IsDatabasePaging="true" OnPreDataBound="Grid1_PreDataBound" OnRowCommand="Grid1_RowCommand"
  5.                 OnPageIndexChange="Grid1_PageIndexChange">
  6.                 <Columns>
  7.                         <x:BoundField DataField="CK_ProductTypeName" SortField="CK_ProductTypeName" HeaderText="分类名称" />
  8.                         <x:BoundField DataField="CK_ProductSizeNo" SortField="CK_ProductSizeNo" ExpandUnusedSpace="true" HeaderText="尺码" />
  9.    
复制代码
后台实现中:
  1.         protected void Grid1_Sort(object sender, GridSortEventArgs e)
  2.         {
  3.                 Grid1.SortDirection = e.SortDirection;
  4.                 Grid1.SortColumnIndex = e.ColumnIndex;

  5.                 BindGrid();
  6.         }
复制代码
结果是排不了序的,(不管前台的SortColumnIndex="0" 为1, 还是2)


请问,是否是这个版本排序就没做起来?还是本人哪里设置出错了?


我看到demo上是可以的,但是代码有些不同,不再有SortColumnIndex 取代的是SortField,而且每个绑定列都有这个参数(每列都可以排序),那grid是否就是grid1显示的默认排序列?
  1.        <f:Grid ID="Grid1" Title="表格" EnableFrame="true" EnableCollapse="true" AllowSorting="true" SortField="Gender" SortDirection="ASC"
  2.             Width="850px" runat="server" EnableCheckBoxSelect="true" DataKeyNames="Id,Name,AtSchool"
  3.             OnSort="Grid1_Sort">
  4.             <Columns>
  5.                 <f:BoundField Width="100px" SortField="EntranceYear" DataField="EntranceYear" HeaderText="入学年份" />
复制代码

fineui东西不错,论坛上也有些人,当然也不少高手,诚恳求教。
不管问题难易,大家一起来交流学习,您随心的几句回复就能帮到一个迷茫的人,于私是一份功德,于fineui创始人三石先生及社区而言,都是一份贡献。谢谢了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
 楼主| 发表于 2014-4-17 23:45:48 | 只看该作者
自己顶一下。
板凳
 楼主| 发表于 2014-4-18 23:44:18 | 只看该作者
这就是fineui论坛,人气。。。。。。差csdn何尝几条街

看来都是高人了,看的多,帮忙的人没有,呵呵~~
地板
发表于 2014-4-22 17:30:10 | 只看该作者
我看APPBOX的都是sanshi自己写了个 排序的方法,不知道是不是真的这样,所以要自己写排序方法
5#
 楼主| 发表于 2014-5-4 21:12:04 | 只看该作者
Moongg 发表于 2014-4-22 17:30
我看APPBOX的都是sanshi自己写了个 排序的方法,不知道是不是真的这样,所以要自己写排序方法 ...

好像之前的3.x版本,都没有完成排序,不过AppBox居然实现了排序。
6#
发表于 2014-5-10 19:08:09 | 只看该作者
alfly008 发表于 2014-5-4 21:12
好像之前的3.x版本,都没有完成排序,不过AppBox居然实现了排序。

排序需要自己在  BindGrid(); 中实现,这个和数据库分页是一样,表格只是记录一下状态,具体的数据排序操作自己实现。

可以多看下官方示例的模拟实现:http://fineui.com/demo_v3/#/demo_v3/grid/grid_sorting.aspx
  1. private void BindGrid()
  2.         {
  3.             string sortField = Grid1.SortField;
  4.             string sortDirection = Grid1.SortDirection;

  5.             DataTable table = GetDataTable();

  6.             DataView view1 = table.DefaultView;
  7.             view1.Sort = String.Format("{0} {1}", sortField, sortDirection);

  8.             Grid1.DataSource = view1;
  9.             Grid1.DataBind();
  10.         }
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-28 11:32 , Processed in 0.049179 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表