我用DataGridView控件来手动新增数据,因为我可以单击第一个单元格来选择数据,
然后帮我自动填充其他单元格,可是这样我的这行数据始终属于新增行,不属于实际行,
我用rows.Add()的方法来弄,可是由于我是绑定的,没法用这个方法。只有当我在某个单元格中自己手写数据,才会自动将此行新增。不知道如何解决不知道我的描述大家是否能够明白。

解决方案 »

  1.   

    将datagridview的允许自动增加属性设置成false,然后自己通过DataTable.new来处理。
      

  2.   

    填充完成后再次填充DataGridView数据源绑定就可以了。
      

  3.   

    datagridview1.Rows.Add(1); //就是新增一空白行,自己找位置放吧!
      

  4.   

    在datatable中加一个index列,新增的时候index+1,重新绑定就新增了行,输入信息后保存,把输入的信息更新到对应的索引行就行了
      

  5.   

    非数据绑定情况下新增行:前提是先要把列建好:下面是我程序中的一段,请参考:                        string str = string.Format("sql.....");
                            DataRow[] drow = NetborDB.GetDataSetFull(str).Tables[0].Select();
                            foreach (DataRow drT in drow)
                            {
                                dataGridView1.Rows.Add(drT[0]);
                            }数据绑定情况下的新增,先将数据在datatable新增,然后再将datatable作为dataGridView的数据源输出就可以了,如下:
                    DataRow dr = dt.NewRow();
    ............
                    dt.Rows.Add(dr);
                    dataGridView1.Datasource=dt //DataTable;
      

  6.   

    我明白你意思,就是DataGridView加入combobox,combo选择后,没办法往下移动来增加新一行,除非先用键盘输入任意数据其实用Textbox+combobox也是如此,不过Textbox我找到解决办法了
      

  7.   

     lai ren  a ................. .....,
      

  8.   

    用个曲折的办法,DataGridView绑定的数据源或数据集,可以先插入一行再赋值,只要
     dataGridView1.CurrentRow.IsNewRow =false就可以了
      

  9.   

    既然dataGridView1使用的是数据源,新增数据应该在数据源中增加数据,而不是在dataGridView1上。
    增加后dataGridView1重新绑定数据以刷新显示。
      

  10.   

    同意16L 在弹出窗体中加入insert 然后重绑