我在使用 vb.net 的基础设施 ultragrid 时遇到问题。我目前有一个值为“inner”的单元格,但是我希望能够为该单元格显示一个完全不同的字符串而不会丢失该值。我知道单元格有两个属性,一个值属性和一个文本属性。text 属性是只读的,所以我不能简单地为其分配一个新字符串。任何建议都会很棒!
非常感谢,阿德姆
我在使用 vb.net 的基础设施 ultragrid 时遇到问题。我目前有一个值为“inner”的单元格,但是我希望能够为该单元格显示一个完全不同的字符串而不会丢失该值。我知道单元格有两个属性,一个值属性和一个文本属性。text 属性是只读的,所以我不能简单地为其分配一个新字符串。任何建议都会很棒!
非常感谢,阿德姆
根据您的实现,您可能需要使用ValueList来执行此操作。
单元格的 Text 属性不能包含与其 Value 属性不同的内容。设置 Text 会覆盖 Value 属性中已有的内容。最好直接设置 Value 属性,这样您就可以设置类型化对象。
如果您需要显示的文本与列的值不同,您可以将 UltraGridColumn.ValueList 添加到包含文本和值对列表的列中。即使您不想使列可编辑,也可以使用 ValueList 来执行此操作。
您可以通过其他方法来处理此问题,但这取决于您的情况。例如,如果在运行期间无法更改文本/值组合,则可能更适合您将隐藏列添加到包含与您显示的“文本”相对应的“值”的网格中。
另一方面,如果您的方案要求用户能够从项目列表中进行选择,并且您想要获取所选项目的关联值,那么 ValueList 是可行的方法。这篇文章提供了一个如何将 UltraGridColumn 绑定到 ValueList 的简单示例。