[英]Preventing a new row from appearing in a DataGridView before current row is filled in?
[英]WinForm wrap text if current row width is filled
我在WinForm中有DataGridView。 我将AutoSizeColumnsMode
设置为Fill
,因为如果用户调整窗口大小,我不需要空格。
我想要实现的目标。 例如,用户在特定单元格中键入一些文本。 当文本宽度变为单元格宽度时,文本必须是新行的一个。
怎么样:
|Cell Header|
-------------
|text-text |
和
|Cell Header|
-------------
|text-text |
|more text |
|on the new |
|line |
我的列可由用户调整大小。 所以这:
|Cell Header|
-------------
|text-text |
|more text |
|on the new |
|line |
可能会这样:
|Cell Header |
---------------------
|text-text more text|
|on the new line |
我从其他SO答案中尝试过:
AutoResizeRowsMode
设置为AllCells
- 没有帮助 DefaultCellStyle.WrapMode
设置为True
- ddin't help 我怎么能实现这个呢?
编辑:列设置:
编辑#2:
除了为列设置包装模式和自动大小模式之外,还需要为行设置大小模式。
public class Model
{
public int Id { get; set; }
public string Text { get; set; }
}
private void Form1_Load(object sender, EventArgs e)
{
var list = new List<Model>
{
new Model{Id = 1, Text = "Lorem ipsum" },
new Model{Id = 2, Text = "Lorem ipsum dolor sit amet." },
new Model{Id = 3, Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit." },
};
dataGridView1.DataSource = list;
dataGridView1.Columns["Text"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns["Text"].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.