3 열 (이름, 성, 나이)이있는 데이터 테이블이 있는데,이를 통해 찾고 이름과 성이 같은 행을 찾고 싶습니다. 첫 번째와 마지막 이름이 같은 행. 나이 칼럼에 관해서는 나는 모든 연령대를 하나의 셀에 넣고 '|' 또는 ';'.비슷한 데이터가있는 행을 병합하는 방법
존 # 미상 # 24
존 # 미상 # 35
후 :
전에
존 # 미상 # 24 | 35
3 열 (이름, 성, 나이)이있는 데이터 테이블이 있는데,이를 통해 찾고 이름과 성이 같은 행을 찾고 싶습니다. 첫 번째와 마지막 이름이 같은 행. 나이 칼럼에 관해서는 나는 모든 연령대를 하나의 셀에 넣고 '|' 또는 ';'.비슷한 데이터가있는 행을 병합하는 방법
존 # 미상 # 24
존 # 미상 # 35
후 :
전에
존 # 미상 # 24 | 35
당신은 LINQ를 사용할 수 있으며, System.Data.DataSetExtensions.dll
어셈블리의 확장은 DataRowExtensions과 같이 행을 그룹화하고 다음과 같이 원하는 값을 결합합니다.
var dt=new DataTable();
dt.Columns.Add("A", typeof (string));
dt.Columns.Add("B", typeof (string));
dt.Columns.Add("C", typeof (int));
dt.Rows.Add("John", "Doe", 23);
dt.Rows.Add("John", "Doe", 24);
dt.Rows.Add("John", "Doe", 25);
var result = from row in dt.AsEnumerable()
group row by new {A=row.Field<string>("A"), B=row.Field<string>("B")} into grp
select new
{
CustomerName = grp.Key,
Items = String.Join(",",grp.Select(r=>r.Field<int>("C")))
};
foreach (var t in result)
Console.WriteLine(t.CustomerName + " " + t.Items);
트릭은 당신이 요구하는 당신은 너무 많은 질문을 찾을 수 있습니다
카운트 이외의() 또는 합계()를 사용하여 값 열을 집계 방법 그룹 데이터에 다음 것을 실현하는 것입니다 DataTable 행을 그룹화하는 방법을 묻습니다. this one 더 복잡한 그룹을 만들기 위해 참조로 사용할 수 있습니다.
감사합니다 @Panagiotis !!! – Zack09
솔직히 말해서 나는 단서가 없습니다. 그러나 최선의 접근 방법인지 확실하지 않습니다. – Zack09