Stringgrid Sütun ve Satır çizgileri çizmeme sorunu[ÇÖZÜLDÜ]

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
sheshman
Üye
Mesajlar: 39
Kayıt: 14 Eki 2015 06:09
İletişim:

Stringgrid Sütun ve Satır çizgileri çizmeme sorunu[ÇÖZÜLDÜ]

Mesaj gönderen sheshman »

Merhaba,

Android ve IOS ile yaptığım denemelerde bir sorun ile karşılaşıyorum, bu olaya aslında bug demek yanlış olur sistemin çalışma mantığı bu şekilde ama etrafından dolaşmanın bir yolunu bulmam lazım.

7 Sütunlu bir gridimiz var ve ilk 4 sütunu ekrana sığıyor diğer sütunları görmek için ekranı sola kaydırmanız gerekli, grid özelliklerinden Sütun çizgileri,Satır çizgileri ve her satır için alternatif renk göster özelliği açık, sütunların ekrana sığdığı kadarında çizgiler ve renkler sorunsuz görünüyor ancak ekranı sola kaydırdığınızda ekran dışında kalan sütunların çizgileri ve renkleri yok sadece başlık ve düz beyaz bir sayfa, yani temel olarak sistem gridin ekrana sığdığı kadarını şekillendiriyor, bu olayın etrafından dolaşmak için repaint,realign,updateeffects,brush,genişlik değerleri vs. değiştirmediğim özelliği kalmadı ama başarılı olamadım, ekran görüntüleri;

[img=http://s13.postimg.org/59y7bot6b/001.png]

[img=http://s13.postimg.org/8i2ooqfg3/002.png]

fikir verebilecek arkadaşlara şimdiden teşekkürler.
En son sheshman tarafından 19 Kas 2015 05:41 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
And shepherds we shall be, For Thee, my Lord, for Thee. Power hath descended forth from Thy hand, That our feet may swiftly carry out Thy command. So we shall flow a river forth to Thee
And teeming with souls shall it ever be. In nomine Patris et Filii et Spiritus Sancti.
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: Stringgrid Sütun ve Satır çizgileri çizmeme sorunu

Mesaj gönderen barisatalay »

Aşağıda bir örnekle bişiler dedim birde siz deneyin bende sorunsuz halledildi.

Kod: Tümünü seç

Gridi doldurma:
var I: Integer;
begin
  GridHelper.BeginUpdate;
  try
    with GridHelper do
    begin
      for I := 0 to 15 -1 do
      begin
        IncRow;
        FieldByName['StringColumn1'] := '11111111';
        FieldByName['StringColumn2'] := '22222222';
        FieldByName['StringColumn3'] := '33333333';
        FieldByName['StringColumn4'] := '44444444';
        FieldByName['StringColumn5'] := '55555555';
        FieldByName['StringColumn6'] := '66666666';
        FieldByName['StringColumn7'] := '77777777';
        FieldByName['StringColumn8'] := '88888888';              
      end;
    end;
  finally
    GridHelper.EndUpdate;
  end;



Gridin onDraw'ı:

var
  T: TRectF;
begin
  if Row mod 2 = 1 then
  begin
    with Canvas do
    begin
      Fill.Kind := TBrushKind.Solid;
      Fill.Color := $FFF5802D;
    end;

    T := Bounds;
    if TGridHelper(Sender).ColumnCount - 1  = Column.Index then
      T.Right := Self.Width;
    Canvas.FillRect(T, 0, 0, [], 0.5);
  end;

Cevapla