我有一个datagridview,我希望允许用户调整列的大小并防止hom调整行的大小。我在设计中和运行时设置属性,但它不会影响datagridview。 相反的情况是,行可以调整大小而列不是。 我试图反转属性值但结果相同。
private void SetupAlternatesDataGridView()
{
var recordstateColumn = new DataGridViewTextBoxColumn();
recordstateColumn.Name = Glossary.RecordState;
recordstateColumn.HeaderText = Glossary.RecordStateTitle;
var alternateStatusColumn = new DataGridViewTextBoxColumn();
alternateStatusColumn.Name = Glossary.AliasAlternateStatus;
alternateStatusColumn.HeaderText = Glossary.AlternateStatusTitle;
var alternateNumberColumn = new DataGridViewTextBoxColumn();
alternateNumberColumn.Name = Glossary.AliasAlternateNumber;
alternateNumberColumn.HeaderText = Glossary.AlternateNumberTitle;
AlternateDGV.AllowUserToResizeColumns = true;
AlternateDGV.AllowUserToResizeRows = false;
//TODO: For test only, remove it
AlternateDGV.Columns.AddRange(recordstateColumn, alternateStatusColumn, alternateNumberColumn);
AlternateDGV.Rows.Add("added", "A", "POS-100");
}
如何使这些属性有效?
答案 0 :(得分:1)
只需使用所有属性,发现必须将AutoSizeColumnsMode设置为None才能使AllowUserToResizeColumns和AllowUserToResizeRows正常工作。
public void removeAll()
答案 1 :(得分:0)
就我而言,它没有用,因为我有这条线:
Grid.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
换句话说,如果您要求一列填充所有可用空间,则用户无法调整其大小(至少在Windows 10上)。 但如果您的整个网格设置为"填充",就像这样:
Grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
然后将允许调整大小。