dbgrid birden fazla kayıt seçme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen erdogan_ozkaya »

Neden olabilir hocam acaba ? ne önerirsiniz.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen ertank »

Android kodunu olduğu gibi paylaşabilir misiniz?
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen erdogan_ozkaya »

Hocam Aynı kod sadece dediğim satırda virgül yok okadar

Teşekkürler
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen ertank »

Sorunun sebebi: Windows ve Mac OS üzerinde string değişlenler 1 indeks ile başlarlar. Android ve iOS üzerinde ise 0 (sıfır) indeks ile başlarlar. Delphi platformlar arası indeks sorununu ortadan kaldırmak için sürekli 0 (sıfır) tabanlı TStringHelper fonksiyonları sunar.

İlgili satırı aşağıdaki şekilde değiştirip Windows ve Android üzerinde deneyebilir misiniz? Her ikisinde de çalışıyor olması gerekli.

Kod: Tümünü seç

if S.Chars[S.Length-1] = ',' then
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen erdogan_ozkaya »

Evet çalıştı hocam çok teşekkür ederim :)
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen xozcanx »

Merhaba,
Sorun çözülmüş fakat, 1 hafta önce kendim için yaptığım yöntemi paylaşayım istedim.
( , ) konusunda biraz sıkıntı oluşmuş gibi. farklı bir açıdan bakarsak, virgülü sonradan değilde eleman seçildiyse ilk başta yerleştirsek nasıl olur?
aşağıdaki kod birden fazla satır seçilmesi durumunda kullanmak için hazırlandı..

Kod: Tümünü seç

procedure TForm1.dbgrd1CellClick(Column: TColumn);
var
  i   : Integer;
  s,q : string;
begin
  if dbgrd1.SelectedRows.Count>1 then
  begin
    s:= ''; 
    mmo1.Clear;
    with dbgrd1.DataSource.DataSet do
    for i:=0 to dbgrd1.SelectedRows.Count-1 do
    begin
      GotoBookmark(dbgrd1.SelectedRows.Items[i]);
      if s='' then
         s:=FindField(Fields.Fields[1].FieldName).AsString
      else
       s:=s+','+FindField(Fields.Fields[1].FieldName).AsString;
      mmo1.Lines.Add('select * from TEKNIK_SERVIS_STOK_DETAY WHERE SERVIS_KIMLIK IN  (s)';
    end;
  end;
end;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
ozcank
Üye
Mesajlar: 925
Kayıt: 28 Nis 2005 05:29

Re: dbgrid birden fazla kayıt seçme

Mesaj gönderen ozcank »

Merhaba, Kusura bakmayın konuyu yeniden hortlattım ama bir yerde takıldım yardımınıza ihtiyacım var. Şöyle ki DBGrid1 e veriler geliyor ve seçimi CTRL + Space ile yapıyor bunu doubleclick olarak yapamaz mıyım?
Cevapla