DataTable数据如下:部门 外包公司 岗位
ICT业务中心 江阴三维 神舟电脑
ICT业务中心 江阴三维 省通信建设
ICT业务中心 江阴三维 大通通信
这样的一张DataTable,如何把【部门】、【外包公司】列值相同的行取出
取出的格式为字符串 "ICT业务中心-江阴三维"
ICT业务中心 江阴三维 神舟电脑
ICT业务中心 江阴三维 省通信建设
ICT业务中心 江阴三维 大通通信
这样的一张DataTable,如何把【部门】、【外包公司】列值相同的行取出
取出的格式为字符串 "ICT业务中心-江阴三维"
解决方案 »
- 纠结!! 实在不清楚问题出在哪里!DataTable.Select()或DataView 来筛选DataTable
- DevExpress navBarControl 右键菜单
- datagridview中删除行的问题(倒立空中旋转360裸求)
- C#中怎么判断一个文件是否出于打开的状态
- (高手请进)winform中,DataGird的Cell在编辑状态下回车,光标跑到下一行去了
- 如何屏蔽Media Player 的双击全屏事件?
- 什么是泡沫算法?在C#里怎么实现?
- 一个基础问题,如何将NPOI导入到工程中
- 怎样在c#中载入摄像头的视频?
- 有关QuickStart中ASP.NET示例的简单问题.
- C# web 应用程序 连接数据库
- VS2005安装部署的自定义操作
var result = datatable.Select(row=>new {DPT = row.DPT, CPY = row.CPY}).Distinct().ToList();
foreach(var row in result)
Console.WriteLine("{0}-{1}",row.DPT, row.CPY);
ICT业务中心 江阴三维 神舟电脑
aaaaaaaaaaa 江阴三维 省通信建设
ICT业务中心 江阴三维 大通通信解决办法,同时获取此表时也获取出符合条件的列(列相同),这个业务用sql语句实现。翻页也不怕!
这个索引可以根据你的需要来设置
List<DataRow> list = dtExcel.Select(row => new { DPT = row.DPT, CPY = row.CPY }).Distinct().ToList();这里的row报错 说无法表labda表达式转换为string类型
请问这里的row是什么类型的呢?
//部门与外包公司
List<string> listDepartComp = new List<string>();
for (int i = 0; i < dtExcel.Rows.Count; i++)
{
//部门
string departName = dtExcel.Rows[i]["部门"].ToString();
//外包公司
string compName = dtExcel.Rows[i]["外包公司"].ToString();
string departComp = departName + "-" + compName;
if (!listDepartComp.Contains(departComp))
listDepartComp.Add(departComp);
}
刚才有事离开了,没及时跟帖,见谅。
1. 这是使用LINQ实现的,至于效率,和你自己写循环是差不多的,但是更简洁明了。
2. 这个lamda式里的row是DataTable中的DataRow,最后得到的result是一个匿名类的List。你之前List<DataRow>是不对的。