DataGridView单元格中的多行

时间:2013-05-13 03:12:15

标签: c# winforms datagridview

使用C# Windows Forms;

我有一个DataGridView,其中包含多个单元格。我想在单元格中显示数字(从1-9开始)。数字应以3x3格式放在彼此之下。

我环顾四周,最后只得到了richtextbox单元格的相当复杂的自定义实现。

有没有办法可以绘制custom rectangle,然后将其作为单元格的backgroundimage实现?细胞需要重新绘制几次。所以我不能只调用paint事件。

注意:用户不得编辑该单元格。

3 个答案:

答案 0 :(得分:18)

我不知道这是否会让您满意,但您可以使用Environment.NewLine在单元格内创建简单的换行符。

示例:

string nl = Environment.NewLine; // new line variable
string data = "1 2 3" + nl + "4 5 6" + nl + "7 8 9";

稍后添加:

正如Adrian在评论中所说 - 你需要:

  1. DataGridViewColumn的WrapMode设置为DataGridViewTriState.True

  2. 确保为行设置高度,或将DataGridView的AutoSizeRowsMode设置为DataGridViewAutoSizeRowsMode.AllCells

  3. 如果您不想修改该列,可以将DataGridView.Column.ReadOnly属性设置为true

答案 1 :(得分:1)

作为补充:

dataGridView.Columns[x].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

x =列索引

答案 2 :(得分:1)

右键单击GridView>>属性>>DefaultCellStyle>>Wrapmode=True