Mashup Builder > 小组件 > 标准小组件 > 栅格小组件 > 在栅格小组件内编辑数据
在栅格小组件内编辑数据
要启用栅格小组件中的编辑功能,请执行以下步骤:
1. 在 Mashup Builder 中,选择工作区内的栅格小组件或使用“资源管理器”面板对其进行选择。
2. “属性”面板上,将 IsEditable 设置为 True,然后单击 配置小组件按钮 以打开小组件配置对话框。
3. 在左侧窗格中,选取一列,然后在右侧窗格中选中“可编辑”复选框。
或者,配置以下选项:
选中“必填”复选框,以指示在编辑单元格内容时始终需要填写值。
“验证表达式”框中定义验证表达式,以对单元格内容应用验证规则。
定义要针对验证显示的消息和详细信息。
4. 对要编辑的任意列重复上一步骤。
5. 单击“完成”以关闭对话框,然后保存混搭。
选取编辑模式
要控制运行时栅格的编辑方式,请将小组件 EditLevel 属性设置为下列选项之一:
“整个栅格”- 编辑各个单元格并使用按钮或服务手动保存更改。
“单行”- 使用表单单独编辑行。
“一个单元格”- 单独编辑单元格并在编辑完成后自动保存更改。
在对已启用验证的列进行编辑时,系统将对输入进行评估,以确保您输入的数据有效。验证失败时,会显示一条错误消息,且不会保存更改。有关验证的详细信息,请参阅验证栅格内的输入
您也可以启用 EditButton 属性而不是 IsEditable 属性。如果将此属性设置为 true,则系统会在栅格工具栏中添加一个编辑按钮。您可以在运行时单击此按钮,以打开或关闭编辑模式。
栅格编辑模式
栅格编辑模式允许您更新多个单元格,然后单击“保存”按钮以同时保存所有更改。
下图显示了编辑整个栅格时,运行时小组件左上角区域中的编辑按钮。
单击“编辑”后,将显示“保存”“取消”按钮。对于在栅格上启用了编辑功能的每个单元格,会显示编辑控件。您可以编辑一个或多个单元格的数据,然后单击“保存”以保存编辑。要突出显示包含未保存编辑内容的单元格,请将 HighlightDraftState 属性设置为 True。将使用不同背景颜色来指示包含编辑内容的单元格。
以下编辑事件适用于此模式:
EditStarted - 将在您单击“编辑”时触发。
EditCompleted - 将在您单击“保存”时触发。
EditCancelled - 将在您单击“取消”时触发。
行编辑模式
行编辑模式允许您一次编辑一行。启用此模式后,将在栅格的左侧添加一个包含编辑控件的列。下图显示了设置为行编辑模式的栅格小组件。
要编辑行,请单击编辑图标或链接。将显示包含该行中单元格的编辑表单。对值进行编辑后,单击“更新”以保存对当前行所做的任何更改。
以下编辑事件适用于此模式:
EditRowStarted - 将在您单击编辑图标或链接以开始使用表单编辑行时触发。
EditRowCompleted - 将在您单击“更新”时触发。
EditCancelled - 将在您单击“取消”时触发。
单元格编辑模式
以下编辑事件适用于此模式:
EditCellStarted - 将在您单击编辑图标或链接以开始编辑单元格时触发。
EditCellCompleted - 将在您更改值后按 Enter 键或在单元格外单击时触发。
EditCancelled - 将在您取消单元格编辑时触发。
您可以通过单击单元格的编辑图标或链接来编辑它。当编辑框处于启用状态时,将显示不带任何格式的原始值。完成编辑后,将应用列呈现器来设置值的格式。有关呈现器的详细信息,请参阅栅格列呈现器和格式
* 
要取消编辑而不保存更改,请按 Esc 键。
配置编辑控件
使用 EditControlType 属性显示编辑控件的图标或链接。您可以使用 EditControlIcon 属性将图标替换为服务器上的任何媒体实体。要更改链接的默认编辑标签,请使用 EditControlLabel 属性。默认情况下,编辑控件将在您将指针置于单元格上时显示。您可以使用 EditControlVisibility 属性配置编辑控件的可见性。
启用使用 JSON 配置数据进行编辑
添加以下顶层全局属性,即可在 JSON 配置中启用单元格编辑。
var config = { “cellEditingEnabled”: true, “columns”: ... } };
要启用对列的编辑,请添加以下 JSON 数据:
...
“ColumnFormatter”: {
“type”: “boolean”,
“format”: “notext”,
“cellEditor”: {
“enabled”: true, // *{boolean} to indicate whether cell editing is enable for this column
},
}
...
这对您有帮助吗?