SMART datagrid v.1 > Concepts

[ grids ver.1.3.3]   Back  Forward

Concepts.Editable and ReadOnly  准备中...

用户可以在运行时间直接修改数据单元格的值的方法有,使用单元格编辑器以及可编辑的单元格渲染器、粘贴剪贴板、清除选中区域等。 特别是,我们可以在不修改值的情况下,通过只显示单元格编辑器,检查隐藏的部分。 这时,因为在网格UI特征上,我们可能会有必要在各个数据列、行或单元格级别,具体管理用户能否修改和能否显示编辑器等。 为用editable特征而管理能否在特定数据单元格显示编辑器和用readOnly特征而管理能否修改单元格的值, SMART datagrid格在多个位置提供属性、回调函数以及事件等。 

1. editable

在将要编辑的单元格显示编辑器之前,先确认相关单元格的editable状态。 按顺序检查下列多种路径后,如果变成false,就不会显示编辑器。 

Table-1  readOnly相关属性
属性默认值说明
GridBase.readModefalse如果为true,就会无关其他设置,将会在所有单元格无法进行编辑或修改。也就是说,所有单元格将会变成not editable。
EditOptions.editabletrue如果指定为false,就会无关其他设置,所有单元格将会变成not editable。
DataColumn.editableCallbacknull如果在这个回调函数中明确返回Boolean false或true,就会以相关值而决定editable,并且将会取消剩下的决定步骤。如果不返回值,就会运行下个决定阶段。
EditOptions.editableCallbacknull与上述列回调相同的方式运行。
DataColumn.editabletrue如果指定为false,包含在这个列中的单元格将会变成not editable。
EditOptions.fixedColumnEditabletrue如果指定为false,包含在固定列中的单元格将会变成not editable。
EditOptions.fixedRowEditabletrue如果指定为false,包含在固定行中的单元格将会变成not editable。
EditOptions.deletedRowEditablefalse如果指定为true,包含在删除状态的行中的单元格将会变成editable。
2. readOnly

通过使用编辑器和渲染器或粘贴或清除选中区域等,可以在修改值之前,确认将要编辑的单元格的readOnly状态。 按顺序检查下列多种路径后,如果变成true,就无法修改值。 

Table-2  readOny决定顺序
属性默认值说明
GridBase.readModefalse如果为true,就会无关其他设置,将会在所有单元格无法进行编辑或修改。也就是说,所有单元格将会变成readOnly。
EditOptions.readOnlyfalse如果指定为true,就会无关其他设置,所有单元格将会变成readOnly。而且,行修改、添加、删除等都会无法实现。
DataField.updatablefalse如果连接在编辑单元格的数据字段为无法修改的字段或updatablefalse,将会变成readOnly。
DataColumn.readOnlyCallbacknull如果在这个回调函数中明确返回Boolean false或true,就会以相关值而决定readOnly,并且将会取消剩下的决定步骤。如果不返回值,就会运行下个决定阶段。
EditOptions.readOnlyCallbacknull与上述列回调相同的方式运行。
DataColumn.readOnlyfalse如果指定为true,包含在这个列中的单元格将会变成readOnly。
EditOptions.fixedColumnReadOnlyfalse如果指定为true,包含在固定列中的单元格将会变成readOnly。
EditOptions.fixedRowReadOnlyfalse如果指定为true,包含在固定行中的单元格将会变成readOnly。
EditOptions.deletedRowReadOnlytrue如果指定为true,包含在删除状态的行中的单元格将会变成readOnly。
See Also
单元格编辑概述
Examples
只读和可编辑