WinForms数据网格单元的自定义截断?

时间:2015-09-16 22:27:57

标签: c# winforms datagrid

我有一个DataGrid,它包含一个键值列(二进制)。前60个数字是相同的,但它是独一无二的。我想做的是在中间截断:

<data name="DocuSign_WelcomeDialogHeader">Please Review &amp; Act on These Documents</data>

而不是在结尾:

0xAA00BB00CC...8A3B7F10CE829 // good

这很容易手动完成...除非包含数据网格的窗口调整大小,否则数据将保持其手动截断的形式。理想情况下,当调整单元格大小时,它会在结尾处显示更多二进制文件的唯一部分。但是,通过手动截断,我不再拥有

这样做的显而易见的方法是缓存所有完整值并订阅0xAA00BB00CC00DD00EE00FF0... // bad 事件,但是当自定义Resized委托可能执行此操作时,这似乎是一个非常大的开销。 / p>

对此最佳解决方案是什么?

1 个答案:

答案 0 :(得分:0)

  1. 使用code from similar answer(左侧的省略号)创建自己的列类型。
  2. 您唯一需要更改的内容(类型名称除外)是您在单元格中绘制的字符串的哪一部分。现在它在左边放置椭圆。把它们放在中间 - 而不是你需要的地方。它应该很容易,但如果您需要帮助,请告诉我。
  3. 我测试了解决方案(我需要它原样) - 它工作得很好。