1、dataGrid的数据是直接控件绑定好呢,还是动态写dataSet绑定好呢,如果回答具体问题具体分析,请说明各适合什么情况下?2、获取dataGrid中某行某字段的值,搜索了很多资料,发现都是用行号列号来得到,可是我如果不知道那个字段的列号,或者我的列号要变化,我又不想事先设好顺序,就想利用字段的名字来得到,这种想法是否可行?(俺用delphi时,获取某个字段的值,可是简单的很啊,c#还没入门,感觉咋就这难呢!)

解决方案 »

  1.   

    问题1:直接绑定就象是拉模式,将数据库中的数据直接拉出来,Dataset绑定就象是推模式,将dataset中的数据推进去。直接绑定是前期绑定,dataset绑定一般是后期绑定。在运行上说,dataset比直接绑定要慢,不过用dataset绑定,可以先操作dataset,比如修改列名等等.直接绑定就没这样方便了。直接绑定一般不需要编写程序,直接使用数据控件就可以搞定了,比较简单,后期绑定,需要编写程序,稍微复杂点。我一般用dataset进行绑定。问题2:你的想法是可行的..net一样支持字段
      

  2.   

    我看你需要这方面的例子,看看就知道了
    http://www.cnblogs.com/lovecherry/
    有很多关于DataGrid的
      

  3.   

    问题2你可以用column.name等来获得特定的列
      

  4.   

    我在看呢,就是问题2能否举个具体的例子呢.比方我有一个表Book,通过dataSet(自己写的)绑定到dataGrid上了,我得到了当前的行号,那么怎么得到Book的BookId字段呢:
    方法1(我知道的):用行列号 string bookid = this.dataGrid[rowno,colno].ToString();
    方法2: ?
      

  5.   

    我上CSDN的速度,忽快忽慢,就犹如这天气忽冷忽热,回复一下都需要三五分钟的时间,希望热心的人们见谅!
    不知道是我的原因,还是网站的原因,我上别的网站可是很快的.
      

  6.   

    我一般用dataset来绑定找数据的时候dataset.table.row[行号][字段名].tostring()就可以了
      

  7.   

    http://singlepine.cnblogs.com/archive/2005/11/01/266538.html
      

  8.   

    与LZ的感觉太相似了!!!我也是刚从Delphi转过来的!!!
      

  9.   

    LS,知音啊!
    现在感觉咱们的delphi是那么的好,以前咋就没感觉出来呢!不过我的问题还是没有解决啊.
    希望各位不要给一些风牛马及不上的链接(俺用的是WinForm,c/s的),要对症下药啊.
      

  10.   

    1.直接绑定一般用只用来显示数据,而要进行编辑和提交的话最好就用动态的绑定
    2.dataset.table.row[行号][字段名].tostring()
      

  11.   

    注明,我的DataSet是动态写的.所以wufato(.net学习提高中) 的 dataset.table.row[行号][字段名].tostring()
    其中的dataset我是得不到的.所以,这种方法好象是不行的.
    我只能够利用dataGrid
      

  12.   

    ?try
    DataSet dataset = (DataSet)dataGrid.DataSource;
    dataSet.table.row ....
      

  13.   

    楼上的
    DataSet dataset = (DataSet)dataGrid.DataSource;指定的转换无效
      

  14.   

    哈哈,不过我知道了,应该是
    DataTable dt = (DataTable)dataGrid.DataSource;
    dt.Rows[myrownumber][myfield].ToString();谢谢大家,结贴了