2008-07-23
★汇总★GT-Grid "缺陷,、bug、计划"汇总.
关键字: ajax, grid
TODO:
loading层无法被正确隐藏的bug(会遮挡住列表或对话框) (ok)
column属性名变更 hdalign --> headAlign (ok)
column属性名变更 sortstate --> sortOrder(ok)
加入调整列宽后事件 grid.afterColumnResize(colObj,newWidth,grid); (ok)
编辑时错位 (编辑n列时 显示了n+1列的编辑器 (n+1列编组) ) (ok)
bug : gt进行删除,点击保存后,在服务端故意抛出一个异常,返回excepion信息和success:false后,页面弹出了异常信息,点击确定后,页面上的那个一直在滚动的层(提示正在执行操作的信息)一直不消失,整个页面一直保持锁定状态
sortstate -> sortOrder
建议把皮肤文件夹的名字china -> pink
activeColumn activeCell 如果字段是readonly,就不能激发
query 能不能和reload或者load合并
重新整理 reload 与 gotoPage 的关系
重新设计 recount 功能的实现
完善 destroy reRender
高度随着内容的变化而变化
列的百分比 或 指定某一列的自适应
columnInfo sortInfo filterInfo 对应的服务端模型
减少对 refreshState 的调用次数 (ok)
第一页 时 pageNum=1 不是 0 ? (ok)
重构 pageInfo属性 (ok)
pageInfo的优先级问题
(开发者手动设置的pageInfo 只能是客户端的,
而分页信息必须在某些时候是 以服务端为主
而有些时候应该以客户端为主
需要开关设置)
=========================
分割式分组
tr td renderer
自定义编辑器
"显示态"编辑器 (非编辑态 显示直接编辑器)
文字按钮
查询的示例(form+grid)
完善示例, 去掉"不建议使用"的用法, 如GT.Grid.render(..) 等等
getDisplayColumns (fixed)
column.renderer支持字符串模板 (fixed)
exception回调函数 : loadFailure/saveFailure (fixed)
完善checkBox Column selectRowByCheck (fixed)
自定义简单toolbar按钮 (fixed)
完善对导出的支持 (fixed)
提交所有数据
纵向统计
多重排序
多重分组 (两种分组方式 : 合并 和 group-header )
bug :看来GT-GRID是把上次异常的信息保存起来而没有及时的清除,只有刷新页面才能清除gt-grid里头的异常信息 (未发现此bug)
bug : setColumnValue 脏数据 (fixed)
================
改进: 属性分离 列的当前排序状态 和 欲排序状态
优化打印时的资源占用 ( media:print block , 非打印 none )
将gt-grid拆分, 分离出 "无编辑功能版本" .
完善对鼠标右键的支持 以及键盘控制
调整颜色单元格在不同状态下的颜色 增强对比
进一步完善皮肤风格
分组统计
treetable
导出功能
jspTag
================
缺陷与bug:
1 新增数据 翻页保留时 到最后 一页会出现 双份的'新增数据". (fixed)
2 跳转到指定页面 不支持回车键跳转. (fixed)
3 打印对应的样式 (线条 颜色 宽度 等) (fixed)
4 日期组件的定位 以及stopEvent事件(fixed 考虑更换日期组件ing...)
5 提交数据前对 新增数据进行校验. (fixed)
6 完善自定义 getSortValue 功能. (fixed)
7 导出的支持 (fixed)
(提供导出按钮以及相应的导出机制,
但是不提供"从数据自动生成目标文件的功能",需要用户自己实现)
8 打印当前客户端数据集, 而不仅仅是当前页 (fixed)
9 增加 textarea editor (fixed)
10 排序增加自定义column.sortFn,实现对localeCompare 的支持 (fixed)
11 重写编组的算法,提高性能 (fixed)
12 增加 onSelectCell 事件 (fixed)
13 实现 grid的 parameters 和 queryParameters (fixed)
14 增加 column.setHeader (fixed)
15 表格没有数据的时候怎么添加横向滚动条 (fixed)
16 完善预冻结列/冻结列 , 冻结与非冻结同步, 冻结列的编辑 , 以及索引列... (fixed)
17 实现"只提交记录的改动字段"功能 (fixed)
================
文档计划:
过滤 查询(addParameter)
排序
4 5 章重写
使用说明
EditDialog ---> DialogEditor
===================
我 对于新功能 新需求的一个态度.
我是否提供一个功能, 通常从以下角度来衡量(排名不分先后):
我是否有能力做出来
(没能力做的 当然不做了)
是否有成功的范例
(可以参考借鉴学习的优秀范例)
要编写的代码量和难度,
(投入)
带来的潜在风险,
(代码越多越复杂 风险和隐患越多)
带来的测试用例数目,
(新功能是否容易测试, 如果用10天开发 要用1个月去测试,那我情愿先不开发)
有此需求的客户数量与"全部客户数量"的比值
(利用率高低)
对于有此需求的客户而言,该功能的重要程度(必须有 最好是有, 可有可无...)
(重要程度)
该功能是否能够成为显著的亮点
(是否可以拿来作为产品的亮点 四处炫耀 嘿嘿)
该功能开发出来之后 是否能够有较好的效果
(是否适合用js实现等等... 我不愿意用某一种技术实现一个并不适合使用这种技术来实现的功能)
该功能的易用性
(如果这个功能 很难被大家学会如何使用 那么我情愿先不做)
loading层无法被正确隐藏的bug(会遮挡住列表或对话框) (ok)
column属性名变更 hdalign --> headAlign (ok)
column属性名变更 sortstate --> sortOrder(ok)
加入调整列宽后事件 grid.afterColumnResize(colObj,newWidth,grid); (ok)
编辑时错位 (编辑n列时 显示了n+1列的编辑器 (n+1列编组) ) (ok)
bug : gt进行删除,点击保存后,在服务端故意抛出一个异常,返回excepion信息和success:false后,页面弹出了异常信息,点击确定后,页面上的那个一直在滚动的层(提示正在执行操作的信息)一直不消失,整个页面一直保持锁定状态
sortstate -> sortOrder
建议把皮肤文件夹的名字china -> pink
activeColumn activeCell 如果字段是readonly,就不能激发
query 能不能和reload或者load合并
重新整理 reload 与 gotoPage 的关系
重新设计 recount 功能的实现
完善 destroy reRender
高度随着内容的变化而变化
列的百分比 或 指定某一列的自适应
columnInfo sortInfo filterInfo 对应的服务端模型
减少对 refreshState 的调用次数 (ok)
第一页 时 pageNum=1 不是 0 ? (ok)
重构 pageInfo属性 (ok)
pageInfo的优先级问题
(开发者手动设置的pageInfo 只能是客户端的,
而分页信息必须在某些时候是 以服务端为主
而有些时候应该以客户端为主
需要开关设置)
=========================
分割式分组
tr td renderer
自定义编辑器
"显示态"编辑器 (非编辑态 显示直接编辑器)
文字按钮
查询的示例(form+grid)
完善示例, 去掉"不建议使用"的用法, 如GT.Grid.render(..) 等等
getDisplayColumns (fixed)
column.renderer支持字符串模板 (fixed)
exception回调函数 : loadFailure/saveFailure (fixed)
完善checkBox Column selectRowByCheck (fixed)
自定义简单toolbar按钮 (fixed)
完善对导出的支持 (fixed)
提交所有数据
纵向统计
多重排序
多重分组 (两种分组方式 : 合并 和 group-header )
bug :看来GT-GRID是把上次异常的信息保存起来而没有及时的清除,只有刷新页面才能清除gt-grid里头的异常信息 (未发现此bug)
bug : setColumnValue 脏数据 (fixed)
================
改进: 属性分离 列的当前排序状态 和 欲排序状态
优化打印时的资源占用 ( media:print block , 非打印 none )
将gt-grid拆分, 分离出 "无编辑功能版本" .
完善对鼠标右键的支持 以及键盘控制
调整颜色单元格在不同状态下的颜色 增强对比
进一步完善皮肤风格
分组统计
treetable
导出功能
jspTag
================
缺陷与bug:
1 新增数据 翻页保留时 到最后 一页会出现 双份的'新增数据". (fixed)
2 跳转到指定页面 不支持回车键跳转. (fixed)
3 打印对应的样式 (线条 颜色 宽度 等) (fixed)
4 日期组件的定位 以及stopEvent事件(fixed 考虑更换日期组件ing...)
5 提交数据前对 新增数据进行校验. (fixed)
6 完善自定义 getSortValue 功能. (fixed)
7 导出的支持 (fixed)
(提供导出按钮以及相应的导出机制,
但是不提供"从数据自动生成目标文件的功能",需要用户自己实现)
8 打印当前客户端数据集, 而不仅仅是当前页 (fixed)
9 增加 textarea editor (fixed)
10 排序增加自定义column.sortFn,实现对localeCompare 的支持 (fixed)
11 重写编组的算法,提高性能 (fixed)
12 增加 onSelectCell 事件 (fixed)
13 实现 grid的 parameters 和 queryParameters (fixed)
14 增加 column.setHeader (fixed)
15 表格没有数据的时候怎么添加横向滚动条 (fixed)
16 完善预冻结列/冻结列 , 冻结与非冻结同步, 冻结列的编辑 , 以及索引列... (fixed)
17 实现"只提交记录的改动字段"功能 (fixed)
================
文档计划:
过滤 查询(addParameter)
排序
4 5 章重写
使用说明
EditDialog ---> DialogEditor
===================
我 对于新功能 新需求的一个态度.
我是否提供一个功能, 通常从以下角度来衡量(排名不分先后):
我是否有能力做出来
(没能力做的 当然不做了)
是否有成功的范例
(可以参考借鉴学习的优秀范例)
要编写的代码量和难度,
(投入)
带来的潜在风险,
(代码越多越复杂 风险和隐患越多)
带来的测试用例数目,
(新功能是否容易测试, 如果用10天开发 要用1个月去测试,那我情愿先不开发)
有此需求的客户数量与"全部客户数量"的比值
(利用率高低)
对于有此需求的客户而言,该功能的重要程度(必须有 最好是有, 可有可无...)
(重要程度)
该功能是否能够成为显著的亮点
(是否可以拿来作为产品的亮点 四处炫耀 嘿嘿)
该功能开发出来之后 是否能够有较好的效果
(是否适合用js实现等等... 我不愿意用某一种技术实现一个并不适合使用这种技术来实现的功能)
该功能的易用性
(如果这个功能 很难被大家学会如何使用 那么我情愿先不做)


