一个GridView展示从数据库中取出的dataset,比如:有3列10行:A列    B列    C列
1a     1b     1c
2a     2b     2c
3a     .      .
4a     .      .
.
.
10a    10b    10c
实际中,可能列数和行数非常多。如何将选中的第1行和第3行的数据赋给对应的实体类EntityClassA。public class EntityClassA
{
public string A列{get; set;}
public string B列{get; set;}
public string C列{get; set;}
}接下来是将实体类中的数据用于打印或其他处理。。看过有类似的实现,不过使用propertyINfo效率似乎不太好。有更简洁更高效的方法吗?

解决方案 »

  1.   

    在gridview里添加checkbox ,遍历gridview行获取数据
    List<A> lst=new List<A>();
    foreach(GridViewRow gr in this.GridView1.Rows)
    {
      A obj=new A(gr.Cells[21].Text.ToString()) );//构造函数
      lst.Add(obj);
    }
      

  2.   

    1 最高效率是构筑对象,然后赋值给各个属性(字段)
    2 用反射(你说的propertyINfo类似)效率会稍微低些,不过做出来东西比较通用些。
      你可以结合泛型来实现它,这样不管什么类(EntityClassA ,EntityClassB,)
      都可以用统一打印处理、其他处理去操作它们。不用知道他们的是什么类型。  有利必有弊,按需而技!
      

  3.   

    将DataSet数据赋给EntityClassA有哪些较好的办法?
      

  4.   

    http://topic.csdn.net/u/20090608/16/0D310770-061D-48F6-9E14-F21DFA034B61.html