String Grid Seçilen Satırlar ile ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen arkantos_55 »

Bir konuda takıldım string gridi neredeyse temamen db grid özellikleriyle donattım ama db gridde yaptığım seçilen satırları bulmada sıkıntı yaşıyorum bu konuda bilgisi olan bir arkadaş varmıdır?
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen arkantos_55 »

Arkadaşlar inşallah yanlış anlatmamışımdır. bir sonuç bulamadım sadece mouse seçilen ile satırları okumam lazım kare barkod yazdırıyorum her satırdan üç colombu alıyor kare barkodu oluşturup barkod yazıcıdan yazıyor db gridde yapılabiliyor string gridde sadece seçilenleri yazdıracağım bir türlü bulamadım. db gridde de bir hücrenin içine 2 satır yazamadığım için string grid kullanıyorum.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen SimaWB »

StringGrid'te seçili satır ve sütunu Col or Row özelliği ile öğrenebiliyorsunuz. Yanlış mı anladım yoksa başka bir problem mi var?
There's no place like 127.0.0.1
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen arkantos_55 »

Sutun satır seçimi tabiki col,row bana seçilen hücreler lazım yani birden fazla hücre seçimi hatta satır olarak direk multirow diye birşey yok ben bunu yapmaya çalışıyorum. Diğer bir deyişle db gridle

Kod: Tümünü seç

  with FormMain.DBGridDurum.DataSource.DataSet do
  begin
    for i := 1 to FormMain.DBGridDurum.SelectedRows.Count-1 do
    begin
      GotoBookmark(Pointer(FormMain.DBGridDurum.SelectedRows.Items[i]));
      Barcode2D_QRCode1.Image:=qrimage[i+1];
      Barcode2D_QRCode1.Barcode:=StringOfChar('0',13-length(FormOrtak.ZQueryDurum.FieldByName('kart_kodu').AsString))+FormOrtak.ZQueryDurum.FieldByName('kart_kodu').AsString;
    end;
  end;

şeklinde birden faza seçilmiş ssatırları okuyabiliyorum ama string gridde yapamadım.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen SimaWB »

StringGrid'te Options'ta goRangeSelect=True ise Excel'deki gibi bölge seçimi yapılabiliyor. Bu durumda StringGrid1.Selection.Top, StringGrid1.Selection.Bottom vs. işinizi görür diye tahmin ediyorum.
Örnek.
There's no place like 127.0.0.1
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen arkantos_55 »

Onlarıda denedim olmadı ama bakayım mecbur selection.top, selection .bottom vs kullanarak yapacağım gibi görünüyor yine ama araya iyi bir fonksiyon gömmem gerekiyor neyse kolları sıvayalım.
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen arkantos_55 »

evet selection.top ve selection.bottom dün uğraştım okadar olmadı ama şuan istediğime ulaştım . Yardımın için teşekkür ederim.
arkantos_55
Üye
Mesajlar: 25
Kayıt: 26 Nis 2011 03:18

Re: String Grid Seçilen Satırlar ile ilgili

Mesaj gönderen arkantos_55 »

Kod: Tümünü seç

  with FormMain.DBGridDurum.DataSource.DataSet do
  begin
    for i := 1 to FormMain.DBGridDurum.SelectedRows.Count-1 do
    begin
      GotoBookmark(Pointer(FormMain.DBGridDurum.SelectedRows.Items[i]));
      Barcode2D_QRCode1.Image:=qrimage[i+1];
      Barcode2D_QRCode1.Barcode:=StringOfChar('0',13-length(FormOrtak.ZQueryDurum.FieldByName('kart_kodu').AsString))+FormOrtak.ZQueryDurum.FieldByName('kart_kodu').AsString;
    end;
  end;
olan kod

Kod: Tümünü seç


  for i := 1 to FormMain.StringGridDurum.Selection.Bottom-FormMain.StringGridDurum.Selection.Top do
  begin
    FormMain.StringGridDurum.Row:=i;
    Barcode2D_QRCode1.Image:=qrimage[i+1];
    Barcode2D_QRCode1.Barcode:=StringOfChar('0',13-length(FormOrtak.ZQueryDurum.FieldByName('kart_kodu').AsString))+FormOrtak.ZQueryDurum.FieldByName('kart_kodu').AsString+IntToStr(FormOrtak.ZQueryDurum.FieldByName('seri_no').Value);
  end;


şeklinde çalıştı dün delphi hata vermiş boşuna kafayı yemişim okadar. :)
Cevapla