我有一个DataGridView
可以在TextBox
列中输入单位的位置。
如何将此列的输入长度限制为6
字符?
使用. MaxInputLength
_DataGridViewTextBoxColumn
此属性可通过 Designer 或代码获得:
((DataGridViewTextBoxColumn)dataGridView1.Columns[yourColumn]).MaxInputLength = 6;
请使用DataGridView的CellValueChanged事件。
在事件的处理程序中,您可以检查DataGridViewCellEventArgs参数的ColumnIndex和RowIndex属性,以识别网格的感兴趣字段已被编辑,然后 - 采取适当的行动。
如其他答案所述 - 限制DataGridView字段文本长度的最自然方法是修改相应的网格列属性。可以在Edit Columns表单上更改网格列的属性,该表单通过右键单击菜单项Edit Columns...在表单设计器中为网格控件调用:
您可能必须使用单元格编辑事件。 http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx
如果您使用数据绑定,则不一定要准备好操作列。对于数据绑定,使用ColumnAdded侦听器可以帮助:
public FormSingleValidation(BindingList<ValidateSingle> validateSingles)
{
InitializeComponent();
dataGridViewSingleValidation.ColumnAdded += ColumnAdded;
this.validateSingles = validateSingles;
var source = new BindingSource(validateSingles, null);
dataGridViewSingleValidation.DataSource = source;
}
private void ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
if(e.Column.GetType() == typeof(DataGridViewTextBoxColumn))
{
DataGridViewTextBoxColumn column = (DataGridViewTextBoxColumn) e.Column;
column.MaxInputLength = 6;
}
}
注意事项