问题描述
当treeview某节点(如节点text名为某产品)前的checkbox为选中时,读取出数据表中与该产品相关的数据,显示datagridview中;当再选中treeview中其他节点的时候再进行一次读取,再显示到datagridview中,前提是datagridview中之前显示的数据行任然存在;最后是当treeview中节点前checkbox变成不选中时移除datagridview中与之对应的数据行。我的代码如下(只能是读取一条数据显示到datagridview中,无法实现读一条加一条的效果):privatevoidtreeView1_AfterCheck(objectsender,TreeViewEventArgse){DataSetds=dataConn.getSet("selectGoodsID,GoodsNamefromGoodsInfowhereGoodsName='"+e.Node.Text+"'","GoodsInfo");dataGridView1.DataSource=ds.Tables[0];}麻烦大家给点建议,谢谢!
解决方案
本帖最后由 xqt0001 于 2012-05-11 11:58:01 编辑
解决方案二:
你这个不行,想加一条,就得在一个datatable中增加row,然后绑定到grid或者不要绑定grid,每次从datatable中读出数据,直接在grid中添加Rowgrid.Rows.Add
解决方案三:
”每次从datatable中读出数据,直接在grid中添加Rowgrid.Rows.Add“之前没有添加列报错
解决方案四:
楼主应该这样做:首先通过勾选和取消勾选TreeView的时候获取所有勾选的Text,然后组合成这样的形式:'产品1','产品2','产品3',然后通过在sql语句里用in来实现:stringc='产品1','产品2','产品3';DataSetds=dataConn.getSet("selectGoodsID,GoodsNamefromGoodsInfowhereGoodsNamein("+c+"'),"GoodsInfo");dataGridView1.DataSource=ds.Tables[0];
解决方案五:
嗯,谢谢大家,我先实践实践-0-