jQuery MiniUI
标题:
使用过程中发现DataGrid 、ComboBox等的一些问题和想法
[打印本页]
作者:
xiwa
时间:
2012-4-16 00:04:48
标题:
使用过程中发现DataGrid 、ComboBox等的一些问题和想法
本帖最后由 xiwa 于 2012-4-16 00:06 编辑
几天没弄MiniUI了,前几天在做一个表单页面时发现的一些问题,有的可能对API不了解,可能有的只是自己的一些片面的看法。
希望MiniUI越做越好!
1. DataGrid 的rowdblclick事件xx(sender,record),鼠标双击时调用了两次并且record的值为undefinde。
而且很多类似事件回调方法,第2个参数都没值,和API上描述的不一致。
2. 控件使用方法链调用就更方便了,如:ButtonEdit的setValue().setText()
3. <a class="mini-button close_window" iconCls="icon-cancel" >关闭</a>
$(".close_window").click(function () {
alert(1);
});
点击按钮时click执行了两次,框架本身基于jquery,要是支持这种写法就好了。
4. ButtonEdit,怎么设置不能输入,只能从"..."按钮选择呢?设置enabled="false"或readonly="true"禁用了,但是上面的"..."按 钮也点不了
5. DataGrid
grid.on("rowclick",function(sender){
grid.beginEditRow(sender.row);
});
当row处理编辑状态时,点击编辑状态中的文本框,文本框得不到焦点,无法输入。
6. DataGrid 编辑状态中对ButtonEdit这类要同时设置text和value的控件支持不够,不能自动设置Text。
建议设置单元格值增加对象类型支持,如:row={type:{Value:xx,Text:"xx"}}
7. 建议DataGrid 编辑控件的.mini-grid-editor width默认设置为100%,headerAlign默认设置为居中
8. DataGrid编辑控件:
var row={num:0};
grid.addRow(row);
grid.beginEditRow(row);
当num为0时编辑框显示的内容为空。
9. 建议CombBox的项可以直接通过html设置,如:<div class="mini-combobox" data="[{value:1,text:'aaa'}]"...
10. 在线示例=>ComboBox 联动下拉选择中:设置combobox初始值为cn<input class="mini-combobox" value="cn" />,
未能显示初始值,需要手动setValue。
11. combobox项只有一项时,鼠标移到项上时底部有7个像素的空白。
12. 关闭tab时产生的activechanged事件中,activechanged事件的sender参数值是空,期望是新激活的那个tab。
作者:
fcrong
时间:
2012-4-16 12:55:30
非常感谢你的意见和建议,回复一一如下:
1. DataGrid 的rowdblclick事件xx(sender,record),鼠标双击时调用了两次并且record的值为undefinde。
而且很多类似事件回调方法,第2个参数都没值,和API上描述的不一致。
答:应该是onRowDblClick(e) ,然后e.sender是控件对象,e.record是行对象。
2. 控件使用方法链调用就更方便了,如:ButtonEdit的setValue().setText()
答:不支持方法链。比如btn.setValue(), btn.setText()方式调用,代码更清晰、标准。
3. <a class="mini-button close_window" iconCls="icon-cancel" >关闭</a>
$(".close_window").click(function () {
alert(1);
});
点击按钮时click执行了两次,框架本身基于jquery,要是支持这种写法就好了。
答:请使用miniui提供的事件来处理。
4. ButtonEdit,怎么设置不能输入,只能从"..."按钮选择呢?设置enabled="false"或readonly="true"禁用了,但是上面的"..."按 钮也点不了
答:可以设置:allowInput="false"。就可以了。
5. DataGrid
grid.on("rowclick",function(sender){
grid.beginEditRow(sender.row);
});
当row处理编辑状态时,点击编辑状态中的文本框,文本框得不到焦点,无法输入。
答:如果有这样的情况,那应该是BUG。请说明浏览器版本,以及提供示例代码。
6. DataGrid 编辑状态中对ButtonEdit这类要同时设置text和value的控件支持不够,不能自动设置Text。
建议设置单元格值增加对象类型支持,如:row={type:{Value:xx,Text:"xx"}}
答:已经可以。参考:
http://miniui.com/demo/#src=datagrid/rowedit_openpage.html
设置列的 displayField="manager_name",就对应到控件的text属性。
7. 建议DataGrid 编辑控件的.mini-grid-editor width默认设置为100%,headerAlign默认设置为居中
答:非常好的建议。以后会考虑实现。
8. DataGrid编辑控件:
var row={num:0};
grid.addRow(row);
grid.beginEditRow(row);
当num为0时编辑框显示的内容为空。
答:应该是BUG,我们会测试修复。
9. 建议CombBox的项可以直接通过html设置,如:<div class="mini-combobox" data="[{value:1,text:'aaa'}]"...
答:现在就支持的。
10. 在线示例=>ComboBox 联动下拉选择中:设置combobox初始值为cn<input class="mini-combobox" value="cn" />,
未能显示初始值,需要手动setValue。
答:初始值value其实是设置好的,只是你缺少data,没有文本。
11. combobox项只有一项时,鼠标移到项上时底部有7个像素的空白。
答:下拉框有默认最小高度,这个其实不是什么问题。
12. 关闭tab时产生的activechanged事件中,activechanged事件的sender参数值是空,期望是新激活的那个tab。
答:onactivechanged(e) e.tab就是激活的那个。
你对miniui的事件还不了解,可以看开发教程。
作者:
xiwa
时间:
2012-4-16 15:30:11
OK,先mark一下,有空再看看。
作者:
xiwa
时间:
2012-4-18 14:14:58
5. DataGrid
grid.on("rowclick",function(sender){
grid.beginEditRow(sender.row);
});
当row处理编辑状态时,点击编辑状态中的文本框,文本框得不到焦点,无法输入。
答:如果有这样的情况,那应该是BUG。请说明浏览器版本,以及提供示例代码。
回:见:
http://miniui.com/demo/#src=datagrid/rowedit_openpage.html
浏览器:Chrome 18.0.1025.162
添加代码:
dept_grid.on("rowclick",function(sender){
dept_grid.beginEditRow(sender.row);
});
10. 在线示例=>ComboBox 联动下拉选择中:设置combobox初始值为cn<input class="mini-combobox" value="cn" />,
未能显示初始值,需要手动setValue。
答:初始值value其实是设置好的,只是你缺少data,没有文本。
回:见:
http://miniui.com/demo/#src=combobox/linkage-combo.html
为国家下拉html添加: value="cn"
有data:countryCombo.load(countrys)
通过url加载data没问题。
作者:
fcrong
时间:
2012-4-22 18:21:05
5)当row处理编辑状态时,点击编辑状态中的文本框,文本框得不到焦点,无法输入。
你应该先判断此行是否处于编辑状态:
if(grid.isEditingRow(row) == false){
grid.beginEditRow(row);
}
10)需要先加载combobox的数据后,再设置value
欢迎光临 jQuery MiniUI (http://miniui.com/discuss/)
Powered by Discuz! X2