Quantum Grid Boyama...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
berken
Üye
Mesajlar: 208
Kayıt: 07 Ara 2005 04:27
Konum: Van

Mesaj gönderen berken »

teşekkur ederim arkadaslar..
arayınca oluyormus..

sorunumu cozdum...
baska yerde bulamayanlar için yazayım yine de

Kod: Tümünü seç

var V : Variant;
begin
   V := AViewInfo.GridRecord.Values[cxGrid1DBTableView1durum.Index];
   if not v then
     ACanvas.Brush.Color := $003C68EC;
eğer durum (v değişkenine atadım) true değilse color belirliyorum.. satır renkleniyor..
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Kodu yine OnCustomDrawCell eventine yazacaksın:

Kod: Tümünü seç

  try
    if VarToStr(AViewInfo.GridRecord.Values[5]) = 'True' then //Kontrol edeceğin kolonun 6. kolon olduğunu varsaydım.
      ACanvas.Brush.Color := clYellow
    else
      ACanvas.Brush.Color := clGray;
  except
    // Ne olur ne olmaz.
  end;
İyi çalışmalar.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Pardon. İkinci sayfayı okumamışım.

İyi çalışmalar.
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

merhaba arkadaşlar bende benzer bi soru soracağım için yeni başlık açmaya gerek duymadım.
yapmak istediğim şu: cxgridde doğru cvpları ve bizim seçimlerimizi listeletiyorum. eğer seçimimiz doğru ise seçim alanının textcolourunu yeşil, yanlış ise kırmızı renkle yazmasını istiyorum..aşağıda verdiğim kodla tüm satırın fontu renkleniyor:
OnCustomDrawCell olayına:

Kod: Tümünü seç

  try
    if VarToStr(AViewInfo.GridRecord.Values[2]) = VarToStr(AViewInfo.GridRecord.Values[1]) then 
      ACanvas.Font.Color := clgreen
    else 
      ACanvas.Font.Color := clred; 
  except 
  end;
Bilginin temelini sağlam at depremde zarar görmesin
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Eğer tek kolon için ise bu renklendirme AViewInfo.Item.Index kontrolü de yapmalısın:

Kod: Tümünü seç

  try
    if AViewInfo.Item.Index = 2 then
      if VarToStr(AViewInfo.GridRecord.Values[2]) = VarToStr(AViewInfo.GridRecord.Values[1]) then
        ACanvas.Font.Color := clgreen
      else
        ACanvas.Font.Color := clred;
  except
  end;
İyi çalışmalar.
Kullanıcı avatarı
Serim
Üye
Mesajlar: 194
Kayıt: 08 Ara 2004 03:32
Konum: Konya

Mesaj gönderen Serim »

tşk ederim ya şimdi istediğim gibi oldu işte:)

kolay gelsin..
Bilginin temelini sağlam at depremde zarar görmesin
Kullanıcı avatarı
vampir261
Üye
Mesajlar: 298
Kayıt: 23 Kas 2004 03:22
Konum: Denizli

Mesaj gönderen vampir261 »

mussimsek yazdı:Merhaba,

Ben de Quantum Grid 4 için yazayım.

Cell için : Önce cxStyleRepository ile bir style oluşturuyorsun. Renk ve fontunu ayarlıyorsun. Daha sonra aşağıdaki kodu OnGetContentStyle olayına yazıyorsun :

Kod: Tümünü seç

if ARecord.Values[AItem.Index] = 5 then
    AStyle := stlTicketPrice;
Satır(Row) için : Yine style oluşturup, ayarla. Yine OnGetContentStyle olayına aşağıdaki kodu yaz :

Kod: Tümünü seç

var
  AColumn: TcxCustomGridTableItem;
begin
  AColumn := (Sender as TcxGridDBTableView).GetColumnByFieldName('Email');
  if VarToStr(ARecord.Values[AColumn.Index]) = '' then
    AStyle := cxStyleNullEmail;
Kolay gelsin.
Mustafa Hocam mesaj çok eski ama cxgrid kullanmaya yeni başlayan biri olarak hemen çalıştırdım. Allah razı olsun kolay ve basit bir örnekle açıklamışsınız. Arayınca hemen buldum :D
Anlatırsanız unuturum,
Gösterirseniz hatırlarım,
Yaptırırsanız anlarım.
mehmetqwe
Üye
Mesajlar: 4
Kayıt: 03 Nis 2014 06:43

Re: Quantum Grid Boyama...

Mesaj gönderen mehmetqwe »

Arkadaşlar takıldığım bir konu var yardımcı olana şimdiden çok teşekkür ederim. Bir anket yazılımı yapıyorum ama ekteki mantığı yapmam lazım.
Dosya ekleri
sss.JPG
sss.JPG (17.02 KiB) 3003 kere görüntülendi
mehmetqwe
Üye
Mesajlar: 4
Kayıt: 03 Nis 2014 06:43

Re: Quantum Grid Boyama...

Mesaj gönderen mehmetqwe »

Neyse arkadaşlar kendi problemi çözdüm onun için buraya yazmayı düşünüyorum.

//footer alanındaki evet olayının ongettext alanına alıyoruz
procedure TForm1.cxGrid1DBTableView1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems0GetText(
Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean;
var AText: string);
Var
SaymaSayisi : Double; //birer birer toplaması için değer tanımladık
Satir : integer; //satir alanındaki değeri baz almak için deger tanımladık
I : integer; // for döngüsünde kullanacağız
begin

Satir := cxGrid1DBTableView1.GetColumnByFieldName('Test').Index; //hangi satırı baz alacaksan o satırı alanını giriyoruz
SaymaSayisi := 0; //değer sıfır verdik birer birer artacak

for I := 0 to cxGrid1DBTableView1.DataController.DataSetRecordCount -1 do // for döngüsü en baş satırdan en son alana kadar gidecek
if (cxGrid1DBTableView1.DataController.Values[I, Satir]) = '8' then //alanda 8 olanlar varsa onları görecek
SaymaSayisi := SaymaSayisi + 1; //ve bunları birer birer toplayacak
AText := 'Çok iyi= ' + FormatFloat('',SaymaSayisi); // en son alanda bunları yazdıracak

{biraz uğraştırdı ama emeğe saygı}

end;
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

Re: Quantum Grid Boyama...

Mesaj gönderen digitdigitman »

procedure TFrm_Per_Ana.cxGrid1DBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[28]='Kadın' then
begin
ACanvas.Brush.Color:=$00D7D0FB;
end

else
if AViewInfo.GridRecord.Values[28]='Erkek' then
begin
ACanvas.Brush.Color:=$00FAEFAF;
end
else
end;

buradaki if AViewInfo.GridRecord.Values[28]='Erkek' then satırında bulunan 28 senin durumuna göre kontrol yaptıracağın alanın sırası ama ilk alan sıfırolarak başlar 0,1,2,3,4....28 cinsiyet aslında birden başlasa 27 olur ama sıfırdan başlar
Cevapla