如何动态设置文本框的最大允许长度






1.52/5 (9投票s)
如何动态设置文本框的最大允许长度。
引言
我记得在 Visual Basic 6 中,手动设置文本框的最大允许长度,使其与数据将要存储的表列的最大长度相匹配,是多么令人烦恼。
现在,在使用 Microsoft .NET Framework 时,我们有方法可以动态设置文本框的最大允许长度。
在本文中,我们将学习如何从存储数据的 DataTable
中获取正确的值来设置最大允许长度。
背景
我们需要获取表的模式信息,以了解数据列的最大允许长度。 因此,我们将使用 DataAdapter
属性,称为 MissingSchemaAction
。 有关此属性的更多信息,请参阅此页面:http://msdn2.microsoft.com/en-us/library/49z48hxc.aspx。
Using the Code
首先,我们需要获取数据(假设连接已在其他地方打开)
public DataTable GetData(SqlConnection oConnection,string SqlQuery)
{
SqlCommand oCommand;
SqlDataAdapter oDataAdapter;
DataTable dtData=null;
oCommand = new SqlCommand(SqlQuery, oConnection);
oDataAdapter = new SqlDataAdapter(oCommand);
//we need this to obtain the schema data of the table
oDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
oDataAdapter.Fill(dtData);
oDataAdapter.Dispose();
oCommand.Dispose();
return dtData;
}
表单中添加的文本框必须与表中的列名相同,这样我们就可以根据 DataTable
列名找到它们。
private void SetMaxLengthText()
{
foreach (DataColumn dc in dtDatos.Columns)
{
Control[] control;
control = this.Controls.Find(dc.ColumnName, true);
if (control.Length > 0)
((TextBox)control[0]).MaxLength = dc.MaxLength;
}
}