源程序:
 myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            if (myConnection.State == ConnectionState.Closed)
            {
                myConnection.Open();
            }//打开连接 string strSql = "select id,person_name,person_sex,person_age,person_call,person_nowUnit,person_politicalStatus,person_major from person_info where person_unitId=" + this.lbl_courtId.Text.ToString() + "";//连接mssql字符串
              
//连接放到dataSet中
 SqlDataAdapter myDataAdapter = new SqlDataAdapter();//创建一个用户填充dataSet和更新数据库的一组数据库命令和一个数据库连接            SqlCommand myCommand = new SqlCommand(SelectString, myConnection);            myCommand.CommandType = CommandType.Text;            myDataAdapter.SelectCommand = myCommand;            DataSet myDataSet = new DataSet();            myDataAdapter.Fill(myDataSet);//把DataAdapter填充到dataSet中//dataSet.tables[0]绑定到datagridView中
 this.dataGridView1.DataSource = myDataSet.Tables[0];//数据源就只能是表或表的默认视图
                    this.dataGridView1.DataMember = "person_info";
                    this.dataGridView1.Columns[0].Visible = false;                    
                    dataGridView1.AutoResizeColumns( DataGridViewAutoSizeColumnsMode.AllCells);
总是在dataGridView绑定数据的 this.dataGridView1.DataMember = "person_info";这一步报错,无法创建字段"person_info"的子列表;
请问是怎么会事呢?

解决方案 »

  1.   

     this.dataGridView1.DataMember = "person_info";
    这句没有必要了吧
      

  2.   

    BindingSource bs = new BindingSource();
                bs.DataMember = "person_info"; 
                bs.DataSource =myDataSet.Tables[0];
                this.dataGridView1.DataSource = bs;
      

  3.   

    myDataAdapter.Fill(myDataSet,"person_info"); 
    DataGridView1.DataSource = myDataSet;
     DataGridView1.DataMember = "person_info";
      

  4.   

     "person_info"是我选取的表的名字,
    谢谢楼上两位,尤其是"人生如梦",按照你的BindingSource 方法,已经不报错了.
      

  5.   

    一楼的方法,也对,去掉this.dataGridView1.DataMember = "person_info"; 就好了,才看到.谢谢了