SMART datagrid v.1 > Examples

Back  Forward

Cell Editing  Example

用户可以通过直接编辑数据单元格,修改或添加数据行的值。 首先,我们来了解一下修改现有行的方法。 

1. 行修改

如果将焦点移动至包含想要修改的行的数据单元格并输入F2键,就会开始显示设置在列中的编辑器。 如果在显示编辑器之后,相关单元格为可修改的状态,就可以开始进行编辑。 或者,也可以通过输入文本并显示编辑器的同时,开始进行输入。 显示编辑器之前,将会触发onShowEditor事件。 这时,如果在事件处理器中明确返回false,就不会显示编辑器,也不能进行单元格修改。 

为提交单元格编辑,可以通过输入EnterTab、方向键或点击鼠标,摆脱处于输入状态的单元格。 当提交单元格编辑时,将会触发onEditCommitted事件。 为正常提交编辑,必须通过验证。 在下列网格中,为实现"年度"值为2000以上而设置了验证。 

基本上,SMART datagrid格以行为单位提交编辑。 也就是说,只有提交行编辑,才能将所输入的值传递至数据组中。 为提交行编辑,可以使用方向键或点击鼠标,变更行的位置或直接调用GridBase.commit方法。 当提交行编辑时,将会触发GridBase.onEditRowCommitted事件。 当修改行时,如果将EditOptions.updateByCell指定为true,就可以提交单元格单位的行编辑。 

在显示编辑器的状态下,如果按Esc键,将会取消单元格编辑并触发onEditCanceled事件。 而且,在处于编辑状态的行中没有显示编辑器时,如果按Esc键,就会取消行编辑。 如果提交行编辑,就会触发onEditRowCanceled事件。 

  

Grid - 1
0 rows

编辑器的最小高度为设置在EditOptions.minEditorHeight属性中的22像素。 可以通过变更行的高度而进行测试。 

2. 行插入

如果将焦点移动至想要插入新行的位置上并输入Insert键,就会开始行插入。 单元格编辑和行编辑提交UI及事件是与行修改相同的。 只有将EditOptions.insertable指定为true,用户才能进行行插入。 另外,也可以通过调用GridBase.insert,开始行插入。 

 

当焦点在最后一行时,可以通过输入下方向键,开始行添加。 只有在appendable被指定为true时,用户才能进行行添加。 而且,也可以直接调用GridBase.append,开始行添加。 

 

  

Grid - 2
0 rows

查看源代码 JSP 

See Also
GridBase.focusedIndex
GridBase.onShowEditor
GridBase.onEditCommitted
GridBase.insert
GridBase.append
EditOptions.minEditorHeight
EditOptions.insertable
EditOptions.appendable
Examples
文本编辑器
列表编辑器
日期编辑器
数字编辑器
单元格验证
行验证
撤消(Undo)和重做(Redo)