Jface Table 行验证
Jface Table row validation
背景:
我有一个 Jface table,我在上面为每一列设置了文本单元格编辑器的编辑支持。大约有 20 列。
问题:
我想用深红色突出显示无效的行字段文本,用浅红色突出显示整行。
我目前尝试的方法:
1. 我使用标签提供程序 getBackgroundColor() 和 getForgroundColor() 突出显示了无效字段(行的单个单元格)。
2. 我尝试使用 CellEditors 的 setValidator() 方法来添加验证器,但我不想清除单元格中的无效文本,我只想突出显示它。
3. 我有一种方法可以为每个单元格使用一个标志来检查该单元格的有效性,如果任何标志为真,将突出显示该行的所有单元格(可以使用标签提供程序实现)。但是,我认为这种方法会影响我 table 的性能。
4. 我不确定 Jface 的 table updatatestrategy 对性能的影响。所以我没有使用它。
突出显示 table 整行的原因是: Table 有 20 多列,用户不想滚动 table找出问题所在。
如果您有更好的解决方案,请提出建议。
使用标签提供程序来获取颜色是实现此目的的方法。
仅在创建或刷新行时才要求标签提供程序提供颜色 - 通过调用查看器 refresh
或 update
方法之一,因此这不会影响性能。
背景: 我有一个 Jface table,我在上面为每一列设置了文本单元格编辑器的编辑支持。大约有 20 列。
问题: 我想用深红色突出显示无效的行字段文本,用浅红色突出显示整行。
我目前尝试的方法: 1. 我使用标签提供程序 getBackgroundColor() 和 getForgroundColor() 突出显示了无效字段(行的单个单元格)。 2. 我尝试使用 CellEditors 的 setValidator() 方法来添加验证器,但我不想清除单元格中的无效文本,我只想突出显示它。 3. 我有一种方法可以为每个单元格使用一个标志来检查该单元格的有效性,如果任何标志为真,将突出显示该行的所有单元格(可以使用标签提供程序实现)。但是,我认为这种方法会影响我 table 的性能。 4. 我不确定 Jface 的 table updatatestrategy 对性能的影响。所以我没有使用它。
突出显示 table 整行的原因是: Table 有 20 多列,用户不想滚动 table找出问题所在。
如果您有更好的解决方案,请提出建议。
使用标签提供程序来获取颜色是实现此目的的方法。
仅在创建或刷新行时才要求标签提供程序提供颜色 - 通过调用查看器 refresh
或 update
方法之一,因此这不会影响性能。