string myDBStr = "select * from User";
myDa = new OleDbDataAdapter(myDBStr,myConnection);
myDst = new DataSet();
myDa.Fill(myDst,"User");
//我增加了两列
dataGridview1.Columns[0].DataPropertyName = "Name";
dataGridview1.Columns[1].DataPropertyName = "Sex";
dataGridview1.DataSource = myDst.Tables["User"];问题一、我只增加了二列,问为什么程序运行的时候会自动增加出其它的列呢,我不想改SQL语句,因为其它字段还要在程序中有用。问题二、为什么运行后DataGridView会自动增加一行空的呢,如果去掉这行空的怎么进行增加数据操作?谢谢各位

解决方案 »

  1.   

    问题一应该是把AutoGenerateColumns设成false
      

  2.   

    问题一 dataGridview1.DataSource = myDst.Tables["User"] 这样进行了绑定dataGridview1就会显示所有的myDst.Tables["User"]中的数据。
    dataGridview1.Columns[0].DataPropertyName = "Name";
    dataGridview1.Columns[1].DataPropertyName = "Sex";
    这样你只指定了第一栏位显示“Name,第二栏位显示“Sex”
    dataGridview1.Columns[i].Visible=false来隐藏你不想显示的栏位问题二 在属性中将AllowUserToAddRows设为false就行了
      

  3.   

    to lsj_zrp() 
    如果我把
      属性中将AllowUserToAddRows设为false 这个我也知道,我只是想知道如果设成这样,那么我想增加行怎么办,或者说我想增加新的数据怎么办。
      

  4.   

    增加一个添加按钮,click是设置AllowUserToAddRows设为true.
      

  5.   

    解决,原来是Access的关健,晕