自定义截断WinForms数据网格单元格
本文关键字:数据网 网格 单元格 数据 WinForms 自定义 | 更新日期: 2023-09-27 18:13:08
我有一个包含键值(二进制)列的DataGrid。前60位是一样的,但之后是独一无二的。我想做的是在中间截断:
0xAA00BB00CC...8A3B7F10CE829 // good
而不是在末尾:
0xAA00BB00CC00DD00EE00FF0... // bad
手动操作很容易…除非包含数据网格的窗口调整大小,否则数据将保持其手动截断的形式。理想情况下,当单元格调整大小时,它将在最后显示二进制文件的更多独特部分。但是,通过手动截断,我不再拥有
最明显的方法是缓存所有的完整值并订阅Resized
事件,但是当自定义TruncateString()
委托可能这样做时,这似乎是一个可怕的大量开销。
这个问题的最佳解决方案是什么?
- 使用类似答案中的代码(左边的省略号)创建自己的列类型。
- 您唯一需要更改的(除了类型名称)是将字符串的哪一部分绘制到单元格中。现在它在左边放置省略号。把它们放在中间——你需要的地方。这应该很容易,但如果你需要帮助,告诉我。
我测试了这个解决方案(我需要它)-它工作得很好。