【新特性速递】为RenderField新增QuickSortField属性!
FineUIMvc/Core的下个版本(v6.3.0),我们会为RenderCheckField和RenderField新增QuickSortField属性。
这个更新仅适用于 FineUIMvc 和 FineUICore 版本,用来快速设置排序字段(当DataField存在时,将SortField的值设置为DataField的值)。
比如这个示例:https://pages.fineui.com/#/Grid/Sorting
<f:RenderField HeaderText="姓名" DataField="Name" SortField="Name" Width="100" />
这个代码也可以写为:
<f:RenderField HeaderText="姓名" DataField="Name" QuickSortField="true" Width="100" />
说白了,就是不用再重复设置一个 Name 字符串给 SortField 属性。
这个更新看似微不足道,但是在模型初始绑定时用处就不小了,看下这个例子:
<f:Grid ID="Grid1" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="true" Title="表格" EnableCheckBoxSelect="true" DataIDField="Id" DataTextField="Name" AllowSorting="true" SortField="@ViewBag.Grid1SortField" SortDirection="@ViewBag.Grid1SortDirection" OnSort="@Url.Handler("Grid1_Sort")" OnSortFields="Grid1" DataSource="@Model.Students"> <Columns> <f:RowNumberField /> <f:RenderField For="Students.First().Name" QuickSortField="true" /> <f:RenderField For="Students.First().Gender" QuickSortField="true" RendererFunction="renderGender" Width="80" /> <f:RenderField For="Students.First().EntranceYear" QuickSortField="true" /> <f:RenderCheckField For="Students.First().AtSchool" QuickSortField="true" RenderAsStaticField="true" /> <f:RenderField For="Students.First().Major" RendererFunction="renderMajor" ExpandUnusedSpace="true" MinWidth="150" /> <f:RenderField For="Students.First().Group" RendererFunction="renderGroup" Width="80" /> <f:RenderField For="Students.First().EntranceDate" /> </Columns> </f:Grid>
如果不使用新增的 QuickSortField,那么这个代码看起来就尴尬了(重复就不说了,关键是前面是C#代码,后面是字符串):
<f:RenderField For="Students.First().Name" SortField="Name" />
注:由于FineUIPro没有模型初始绑定的概念,所以无需添加此属性。
注:FineUICore v6.3.0 计划在 2020-05-15 发布,官网示例已更新。