You need to group data by
PrID
. There's few ways to achieve that. One of the simplest is to use Dictionary object.
Take a look at below example:
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]{new DataColumn("PrID", typeof(int)), new DataColumn("koID", typeof(int))});
dt.Rows.Add(new object[]{1, 5});
dt.Rows.Add(new object[]{1, 8});
dt.Rows.Add(new object[]{20, 3});
dt.Rows.Add(new object[]{6, 80});
dt.Rows.Add(new object[]{13, 3});
dt.Rows.Add(new object[]{6, 41});
Dictionary<int, List<int>> d = new Dictionary<int, List<int>>();
foreach(DataRow dr in dt.Rows)
{
if(!d.ContainsKey(dr.Field<int>("PrID")))
d.Add(dr.Field<int>("PrID"), new List<int>(){dr.Field<int>("koID")});
else
d[dr.Field<int>("PrID")].Add(dr.Field<int>("koID"));
}
foreach(int k in d.Keys)
{
ListViewItem lvi = new ListViewItem(k.ToString());
foreach(int v in d[k])
lvi.SubItems.Add(v.ToString());
ListView1.Items.Add(lvi);
}
Other solutions have to be Linq based.