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);
       }
    }
  }

 

猜你喜欢

转载自www.cnblogs.com/yuxian/p/10281278.html