DataGridView单元格中的多行
本文关键字:单元格 DataGridView | 更新日期: 2023-09-27 18:13:26
使用C#
Windows Forms
;
我有一个DataGridView
与一些细胞。我想在单元格中显示数字(从1-9)。数字应按3x3
格式依次排列。
我四处看了看,最后只得到一个相当复杂的richtextbox
单元的自定义实现。
是否有一种方法,我可以画一个custom rectangle
,然后实现这作为backgroundimage
的细胞或什么?单元格需要重新绘制几次。所以我想我不能直接调用paint
事件。
注意:用户不能编辑单元格
我不知道这是否会让你满意,但你可以使用Environment.NewLine
在单元格内创建简单的换行符。
的例子:
string nl = Environment.NewLine; // new line variable
string data = "1 2 3" + nl + "4 5 6" + nl + "7 8 9";
补充道:
正如Adrian在评论中所说,你需要:
-
设置
DataGridViewColumn
的WrapMode为DataGridViewTriState.True
-
确保为行设置高度,或者将DataGridView的
AutoSizeRowsMode
设置为DataGridViewAutoSizeRowsMode.AllCells
如果您不想编辑该列-您可以将DataGridView.Column.ReadOnly
属性设置为true
。
更新:我花了一段时间才找到这个属性与上述信息。在VS c# 2017中,WrapMode属性位于datagridview DefaultCellStyle
对话框中。
作为补充:
dataGridView.Columns[x].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
x = Column-Index
右键单击GridView>>,, properties>的在DefaultCellStyle>的在Wrapmode = True