还有个问题:datagridview绑定数据库,怎样获取datagridview中的值?(某行某字段)
第1个回答 2011-07-26
首先使用sqldatadapter对象的selectcommand(对象)执行查询命令,此时数据已经取出来。
而 sqldatadapter 的对象(da)只能fill 到 dataset 对象(ds) 中,因此有以下过程:
dataset ds=new dataset();
da.fill(ds);
这样其实已经将数据填充到表集合里面。如果你取得的数据只有一页,可以只填充到一个单表里面。如下:
datatable dt=new datatable();
dt=ds.tables[0];
如此,设置 datagridview.datasource=dt; datagridview.databind(); 即可。
要获取datagridview中的值,有这几种情况。
1.不点击,指定某行的某字段的数据,你试图"datagridview."看看,有什么属性或者方法能够获取指定的行号,并且查看方法的返回值,你就知道应该赋给什么样的对象了。
2.鼠标点击某行,获取某行的某列的内容。
获取行号,此时需要响应datagridview的click事件。
我很久不摸代码了,代码在自己的本子里面。
按照我的思路,你可以去网上找找代码。或者看楼下的朋友是否能够提供代码。
------------------------------------------------------------------------------
第二种思路就是保存上述获取到的datatable中的内容到一个临时的datatable,也就是说这样。
datatable tb_temp=new datatable();
tb_temp=dt;
要修改值时,则只修改dt里的值。这样tb_temp的值就可以不变。当然如果特殊功能情况,你可以再赋值tb_temp更新内容。
tb_temp只用于与datagridview的交互,那么如果你要去datagridview里面的值,你就可以直接从tb_temp里面取,达到相同的效果。
而 sqldatadapter 的对象(da)只能fill 到 dataset 对象(ds) 中,因此有以下过程:
dataset ds=new dataset();
da.fill(ds);
这样其实已经将数据填充到表集合里面。如果你取得的数据只有一页,可以只填充到一个单表里面。如下:
datatable dt=new datatable();
dt=ds.tables[0];
如此,设置 datagridview.datasource=dt; datagridview.databind(); 即可。
要获取datagridview中的值,有这几种情况。
1.不点击,指定某行的某字段的数据,你试图"datagridview."看看,有什么属性或者方法能够获取指定的行号,并且查看方法的返回值,你就知道应该赋给什么样的对象了。
2.鼠标点击某行,获取某行的某列的内容。
获取行号,此时需要响应datagridview的click事件。
我很久不摸代码了,代码在自己的本子里面。
按照我的思路,你可以去网上找找代码。或者看楼下的朋友是否能够提供代码。
------------------------------------------------------------------------------
第二种思路就是保存上述获取到的datatable中的内容到一个临时的datatable,也就是说这样。
datatable tb_temp=new datatable();
tb_temp=dt;
要修改值时,则只修改dt里的值。这样tb_temp的值就可以不变。当然如果特殊功能情况,你可以再赋值tb_temp更新内容。
tb_temp只用于与datagridview的交互,那么如果你要去datagridview里面的值,你就可以直接从tb_temp里面取,达到相同的效果。