FineUI作为一款开源控件库,一直坚持“Release Early, Release Often”的版本发布策略,FineUI v4.0是自开源以来最大的一次升级,因为这次将 extjs 库从 v3.4 升级为 v4.2,大家都知道 extjs 的这两个版本不兼容,有很多很多需要修改的地方,FineUI的代码更新也在 50% 以上。
FineUI v3.2.6 主要增加了 “表格内编辑” 功能,不过此功能尚不完善,希望大家能够多测测,下个版本主要会增强表格内编辑功能。
FineUI是基于 ExtJS 的专业 ASP.NET 2.0 控件库。
FineUI的使命
创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序。
ASP.NET UI控件(FineUI) V4.2.2官方中文版
-官网示例总数突破300个!
-更新示例,如果PageManager定义了AutoSizePanelID属性,则去除页面的CSS定义:body.f-body。
-修正自定义提示对话框图标无效的问题(莮亾-7615)。
-Alert、Confirm增加CssClass属性。更新示例:杂项->消息框->自定义对话框图标。
+表格增强。
-单元格编辑表格重新绑定数据时,先取消当前活动的编辑器(andyxjy2-7559)。
-单元格编辑表格底层传输数据优化(不兼容提醒!),将修改和删除数据合并,由原来的:[[1,0,{"AtSchool":false}]]
改为:[{"index":1,"originalIndex":0,"id":"record-3","values":{"AtSchool":false},"status":"modified"}]。
-为FieldType增加枚举类型Double(精度为15~16),Float的精度为6~7。
+一个函数获取单元格编辑的全部内容(GetMergedData),包含新增、删除、修改的数据。
-新增示例:单元格编辑->新增删除->新增行与删除行(GetMergedData)。
-表格增加DataIDField属性,GridRow增加RowID属性。
-表格服务器事件参数增强,主要是增加RowID属性,并和之前兼容。
-将GetDeleteSelectedReference标识为已过时,请使用GetDeleteSelectedRowsReference。
+为GetAddNewRecordReference增加重载函数,可以指定增加行后进入编辑状态的列。
-增加示例:单元格编辑->新增删除->新增行(定位到某一列)。
-增加示例:单元格编辑->结束编辑->结束编辑(姓名不能为空);结束编辑(高亮单元格);结束编辑(更新单元格的值);
结束编辑(更新非可编辑单元格的值)。
+SelectedCell的数据类型由int[]改为string[](不兼容提醒!)。
-更新示例:单元格编辑->新增删除行->服务器端删除行。
-增加示例:单元格编辑->结束编辑->结束编辑(绑定数据后选中单元格)。
-增加属性SelectedRowIDArray、SelectedRowID。
-增加属性EnableRowDeselectEvent,更新示例:事件->行选中事件(取消选中事件)。
-表格列增加MinWidth,增加示例:列宽度->自适应列(多列);各列宽度自适应(最小列宽度)。
-表格增加EnableColumnResize属性,增加示例:标题栏菜单->隐藏标题栏;禁用表头菜单。
+优化导出文件的脚本。
-__doPostBack第一个参数指定是否AJAX请求,例如:__doPostBack(false, '', 'Confirm_OK')。
-JS变量F.control_enable_ajax更名为F.controlEnableAjax(不兼容提醒!)。
-GetCustomEventReference第一个参数指定是否AJAX请求,例如:GetCustomEventReference(false, "Confirm_OK")。
-更新示例:杂项->消息框->响应确定按钮(点击确定按钮后,下载文件);响应确定按钮(点击确定按钮后,先隐藏窗体再下载文件);
响应确定按钮(点击确定按钮后,先隐藏IFrame窗体再下载文件)。
-增加示例:表格控件->导出与下载->导出文件(双击下载);杂项->消息框->自定义对话框按钮文本。
+表单增强。
-增加配置项:FormRowItemsSpace(表单行子项之间的间距,默认为8px,对应于Form的FormRowItemsSpace属性)。
-Form控件重构,FormRow作为面板渲染到客户端,可以显示隐藏。
-Form中的表单元素响应Tab键时横向跳转,更加符合用户习惯(之前是纵向跳转)。
-更新示例:表单控件->杂项->隐藏表单字段;禁用与只读。
-增加示例:表单布局->标签文本水平居中;表单中的多行按钮;
-增加示例:杂项->自定义标签宽度和位置;标签换行;ColumnWidths混合使用百分比和固定宽度。
V4.1.6
-增加示例:表格控件->导出与下载->导出文件(FindControl,查找模板列中控件)。
-增加示例:表格控件->导出与下载->导出文件(多表头)。
-修正下拉列表数据绑定后在第一个位置插入项,而最终选中的非第一项的问题。
-修正下拉列表在没有数据项时,可能会触发SelectedIndexChanged事件的问题。
-BoxLayoutAlign的默认值由Start改为Stretch。
-增加示例:其他控件->选项卡控件->选项卡的位置。
-更新示例:表单控件->杂项->禁用与只读。
-修正AutoSizePanelID的面板中Submit按钮回车无效的问题(Ward_Lee)。
+支持一个面板拥有多个工具栏。
-增加示例:其他控件->工具栏与菜单->多行工具栏。
-增加示例:表格控件->分页与排序->数据库分页(底部工具栏)。
+重构表单改变确认对话框(不兼容提醒!)。
-删除Window控件的EnableConfirmOnClose属性,以及GetConfirmHideReference类似的5个方法。
-删除ActiveWindow中GetConfirmHideReference类似的5个方法。
-增加配置项EnableFormChangeConfirm,启用表单改变确认对话框(默认为false)。
-为面板控件增加GetClearDirtyReference方法,用来清空面板内表单字段的改变状态。
-更新示例:内联框架->窗体关闭前的确认对话框;保存按钮放在窗体工具栏中。
主要改动点
DropDownList默认可以为空
最大好处是方便使用Required属性做客户端验证,见下图:
FineUI v4 对必填项 - 审批人 - 的处理更加合理,实际效果更加好。
表格的 EnableRowNumber 属性变成了一个真正的列