FineUI 官方论坛

标题: 【非BUG】基于FineUI3.3开发的是否无法支持列排序? [打印本页]

作者: alfly008    时间: 2014-4-17 23:39
标题: 【非BUG】基于FineUI3.3开发的是否无法支持列排序?
使用的是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创始人三石先生及社区而言,都是一份贡献。谢谢了。


作者: alfly008    时间: 2014-4-17 23:45
自己顶一下。
作者: alfly008    时间: 2014-4-18 23:44
这就是fineui论坛,人气。。。。。。差csdn何尝几条街

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

好像之前的3.x版本,都没有完成排序,不过AppBox居然实现了排序。
作者: sanshi    时间: 2014-5-10 19:08
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 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4