评论
- Firefox 3.02: 完全不能用 (连打印对话框都出不来)
- IE 8 Beta 2: 会出来一个打印页
- IE 7: 完全不能用 (打印对话框能出来,但是打不出东西)
- Apple Safari 3.1.2: 兼容的很好
发现在后台过滤得情况下,第一次确定, 第二次点再打开那个过滤窗口,发现第一次那个loading小窗口没有消失,遮住了过滤窗口。
这个问题我也发生过
然后自己来解析并处理它们
关于懒加载:
如果你希望 点击某个按钮之后再加载数据,那么:
你可以先不指定 loadURL
在 query按钮中指定 然后调用 mygrid.refresh()
下一版本也许会考虑提供一个关于懒加载的参数
toolbarContent : 'filter | reload',
只是前台过滤把,怎么弄成后台过滤呢。
我看了api 发现
“load操作 客户端提交的json串:、
filterInfo : [ {
columnId : "过滤的列id" ,
fieldName : "过滤的列对应的dataset中的field字段名" ,
logic : "过滤的逻辑", // 可选: equal notEqual less great lessEqual greatEqual like startWith endWith
value : "过滤的值"
}
]
”
看上去有这功能 ,在GridServerHandler里头也有initFilterInfo()
但是我怎么配置gridConfig呢
你说的是个bug 一下版本会修正
我先指定 onClickCell : getchangedata,
function getchangedata(value, record , cell, row, colNO, rowNO,columnObj,grid){
if(value==0)
{
grid.setColumnValue('activate',rowNO,1);
alert(grid.getColumnValue('activate',record));
document.getElementById(rowNO+'activate').src="../js/sigma/demos/images/icons_Completed.gif"
}
else
{
grid.setColumnValue('activate',rowNO,0);
alert(grid.getColumnValue('activate',record));
document.getElementById(rowNO+'activate').src="../js/sigma/demos/images/icons_Error.gif"
}
}
但是保存的时候,说没有数据改变,操作取消
增加/在某行后插入一行
删除某行
使某行进入编辑状态
使某个单元格进入编辑状态
你确定是 mydemo_07.html???
显示一个编辑器时, 你要把单元格对应的数据 setValue 给编辑器
编辑结束时, 要把编辑器里输入的时 返回 通过 getValue 取得 设置到数据记录中
有个问题请教下:我下载了gt-grid_1.0_b20080808其中的_doc/mydemo_07.html中删除每页第一条记录时,点击“-”后无反应,只有先删除别的记录后才能删除第一行记录,不知道是什么原因。
PS:能不能粗略的说下自定义编译器里的setValue, getValue等方法的作用吗?
正式版本会提供这个支持
有个问题想请教。
请问在表格没有数据的时候怎么添加横向滚动条呢?
假如我做的表格列非常多,而显示空间不够,在没有数据的时候就看不到后面的列了
例如将mydemo1.html中的data1设为空数组,英语那一列只能显示一部分
你是在哪个demo里发现的?
如果是mydemo10 那么你看一下 第一条和最后一条的性别是不是为未知?
在示例10里 性别为未知的记录是不接受删除和编辑的
我是运行gtdemo里的例子list3.jsp. 我这里还是出现这个问题。具体还不知道是什么原因?
你是在哪个demo里发现的?
如果是mydemo10 那么你看一下 第一条和最后一条的性别是不是为未知?
在示例10里 性别为未知的记录是不接受删除和编辑的
2 支持 但是不是以接口形式
而是 以定义的形式.