Click here to Skip to main content
15,867,453 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am using VS 2010
C#.net I want to merge two cells when row is duplicate in dataset: for example
In dataset records are below like this
C#
PNO   Descr
12     AB
13     21
12     CD
13     14


O/p:
C#
PNO    Descr
12     AB\CD
13     21\14


Thanks,
Karthik
Posted
Updated 29-May-14 1:07am
v2

1 solution

Try this code..


C#
DataTable dsInput = new DataTable();
       dsInput.Columns.Add("PNO");
       dsInput.Columns.Add("Descr");
       dsInput.Rows.Add("12", "AB");
       dsInput.Rows.Add("13", "21");
       dsInput.Rows.Add("12", "CD");
       dsInput.Rows.Add("13", "14");

       DataTable dsOutput = new DataTable();
       dsOutput.Columns.Add("PNO");
       dsOutput.Columns.Add("Descr");



      string[] distinctPNO =  dsInput.Rows.OfType<datarow>().Select(k => k["PNO"].ToString()).Distinct().ToArray();
      foreach (string PNO in distinctPNO)
      {
          string concat = "";
         var rows =  dsInput.Select("PNO='" + PNO + "'");
         rows.Select(k => k["Descr"].ToString()).ToList().ForEach(k => { concat += k + "/"; });
         dsOutput.Rows.Add(PNO, concat.TrimEnd('/'));
      }</datarow>
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900