配置数据选择
栅格支持基于 RowSelection 小组件属性配置的单行和多行选择模式。默认情况下,行选择处于禁用状态。可使用 SelectedRowsLastClickedRow 小组件属性将所选数据行传递至混搭中的其他小组件或数据服务。例如,可传递欲在折线图小组件中显示的数据行。也可将属性用作数据服务的输入。可在设计时于栅格小组件的“属性”面板上配置选择。栅格支持通过直接单击选择单个行,或通过行选择列选择多个行。
无选择 (默认)
默认情况下,栅格小组件中的数据选择处于禁用状态,且当用户单击某行以将其选中时,系统仅会显示一个悬停状态。
单行选择
用户可通过单行选择来选择栅格上的其中一行。可通过单击行中的任意单元格来选择行。选定行将以特定颜色突出显示。可在栅格样式属性中或使用样式主题来更改此颜色。选定行将以信息表形式存储在 SelectedRows 小组件属性中。
* 
SelectedRows 属性包含栅格中排除列内的数据。
多行选择
启用多行选择后,系统会在栅格数据的左侧添加一个选择列。可使用标题行上的复选框来选择栅格内的所有数据,或选择某行旁的任意复选框以选中单个行。要按选择状态对栅格数据进行排序,请单击列标题中的排序按钮。
预先选择行
可使用以下两个小组件之一指定在运行时显示栅格后默认选择栅格上的哪些数据行:
DefaultSelectedRows - 通过键入或绑定指定某一范围的值来预先选择栅格上的数据行,例如 2–5,或以逗号分隔的数字列表,例如 2,3,6。此属性不会应用于树形栅格。
SelectedRows - 通过传递包含欲选择数据行的信息表来预先选择数据。例如,可将条形图数据服务的“选定行”输出属性传递至栅格小组件的 SelectedRows 输入属性。图表上的任意选择项都将在栅格中突出显示。
* 
当将 RowSelection 属性设置为“无”时,这些属性不会对选择造成任何影响。要选择单行或多行,就必须将 RowSelection 属性设置为“单行”“多行”
在 ThingWorx 9.3.4 和更高版本中,可使用以下属性配置有关树形栅格的选择:
SelectFocuedItem - 移动焦点框时自动选择聚焦行或单元格。可使用 FocusNavigationMode 属性配置移动焦点框时欲聚焦的元素。
IDPathSeperator - 设置欲在选择动态加载行时使用的特殊字符。可在 id 列下提供某一行的 ID 路径。默认分隔符为 :;
在树形栅格中选择动态加载行
要在尚未加载到客户端的树形栅格中展开和选择行,请提供一个至少包含一个 ID 列的信息表,该列由其中包含行 ID 指向选定行的完整路径的 IDFieldName 属性来指示。默认情况下,:; 字符组合用作路径分隔符,但您可以通过在 Mashup Builder 或 JSON 配置文件中设置 IDPathSeparator 属性来对其进行更改。
例如,如果需要选择 ID 为 ddd 的行,请创建一个包含 ID 值列的信息表:
//aaa:;bbb:;ccc:;ddd.
默认情况下,选择子项行时仅将子项 ID 传递至 SelectedRows 信息表。要包括选定子项的完整 ID 路径,请将 IncludeRowExpansionParents 属性设置为 true。当选定行信息表已发送到栅格,并且栅格尚未加载列出的行时,树形栅格会自动生成对绑定数据服务的请求。
禁用栅格上的行
可将信息表列添加至栅格数据以控制栅格中每行的禁用状态。要禁用栅格中的数据,请执行以下步骤:
1. “属性”面板上,将 AllowDisabledNodes 设置为 true。
2. 使用 DisabledStateField 属性选择包含禁用状态数据的信息表列。
要禁用树形栅格中已禁用父项行下的子项行,请启用 DisableChildNodes 属性。
3. 单击“保存”,然后查看混搭。
禁用状态数据会在运行时应用于各个行。
传递选定数据
当将行选择设置为“单行”“多行”时,可使用栅格的 SelectedRows 属性传递栅格上的选定数据。此属性具有双向绑定方向。可将属性绑定为输出或输入。使用输出绑定将栅格选择传递至其他数据服务或小组件,或将其用作绑定输入通过小组件或数据服务来控制行选择。要在禁用行选择的栅格中传递数据,请使用 LastClickedRow 信息表属性。此属性仅具有输出绑定方向,您可用其传递栅格上最后一个单击行的信息表数据。
响应行选择事件
当用户在运行时选择或单击某一行时,将触发 RowClicked 事件。当启用单行或多行选择时,将生成附加的 SelectedRowsChanged 事件。可使用其中一个事件执行函数和小组件中的数据服务或其他服务。
这对您有帮助吗?