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

c#中关于DataGridView中添加一行一行记录的问题
数据库有一张表,表结果为(id,info),我在窗体有一个textbox可供用户输入id,然后进入数据库中查询,有记录的话将在窗体中的datagridview中显示,但是我希望查询一次datagridview就添加一行,然后查询了很多次之后就得到很多行结果了。
然后就是想不清楚咋做,我查询一次就有一张新的datatable,然后都加入到dataset中,但是我查到的方法是加入到dataset中的table1,table2等等上去,请问有没有直接讲结果并在一张表的呢?或者如何在datagridview中显示dataset中全部数据?

------解决方案--------------------

Table1.Merge(table2);

datagridview.DataSource=Table1;
------解决方案--------------------
新建一个DataTable,和你数据库的表结构一致,像下面这样写。
DataTable dt= new DataTable ();

DataColumn newCol = new DataColumn("id", Type.GetType("System.Int32"));
DataColumn newCol = new DataColumn("info", Type.GetType("System.String"));
dt.Columns.Add(newCol);

然后你不是查询一次就有一个datatable了嘛,其实这个datatable的数据也就是一行,把它的值插入到新建的databale里。如:
table.Rows.Add(datatable.rows[0]["id"],datatable.rows[0]["info"]);

最后绑定的时候datasource=dt;就可以了。
------解决方案--------------------
探讨
引用:

如果是使用DataAdapter的话,就直接Fill到DataSet的固定一个DataTable里(可能需要先自行创建这个DataTable)
检查这个DataAdapter是否有ClearBeforeFill属性,如果有,先将其设置为false

就需要将每次查询的链接起来吧?