Stringgrid row

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

Stringgrid row

Mesaj gönderen Dostk »

Merhaba;

Stringride herhangi bir satırı farklı bir satıra yani yukarı veya aşağıya taşıma imkanı yok mu? yaptığım araştırmalarda bu konu hakkında bir şey bulamadım...
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Stringgrid row

Mesaj gönderen ertank »

TStringGrid üzerinde bu tarz hazır bir prosedür/fonksiyon bildiğim kadarı ile yok. Ancak kod yazarak yapılabilecek birşey.

Yapmak istediğinizi biraz daha detaylı yazabilir misiniz? Mesela üstteki/alttaki satır dolu ise üzerine mi yazılacak?
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

Re: Stringgrid row

Mesaj gönderen Dostk »

Selam, Stringride yapmak istediğim örnek: 10. satırı yukarı veya aşağıya taşımak herhangi bir satırın üzerine yazılmayacak taşıma işlemi mouse ile yapmalıyım buton ile değil.

Teşekkür ederim...
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Stringgrid row

Mesaj gönderen ertank »

Delphi 10'da TStringGrid Options içinde goRowMoving özelliği işinizi görür mü acaba?
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Stringgrid row

Mesaj gönderen brs »

Kod: Tümünü seç

public
    procedure MoveColumn(FromIndex, ToIndex: Longint);
    procedure MoveRow(FromIndex, ToIndex: Longint);
  end;


procedure TMyGrid.MoveColumn(FromIndex, ToIndex: Integer);
begin
  inherited;
end;

procedure TMyGrid.MoveRow(FromIndex, ToIndex: Integer);
begin
  inherited;
end;

procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  ACol, ARow: Integer;
begin
  // goRowMoving nur dann aktivieren, falls sich der Maus über Row > 1 befindet.
  with Sender as TStringGrid do
  begin
    MouseToCell(X,Y, ACol, ARow);
    if (ARow > 1) then
      Options := Options + [goRowMoving, goColMoving]
    else
      Options := Options - [goRowMoving, goColMoving];
  end;
end;

procedure TForm1.StringGrid1RowMoved(Sender: TObject; FromIndex,
  ToIndex: Integer);
begin
  // falls zur Row 1 verschoben wird, Operation wieder rückgängig machen.
  if ToIndex = 1 then
    TMyGrid(StringGrid1).MoveRow(ToIndex, FromIndex);
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

Re: Stringgrid row

Mesaj gönderen Dostk »

Çok teşekkür ederim Brs ve ertank...
Cevapla