日期:2014-05-18  浏览次数:20972 次

求先一行一行填充datagridview,最后一起提交数据库添加记录的解决思路
想实现这么种效果:
在若干干控件输入、选择数据后,点击“添加”按钮,将这条记录添加并显示在datagridview中
继续往上面的控件输入、选择数据后,再点击“添加”按钮,将新的记录追加并显示在同一datagridview中,如此反复操作,直到要输入的记录都输入完
接着点击“提交”按钮,将显示在datagridview里的几行记录都添加到数据库里。

不敢奢要代码,希望大家给个思路,或者提供关键代码。谢谢先

------解决方案--------------------
不绑定,一个个DataGridViewRow那样添加,按提交之后再生成sql储存
------解决方案--------------------
没啥子啦,先把数据添加到dataGridView控件,不用绑定,要做的就是把输入的值,加到dataGridView控件里,可以用数组的,
然后再从dataGridView里读出数据,存入数库,这个用循环很方便,我用的是ListVIew控件,不过方式一样的,

------解决方案--------------------
你不用往dataGridView里直接添加,你可以直接往一个DataSet的表里添加,然后绑定数据,提交的时候就用SqlDataAdapter 的Update 方法把数据提交就可以了。这样就直接将所有新增加的插入到数据库里了。
------解决方案--------------------
先new一个DataGridViewRow,然后调用datagridview实例Rows.Add函数
------解决方案--------------------
有两法子:
1、先通过DataGridViewColumn对象给DataGridView添加列,再通过DataGridViewRow对象添加行。

2、让DataGridView绑定一内存DataTable,添加记录直接往DataTable写,再绑回DataGridView。
------解决方案--------------------
你可以参考dataGridView批量操作写法
------解决方案--------------------
应该这样吧:
dataGridView1.Rows.Add();
DataGridViewRow dgr = dataGridView1.Rows[dataGridView1.NewRowIndex-1];
dgr.Cells[0].Value = progcomboBox.Text; 
dgr.Cells[1].Value = tapecodetextBox.Text; 

------解决方案--------------------
给你个思路
首先选把你要绑定到datagridview上的数据用DataTable接受
然后和datagridview绑定,绑定后对datagridview进行操作,也就是对DataTable操作,
然后把DataTable保存到数据库中.
DataTable只适合单表,多张表就不可以了.
看看我的blog
http://blog.csdn.net/hkdeaccp
------解决方案--------------------
datagridview绑定DataTable就可以
添加按钮:DataRow dr=dt.NewRow();
dr["字段"]=值
...........
...........
dt.Rows.Add(dr);
dgv.DataSource=dt;//把新行添加到datatable,此时数据都存在缓存里


提交按钮:SqlDataAdapter1.Update(dt);//更新数据库
------解决方案--------------------
另起思想,


假定你的是一个产品,那么定义一个产品管理者,P_Manager来操作数据库,一个产品类(对象)P_Class(包括名字,规格等)


再用泛型,List<P_Class> 把产品对象P_Class加进去,例,
 
List<P_Class> ListP_Class=null;

P_Class_=new P_Class(Name,Memo)
 
ListP_Class.add(P_Class)

这样输入一个就在listP_Class中保存了,但没有直接加入到数据库,再把listP_Class显示到GridView中,


在需要保存的时候用P_Manager来把listP_Class加入到数据库就成了.ListP_Class有Count的属性,这样就以全部保存进去,而且数据分明,List中有几个P_Class也很清楚.
------解决方案--------------------
而且你又是重新生成的table又没把DataSource给他的数据,当然不增加了
------解决方案--------------------
bindingnavigatior
datagridview
datset
sqldataAdapter
datesource
sqlCommandbuilder
sqlCommand

绑定到Dgv
ds.tables["表名"]
ds.change()
getchange()

就这么弄