dbgrid satır renklendirme sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
dbgrid satır renklendirme sorunu
Aşağıdaki kodla satır renklendirmek istiyorum. Ama en son satırda hata veriyor. forumda aradım bir kişi daha aynı sorunla karşılaşmış ama o satırı silincie onunki düzelmiş. ben o satırı silince renklendirme işlemi yapmıyor.
procedure TForm1.DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
If (gdSelected in state) then
DBGrid4.Canvas.Brush.Color :=clred
else
begin
DBGrid4.Canvas.Brush.Color := clWhite;
if (DBGrid4.datasource.dataset.recno) mod 2 = 0 then
DBGrid4.Canvas.Brush.Color := clwhite
else
DBGrid4.Canvas.Brush.Color := clMoneyGreen;
end;
DBGrid4.DefaultDrawColumnCell(Rect, DataCol, Column, State); [Error] Unit1.pas(553): Incompatible types
end;
procedure TForm1.DBGrid4DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
If (gdSelected in state) then
DBGrid4.Canvas.Brush.Color :=clred
else
begin
DBGrid4.Canvas.Brush.Color := clWhite;
if (DBGrid4.datasource.dataset.recno) mod 2 = 0 then
DBGrid4.Canvas.Brush.Color := clwhite
else
DBGrid4.Canvas.Brush.Color := clMoneyGreen;
end;
DBGrid4.DefaultDrawColumnCell(Rect, DataCol, Column, State); [Error] Unit1.pas(553): Incompatible types
end;
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: dbgrid satır renklendirme sorunu
iflerden sonraki işlemleri begin ile başlat
if ..... then begin
...
end else
begin
.....
end;
şeklinde
if ..... then begin
...
end else
begin
.....
end;
şeklinde
Bir kelimenin anlamını öğretsen bile yeter..
Re: dbgrid satır renklendirme sorunu
sorun sanırım if kontrolünde, parantez kullanmak iyidir
Kod: Tümünü seç
if ((DBGrid4.datasource.dataset.recno mod 2) = 0) then
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: dbgrid satır renklendirme sorunu
Yok benim yazdığım kodlarda bir problem yok onu anladım. Çünkü başka bir yerde denedim oldu. Benim programla alakalı bir durum söz konusu galiba...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: dbgrid satır renklendirme sorunu
s.a.
dediğiniz gibi sizin programla alakalı bir durum.
verdiği hata mesajı tip uyuşmazlığı gibi bir durum.
hata verdiği satırdaki değişkenler ile aynı isimde değişken kullanıyor olabilirmisiniz acaba?
yani programınızın herhangi bir yerinde
Rect, DataCol, Column, State isimlerinde bir değişkeniniz olabilirmi?
birde kodlarınızı "code " tagı içerisine alırsanız daha okunaklı olur.
birde kullandığınız delphinin versiyonu kaç.
dediğiniz gibi sizin programla alakalı bir durum.
verdiği hata mesajı tip uyuşmazlığı gibi bir durum.
hata verdiği satırdaki değişkenler ile aynı isimde değişken kullanıyor olabilirmisiniz acaba?
yani programınızın herhangi bir yerinde
Rect, DataCol, Column, State isimlerinde bir değişkeniniz olabilirmi?
birde kodlarınızı "code " tagı içerisine alırsanız daha okunaklı olur.
birde kullandığınız delphinin versiyonu kaç.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: dbgrid satır renklendirme sorunu
Hayır değişken olarak kullanmamışım. Delphi 7
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: dbgrid satır renklendirme sorunu
TDBGrid İçindeki Satırları Renklendirmek
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Begin
if Table1.FieldByName('Salary').AsCurrency>36000 then
DBGrid1.Canvas.Font.Color:=clMaroon;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Sonraki: Dinamik olarak satır rengini değiştirmek
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
Begin
if Table1.FieldByName('Salary').AsCurrency>36000 then
DBGrid1.Canvas.Brush.Color:=clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;State: TGridDrawState);
Begin
if Table1.FieldByName('Salary').AsCurrency>40000 then
begin
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.Canvas.Brush.Color:=clBlack;
end;
if DataCol = 4 then {4. Sütun 'Salary'}
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Re: dbgrid satır renklendirme sorunu
@sako;
dediğiniz gibi normalde kodlar çalışıyor.
bu durumda pas ve dfm dosyalarınızı gönderin bakalım demekten başka bir şey aklıma gelmiyor.
kolay gelsin.
dediğiniz gibi normalde kodlar çalışıyor.
bu durumda pas ve dfm dosyalarınızı gönderin bakalım demekten başka bir şey aklıma gelmiyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: dbgrid satır renklendirme sorunu
Hocam dfm ve pas dosyaları aşağıdaki linkte. Yardımınız için teşekkürler...aslangeri yazdı:@sako;
dediğiniz gibi normalde kodlar çalışıyor.
bu durumda pas ve dfm dosyalarınızı gönderin bakalım demekten başka bir şey aklıma gelmiyor.
kolay gelsin.
http://rapidshare.com/files/435117552/dbgrid.rar
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: dbgrid satır renklendirme sorunu
s.a.
malesef dosyaları açamadım.
kullandığın bileşenlerin oğu bende yok.
muhtemelen unitlerden birinde yukardaki mesajımda belirttiğim değişkenlerden biri global oalrak tanımlı.
sen dbgrid in proceduresindeki parametrelerin isimlerini değiştirip deneyin.
malesef dosyaları açamadım.
kullandığın bileşenlerin oğu bende yok.
muhtemelen unitlerden birinde yukardaki mesajımda belirttiğim değişkenlerden biri global oalrak tanımlı.
sen dbgrid in proceduresindeki parametrelerin isimlerini değiştirip deneyin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: dbgrid satır renklendirme sorunu
Baktımki olmuyor bütün componentleri yeni bir forma attım sorun kalmadı Tşkler yardımlar için...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: dbgrid satır renklendirme sorunu
Merhaba,
Bu kodlar Win7 de iş görmüyor. Win7 de Delphi 2010 uyum sorunu var galiba
Win7 görünümlü renklendirmeli DBGrid nasıl yaparız
kolay gelsin
Bu kodlar Win7 de iş görmüyor. Win7 de Delphi 2010 uyum sorunu var galiba
Win7 görünümlü renklendirmeli DBGrid nasıl yaparız
kolay gelsin
-
- Üye
- Mesajlar: 254
- Kayıt: 16 Şub 2004 06:12
- Konum: istanbul
Re: dbgrid satır renklendirme sorunu
Merhaba herkese kolay gelsin,
aşağıdaki kod ile DBGrid üzerinden satırları renklendiriyorum yanlız şöyle bir sorun var,
IBQuery ile çalıştırdığımda sorunsuz çalışıyor
Query olarak çalıştırdığımda ise reklendirme işlemini yapmıyor.
yardımınız ve ilginiz için şimdiden teşekürler.
aşağıdaki kod ile DBGrid üzerinden satırları renklendiriyorum yanlız şöyle bir sorun var,
IBQuery ile çalıştırdığımda sorunsuz çalışıyor
Query olarak çalıştırdığımda ise reklendirme işlemini yapmıyor.
yardımınız ve ilginiz için şimdiden teşekürler.
Kod: Tümünü seç
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
with TDBGrid(Sender) do begin
if SelectedRows.IndexOf(DataSource.Dataset.Bookmark) >= 0 then
Canvas.Brush.Color := clPurple
else if gdSelected in State then
Canvas.Brush.Color := clHighlight
else if (DataSource.Dataset.RecNo and 1) <> 0 then
Canvas.Brush.Color := clCream
else
Canvas.Brush.Color := clSKYBLUE;
DefaultDrawDataCell(Rect, Field, State);
end;
end;