在 datagridview vb.NET 中分割单元格。这可能吗?
我需要在 datagridview 控件 @ VB.NET 中向用户表示不同的 4 种(最多,可能 2 或 3 种)颜色。一个示例单元格是:
---------------
| Blue | Red |
--------------- <<<- A Cell
| Gray | Blue |
---------------
因此,
我需要将单元格拆分为不同的大小或计数。我知道可以合并单元格,是否可以反向合并?或者有人对这个问题有任何想法吗?
先感谢您。
I need to represent different 4 (max, maybe 2 or 3) colors to the user in datagridview control @ VB.NET. An example cell would be:
---------------
| Blue | Red |
--------------- <<<- A Cell
| Gray | Blue |
---------------
So,
i need to split a cell to different size or counts. I know merging cells is possible, is opposite-merge possible? Or anybody have any idea for this problem?
Thank you in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我可以想到三种解决方案:
拥有额外的列和行,以便您可以将它们合并为您期望的任何模式。
处理
DataGridView.RowPrePaint
事件。记录行索引以便在以下事件中使用。处理
DataGridView.CellPainting
事件。您可以从事件参数 (e
) 获取列索引、单元格边界和图形处理程序。调用e.Graphics.FillRectange()
创建一个继承自
System.Windows.Forms.DataGridViewCell
的自定义类。添加属性来定义单元格分割和颜色。在 Paint 事件中编写您的自定义绘画。使用这些单元格类型填充 DataGridView。I can think of three solutions:
Have extra columns and rows so you can merge them into any pattern you'd expect.
Handle the
DataGridView.RowPrePaint
event. Record the row index for use in the following event.Handle the
DataGridView.CellPainting
event. You can get the column index, cell bounds, and graphics handler from the event args (e
). Calle.Graphics.FillRectange()
Create a custom class inheriting from
System.Windows.Forms.DataGridViewCell
. Add properties to define the cell splitting and colours. Write your custom painting in the Paint event. Populate the DataGridView with these cell types.