Winform控件数据源绑定(一)之TextBox绑定
一, 对于多个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); 
                                   }
                            }
                      }

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号