如何将datagridview控件中的数据变成dataset?
答案:2 悬赏:10
解决时间 2021-02-22 08:28
- 提问者网友:芷芹
- 2021-02-21 20:30
请问如何在一个空的DataGridView中输入数据,然后将这些数据变成DataSet?
最佳答案
- 二级知识专家网友:随心随缘不随便
- 2021-02-21 20:40
DataSet 相当于一个临时的数据库~~DataGridView只包含了一个TABLE的数据,你觉得能==么?
全部回答
- 1楼网友:不傲怎称霸
- 2021-02-21 21:36
dgv1.datasource=null是因为你并没有给datasource赋值啊。通常的做法是: 1.先得到你从数据库里提取数据的数据集ds 2.然后给datagridview的datasource赋值。dgv1.datasource=ds.tables[0]; 3.绑定datagridview.databind(); 因为你没有进行第二部,所以你反向取值是得不到dataset的。 不晓得你为什么要把数据直接循环加到datagridview里。建议可以用循环先建立一个datatable,然后绑定到datagridview上。 这样在以后想获得datasource的数据源就可以直接获得了。 ------------------------------------------------------------------ 如果你不能改变手动绑定的那段代码,就再次循环datagridview建立一个datatable吧。 ------------------------------------------------------------------- 那就直接循环dgv1就可以了啊。 datatable dt=new datatable(); //设置列表头 foreach (tablecell headercell in gridview1.headerrow.cells) { dt.columns.add(headercell.text); } foreach (gridviewrow item in gridview1.rows) { //因为已经加了表头,所以这里只添加绑定的项 if (item.rowtype == datacontrolrowtype.datarow) { datarow dr = dt.newrow(); for (int i = 0; i < dt.columns.count;i++ ) { dr[0] = item.cells[i].text; } dt.rows.add(dr); } } dt.writexml("data.xml"); --------------------------------------------------------------------- 道理是一样的。就是把你的datagridview循环出来构建一个datatable datatable dt = new datatable(); //设置列表头 foreach (datagridviewcolumn headercell in datagridview1.columns) { dt.columns.add(headercell.headertext); } foreach (datagridviewrow item in datagridview1.rows) { datarow dr = dt.newrow(); for (int i = 0; i < dt.columns.count; i++) { dr[0] = item.cells[i].value.tostring(); } dt.rows.add(dr); } dt.writexml("data.xml");
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