cxGrid'de RowCount ve Grouplama sorunu

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen barisatalay »

Merhabalar,

cxgriddeki kayıtları kolon adına sağ tıklayıp "Group By This Field" seçeneğine tıklayıp grupladığımda,

cxgridview.DataController.RowCount ile toplam listelenen kayıt sayısını almaya calıstığımda 2 durum oluyor.

1. Durum (Gruplar açıksa)
Grup başlık(Header)lerinide RowCount'ta dahil ediyor.

2. Durum (Gruplar kapalıysa)
Sadece grup başlıklarını ekranda gördüğümüzde yani grup başlık sayısı kadar RowCount dönüyor.

Kısaca sorun grup başlıklarını da her şartta RowCount içerisine dahil ediyor.

Bir çözümü var mıdır acaba bu headerleri dahil etmemek için veya her şartta bütün kayıt sayısını almak için (headersiz).

Not: Kayıt sayısı aşırı çok olduğu için dataset ten saydırmaya gidemiyorum
cxgridview.DataController.ForEachRow(); işlemini kullanacam.
Senat0r
Üye
Mesajlar: 80
Kayıt: 13 Tem 2014 09:30
Konum: Antalya

Re: cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen Senat0r »

Barış bu şekilde işine yarayacağını düşünüyorum birde sql ile yapabilirsin ama veri fazla diyorsun. Başkada bişey gelmiyor aklıma
https://yadi.sk/i/phqT83KzXTTY5
gideceği limanı bilmeyen gemiye hiçbir rüzgar yardım edemez...

Kod: Tümünü seç

Delete from hayat where cins="çıkarcılar"
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen mrmarman »

cxGrid kullanmıyorum ama sizin için Google taramasında şu bilgi geldi.

Kod: Tümünü seç

cxGridViewerDBTableView1.DataController.FilteredRecordCount
şekline sizin filtrelenmiş kayıt sayısını veriyormuş. İhtiyacın olan bu mudur ?

Ref: bkz. experts-exchange
Resim
Resim ....Resim
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen barisatalay »

mrmarman yazdı:cxGrid kullanmıyorum ama sizin için Google taramasında şu bilgi geldi.

Kod: Tümünü seç

cxGridViewerDBTableView1.DataController.FilteredRecordCount
şekline sizin filtrelenmiş kayıt sayısını veriyormuş. İhtiyacın olan bu mudur ?

Ref: bkz. experts-exchange
Hocam "cxgridview.DataController.ForEachRow();" komutunu kullanacağım için "RowCount" sayısı kadar dönüyor benim belirlediğim döngü değil yani.
Senat0r yazdı:Barış bu şekilde işine yarayacağını düşünüyorum birde sql ile yapabilirsin ama veri fazla diyorsun. Başkada bişey gelmiyor aklıma
https://yadi.sk/i/phqT83KzXTTY5
Abi onuda kullanamıyorum çünkü summary aldığım satırlarda para birimi farklılık gösterme durumu oldugu için baska bi gridde gösteriyorum.

Hala araştırıyorum bakalm bişeyler cıkacak mı.
Senat0r
Üye
Mesajlar: 80
Kayıt: 13 Tem 2014 09:30
Konum: Antalya

Re: cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen Senat0r »

Yapmak istedigin durumu tam olarak soylersen ona gore birsey bakayim
gideceği limanı bilmeyen gemiye hiçbir rüzgar yardım edemez...

Kod: Tümünü seç

Delete from hayat where cins="çıkarcılar"
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen barisatalay »

Senat0r yazdı:Yapmak istedigin durumu tam olarak soylersen ona gore birsey bakayim
Yaptığım şey performansı iyi olduğu için;

"gridview.DataController.ForEachRow(False,GetTotal);"

Yani ForEachRow kullanarak her satırda bir procedure çalıştırmak o procedure ise o işlenen satırdaki belirli alanları başka bi yere kaydediyorum.

GetTotal bir proceduredir dediğim gibi ForEachRow yardımı ile satır satır işlem yapıyor bunu dataset yardımı ile de yapmayı denemiştik veriler gerçekten aşırı çok olduğu için performansta hiç iç açıcı değil :-/
Kullanıcı avatarı
ovural
Üye
Mesajlar: 167
Kayıt: 22 Eki 2003 10:20
İletişim:

Re: cxGrid'de RowCount ve Grouplama sorunu

Mesaj gönderen ovural »

barisatalay yazdı:Merhabalar,

cxgriddeki kayıtları kolon adına sağ tıklayıp "Group By This Field" seçeneğine tıklayıp grupladığımda,

cxgridview.DataController.RowCount ile toplam listelenen kayıt sayısını almaya calıstığımda 2 durum oluyor.

1. Durum (Gruplar açıksa)
Grup başlık(Header)lerinide RowCount'ta dahil ediyor.

2. Durum (Gruplar kapalıysa)
Sadece grup başlıklarını ekranda gördüğümüzde yani grup başlık sayısı kadar RowCount dönüyor.

Kısaca sorun grup başlıklarını da her şartta RowCount içerisine dahil ediyor.

Bir çözümü var mıdır acaba bu headerleri dahil etmemek için veya her şartta bütün kayıt sayısını almak için (headersiz).

Not: Kayıt sayısı aşırı çok olduğu için dataset ten saydırmaya gidemiyorum
cxgridview.DataController.ForEachRow(); işlemini kullanacam.


Gruplar kapalıda olsa açıkda olsa sadece Group hariç kayıt sayısını almak istiyorsan

Kod: Tümünü seç

 
var i : integer;
begin
cxGrid1DBTableView1.ViewData.Expand(True);
  i := cxGrid1DBTableView1.ViewData.RowCount;
  cxGrid1DBTableView1.ViewData.Collapse(True);
  i := i - cxGrid1DBTableView1.ViewData.RowCount;
  Edit1.Text := IntToStr(  i );
end;

İşini görür sanırım ?

ama açık olanları alayım diyorsan ona göre farklı bir kod yazmak gerekiyor ..
Kim ilim öğrenir sonra da onu gizlerse âhirette onun ağzına ateşten bir gem vurulur. (Hadis-i Şerif)
Cevapla