我是C#的新手,目前正在处理有3列的数据网格视图,我通过读取配置文件来动态创建行。我需要限制每列中的输入数量。最大输入长度将随之改变。假设第1行,第3列的最大长度为6,第2行,第3列的最大长度为12。我试图将此dataGridView1.Rows [i] .Cells [2]强制转换为DataGridViewTextBoxColumn,但是获得了转换异常。我不能通过设计器设置最大输入长度,因为要求是动态的。
请帮忙
由于 Nibin
答案 0 :(得分:1)
对于DataGrid
protected void dgv1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
((TextBox)e.Item.FindControl("ControlName")).MaxLength = 6;
}
对于GridView
((TextBox)gridview1.Rows[0].Cells[2].FindControl("ControlName")).MaxLength = 6;
或
protected void gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
{
((TextBox)e.Row.FindControl("ControlName")).MaxLength = 6;
}
答案 1 :(得分:0)
dataGridView1.Rows[i].Cells[2].MaxInputLength = x;
查看here了解更多详情
答案 2 :(得分:0)
您可以访问文本框列的MaxInputLength,如下所示:
private void SetTextBoxColumnLength(int index, int length) {
if ( (dataGridView1.Columns.Count > index) && (length > 0) ) {
DataGridViewTextBoxColumn targetColumn = (DataGridViewTextBoxColumn)dataGridView1.Columns[index];
targetColumn.MaxInputLength = length;
}
}