Forum
Merhaba.
Vb.Net ile bir Datatableyi DataGridViewe aktarıyorum fakat eğer bir sütunda benzer kayıtlar varsa onları sadece bir kere göstermeyi nasıl sağlarım.
Örneğin StokKodu "001" olan kayıtlar DataGridViewde sadece bir satırda görünsün.
Aşağıdaki liste
Aşağıdaki gibi görünsün
Ve ayrıca aşağıdaki gibi de görünmesi de sağlanabilir mi?
İstediğiniz şekilde yapabilirsiniz ancak bunu datagridview özelliklerinde bir kaç parametreyi düzelteyim kendi yapsın istiyorsanız bu mümkün değil. devexpress vb. bir framework kullanmalısınız, yada gelen veri setinizi geçici bir tabloya istediğiniz şekilde düzenleyip bu tabloyu gride bağlamalısınız (bknz: linq)
İyi çalışmalar.
Merhaba Serkan bey.
İlginiz için teşekkürler.
Yapmak istediğim işlem eğer DataTable yada BindingSource ile oluyorsa zaten işimi görür.
Linq herhalde işimi görecek ama benzer bir örnek bulamadım.
Ayrıca Vb.Net dili ile çalışıyorum.
Merhaba.
Vb.Net ile bir Datatableyi DataGridViewe aktarıyorum fakat eğer bir sütunda benzer kayıtlar varsa onları sadece bir kere göstermeyi nasıl sağlarım.
Örneğin StokKodu "001" olan kayıtlar DataGridViewde sadece bir satırda görünsün.
Aşağıdaki liste
Aşağıdaki gibi görünsün
Ve ayrıca aşağıdaki gibi de görünmesi de sağlanabilir mi?
Eğer SQL yada linq ile yapmayacaksanız GW bunun için pivot table a döner aşağıdaki örnekteki gibi guruplama yapabilirsiniz. Fakat bu da tam istediğinizi vermeyecek.
protected override void OnCellPainting(DataGridViewCellPaintingEventArgs args) { base.OnCellPainting(args); args.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None; // Ignore column and row headers and first row if (args.RowIndex < 1 || args.ColumnIndex < 0) return; if (IsRepeatedCellValue(args.RowIndex, args.ColumnIndex)) { args.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None; } else { args.AdvancedBorderStyle.Top = AdvancedCellBorderStyle.Top; } }
Sizin tam olarak gw için bind etmeden önce şu şekilde bir kod la dt yi manipüle etmeniz lazım
dt = dt.AsEnumerable() .GroupBy(r => new {Col1 = r["Col1"], Col2 = r["Col2"]}) .Select(g => g.OrderBy(r => r["PK"]).First()) .CopyToDataTable();
saygılar
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com