C#,限制DatagridView DataGridCell中的最大输入长度

时间:2017-02-15 15:48:46

标签: c# datagridview

我是C#的新手,目前正在处理有3列的数据网格视图,我通过读取配置文件来动态创建行。我需要限制每列中的输入数量。最大输入长度将随之改变。假设第1行,第3列的最大长度为6,第2行,第3列的最大长度为12。我试图将此dataGridView1.Rows [i] .Cells [2]强制转换为DataGridViewTextBoxColumn,但是获得了转换异常。我不能通过设计器设置最大输入长度,因为要求是动态的。

请帮忙

由于 Nibin

3 个答案:

答案 0 :(得分:1)

RowDataBound或页面加载

中的

对于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;
  }
}