1

我有一个半动态创建的窗口(并使用 PowerBuilder 10.5)。现在有几列可以有不同的颜色,我想在选择一行时看到这些颜色。但是我不知道如何取消选择这些列并使前几列保持选中状态。我们应用程序中的 highlight 函数只是执行 dw.selectrow( x, true )。

问候, 马里努斯

4

2 回答 2

0

我不认为你会得到你想要使用的东西selectrow。如果您不需要多项选择,您可以使用数据窗口中的表达式更改当前行的背景。如果您希望某些列保持正常,您可以在要突出显示的列后面添加一个矩形,而不是更改行颜色。如果您需要突出显示多行,则必须通过添加一个虚拟列并使用它来控制背景来模拟多选,当然您需要处理clicked事件中的选择和取消选择。如果您有处理选定行的代码,则必须更改它们以使用新方案,例如通过检查虚拟列中的值。

于 2011-06-08T16:54:17.983 回答
0

如果您想使用 SelectRow(),也许使用 SetRowFocusIndicator() 会有所帮助。IIRC(自从我使用它以来,它已经非常接近十年* s *),它禁用了行着色以支持新方法。

想到的另一种方法是设置使用 GetRow() 和 CurrentRow() 的背景颜色表达式。这不是我的首选,因为它不会让视力受损的用户通过标准 Windows 颜色选择来选择他们可以处理的颜色,但是如果您对选择性列上的颜色指示一无所知,这将是要走的路。

祝你好运,

特里。

于 2011-06-08T19:44:47.033 回答