using System.Data.DataSetExtensions;
using System.Collections.Generic;
public static void Main()
DataTable table = new DataTable();
table.Columns.Add("ProductName");
table.Columns.Add("otroCampo");
table.Columns.Add("campo1");
table.Rows.Add("1", "Chai","1", "01_este");
table.Rows.Add("2", "Queso Cabrales","1", "02_este");
table.Rows.Add("3", "Tofu","9", "03_este");
table.Rows.Add("4", "Tofu","8", "03_este");
table.Rows.Add("5", "Pizza","10", "01_este");
Dictionary <string, string> datos = new Dictionary <string, string> ();
foreach (DataRow drow in table.Rows)
string seccion = drow["campo1"].ToString();
string fila = string.Empty;
if(datos.Any(x => x.Key == seccion))
fila = drow["ID"].ToString()+"|"+
drow["ProductName"].ToString()+"|"+
drow["otroCampo"].ToString()+"|"+
drow["campo1"].ToString()+ charcr1 + charcr;;
fila = drow["ID"].ToString()+"|"+
drow["ProductName"].ToString()+"|"+
drow["otroCampo"].ToString()+"|"+
drow["campo1"].ToString()+ charcr1 + charcr;;
foreach( var item in datos)
Console.WriteLine("Datos para: "+item.Key);
Console.WriteLine(item.Value);