yapılmaz değil yapılır , ancak sana dediğim gibi linq kullanırsan hem optimize hemde düzgün çalışır yoksa yarın öbürgün bir hata olursa arar durursun :) birde winform yerine wpf daha makul , bir sınıf tanımlarsın ürünler diye sonra bu sınıftan nesneler oluşturup listeye atarsın listeyide binding edersin datagride listede istediğini yaparsın koşula göre ararsın.
mesela
id,urunadi,urunfiyati propertyleri olan bir sınıf var.
listem.where(x=>x.urunadi=="ürün1").select(a=>a.urunfiyatı);
adı ürün1 olan ürünlerin hepsinde urun fiyatlarını çekersin.Yoksa cidden çekilecek dert değil.Ancak eski yöntemle yapıcam ille diyorsan şunu bilmek lazım ürün çeşitleri sayısını.ürün çeşitleri sayısını bilecek ve o kadar sayı için değişken alıp bu değişkenlere toplamları yazacaksın.ve bu işin minimum yükü maximum olabilecek farklı ürün sayısını belirlemekle olur.