Picking row value dynamically with an additional action

grouping data can help after filling up

as described here

or a dictionary approach like this

done with:
grafik

(From d In dtData.AsEnumerable
Group d By k=d(0).toString Into grp=Group
Let v=grp.Select(Function (x) x(1).toString).toArray
Select t=Tuple.Create(k,v)).ToDictionary(Function (t) t.Item1, Function (t) t.Item2)