首先关于datatable的来源,个人认为考虑到代码的可复制性和数据的通用性,数据来源的sql语句用越简单的共性越多的sql语句为好,比如access和mssql,他们的语句很多的相同点,当然也有很多的不同点,但是为了可移植或可扩展,sql语句最好挑选语句一样的。然后在数据的通用性方面,你查询出来的数据可以在这边可用,在那边也可用,尽管他们相差一些,所以我们这里就可以用到select和rowfilter,其实rowfilter和select用的字符串是可以一样的。
1、datable赋给datagridview有好几种方式,直接赋值,defaultview方式,defaultview可以添加rowfilter以实现对数据的筛选。
2、获取当前datagridview行的对应datatable中的行,如果你有id 的话,那很方便,但是若是id不方便显示在datagridview里面,而要获取datatable中相对应行中的数据,可以这样实现,
DataRowView drv = (DataRowView)this.BindingContext[dataGridView1.DataSource, gridTable.TableName].Current;
DataRow dr = drv.Row;