日期:2014-05-17  浏览次数:20525 次

【提问 】如何选择datatable中的列
如何对一个datatable进行sql server中的一些语法
如select 列a,列b from 表 where 列a=''.


要是没办法 ,或者说把datatable转成list,然后再用linq实现我想选择datatable中某些列的功能。

给个例子,谢谢

------解决方案--------------------
引用:
引用:

可以用条件筛选啊如dt.select(表名 in ....)
这种只能过滤数据,并不能只选取datatable中的 几列啊


还是要转成数组 然后再来查找比较好

是你要的不
------解决方案--------------------
http://tech.it168.com/KnowledgeBase/Articles/9/0/1/901f89bcfff296a73c7c4f91117cc177.htm
这个看对你有帮助不
------解决方案--------------------
dataTable.Rows[randomSelector.Next(dataTable.Rows.Count)];  
 LINQ TO DATAset操作
public IList <T> GetList <T>(DataTable table)   
  {   
  IList <T> list = new List <T>();   
  T t = default(T);   
  PropertyInfo[] propertypes = null;   
  string tempName = string.Empty;   
  foreach (DataRow row in table.Rows)   
  {   
  t = Activator.CreateInstance <T>();   
  propertypes = t.GetType().GetProperties();   
  foreach (PropertyInfo pro in propertypes)   
  {   
  tempName = pro.Name;   
  if (table.Columns.Contains(tempName))   
  {   
  object value = row[tempName];   
  pro.SetValue(t, value, null);   
  }   
  }   
  list.Add(t);   
  }   
  return list;   
  }   
tb.OfType<TableRow>().Select(row=>  
  new YourType{Field1=(string)row["field1"],Field2=(int)row["field2"]}).ToList();