jQuery MiniUI

 找回密码
 立即注册
查看: 1687|回复: 7
打印 上一主题 下一主题

Grid行编辑模式下的一些问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-10-22 16:33:59 |只看该作者 |倒序浏览
1. 如何在点击一个编辑按钮后,开启表格的allowCellEdit属性
2. 如何判断当前行是新建还是新增, 目的主要是设置一列在编辑模式下不能修改,在新增模式下可以

Rank: 8Rank: 8

沙发
发表于 2013-10-22 16:46:29 |只看该作者
1.grid.setAllowCellEdit(true/false)

2.新增的,当你获取该行的时候,会有个_state:"added"属性

比如你数据是这样的{id:"1",name:"xxx",age:"23",_state:"added"}
判断_state是否为added来确实该行数据是否为新增

Rank: 2

板凳
发表于 2013-10-22 22:42:12 |只看该作者
本帖最后由 jipinkuang 于 2013-10-23 08:06 编辑
factory 发表于 2013-10-22 16:46
1.grid.setAllowCellEdit(true/false)

2.新增的,当你获取该行的时候,会有个_state:"added"属性

1 如何在新增时,没有完成新增行的必填内容,不能再增加行,2 如何在新增行后,自动定位到新增行的单元格
3 如何使用一个取消按钮,可以清除掉没有进行保存的操作,已经新建的行,grid.cancelEdit()没有起作用,
4 grid.isEditing()为什么一直是false,

5 grid.validate 如何进行唯一性验证


Rank: 8Rank: 8

地板
发表于 2013-10-23 09:20:12 |只看该作者
jipinkuang 发表于 2013-10-22 22:42
1 如何在新增时,没有完成新增行的必填内容,不能再增加行,2 如何在新增行后,自动定位到新增行的单元格
3 ...

1.参考:http://www.miniui.com/demo/#src=datagrid/cellvalidation.html
每次在新增新行之前,都进行下表格验证,有不通过的,就不执行新增代码

2.grid.setCurrentCell(cell)  cel=[row,column]
grid.beginEditCell();

3.  var data = grid.getData()
获取当前页的数据,然后循环下,把你需要删除的行grid.removeRow(row)或者grid.removeRows(rows)

4.单元格编辑状态下,行编辑API失效,反之亦然
5.唯一性验证需要你自己判断,我们没有提供标准的唯一性验证规则

Rank: 2

5#
发表于 2013-10-23 09:31:38 |只看该作者
本帖最后由 jipinkuang 于 2013-10-23 09:33 编辑

if(grid.isValid()) {
                  var newRow = {};
          grid.addRow(newRow, 0);
                  grid.setAllowCellEdit(true)
                  };

还是可以继续新增行,请问哪里应该被修改

Rank: 8Rank: 8

6#
发表于 2013-10-23 10:07:24 |只看该作者
本帖最后由 factory 于 2013-10-23 10:08 编辑
jipinkuang 发表于 2013-10-23 09:31
if(grid.isValid()) {
                  var newRow = {};
          grid.addRow(newRow, 0);

你看你的grid.isvalid()为什么被通过了,你试试在表格执行grid.validate()之前,执行下grid.commitEdit()

Rank: 2

7#
发表于 2013-10-23 10:15:08 |只看该作者
grid.commitEdit();
if(grid.isValid()) {
  var newRow = {};
  grid.addRow(newRow, 0);
  grid.setCurrentCell(1);
  grid.setAllowCellEdit(true);
};

尝试过的

Rank: 8Rank: 8

8#
发表于 2013-10-23 10:21:39 |只看该作者
jipinkuang 发表于 2013-10-23 10:15
grid.commitEdit();
if(grid.isValid()) {
  var newRow = {};

grid.validate()呢??
你都没让表格进行验证啊

Archiver|普加软件

GMT+8, 2024-9-21 02:41 , Processed in 1.021292 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部