一, 對於多個TextBox賦值的方法有兩個
思路 (1)是逐個改變textbox的Text屬性
//返回一個DataTable
DataTable dt1 = dodb.QueryOrderDetailByOrderId(this.OrderID.Text);
//迭代GroupBox中的控件
foreach( Control c in this.groupBox1.Controls )
{
//判斷控件的類型是不是TextBox,這里用is判斷也是可以的控件都繼承自Controls
if(c.GetType()==typeof(TextBox))
{
//獲取列名
string ColumnName = c.Name;
//迭代列名
foreach( DataColumn dc in dt1.Columns )
{
//賦值的值不為空,判斷列名是否和DataTable表中列名一致
if (ColumnName.Equals(dc.ColumnName) & dt1.Rows[0] != null)
{
//改變TextBox的值
c.Text = dt1.Rows[0][dc.Ordinal].ToString();
}
}
}
}
思路(2)利用textBox的DataBinding屬性去綁定數據源
foreach( Control c in this.groupBox1.Controls )
{
if(c.GetType()==typeof(TextBox))
{
string ColumnName = c.Name;
foreach( DataColumn dc in dt1.Columns )
{
if (ColumnName.Equals(dc.ColumnName) & dt1.Rows[0] != null)
{
//這里是關鍵 第一個參數屬性名稱,第二個參數數據源,第三個參數要顯示列的字段名
c.DataBindings.Add("text", dt1, dc.ColumnName);
}
}
}

