dbgrid

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mazhargemci
Üye
Mesajlar: 101
Kayıt: 13 Şub 2015 09:32

dbgrid

Mesaj gönderen mazhargemci »

merhaba arkadaşlar, hayırlı cumalar...

dbgrid üzerinden bilgi girişini nasıl kapatabilirim?
dbgridte seçili olan satırı edite nasıl aktarabilirim ? bir nevi düzenleme.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: dbgrid

Mesaj gönderen brs »

"dbgrid üzerinden bilgi girişini nasıl kapatabilirim?" ne demek istediniz anlamadım

Kod: Tümünü seç

Var
  Veri : String;
begin
    With DBGrid1 do
      Veri := DataSource.DataSet.FieldByName( Columns[0].FieldName ).AsString;
    Edit1.Text:=Veri;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
mazhargemci
Üye
Mesajlar: 101
Kayıt: 13 Şub 2015 09:32

Re: dbgrid

Mesaj gönderen mazhargemci »

dbgrid aktif durumda klavyeden bilgi girişi yapılabiliyor ben pasif hale getirmek istiyorum.
ayrıca hücre olarak seçme değilde satırın tamamını seçmek istiyorum
mazhargemci
Üye
Mesajlar: 101
Kayıt: 13 Şub 2015 09:32

Re: dbgrid

Mesaj gönderen mazhargemci »

ilk hücreyi edit1 e aktarırken bir sıkıntı yok da 2.3... hücreleri aktarırken nedense bir hata veriyor

var
a:string;
begin
With DBGrid1 do
a := DataSource1.DataSet.FieldByName( Columns[0].FieldName ).AsString;
sedit1.Text:=a;
a := DataSource1.DataSet.FieldByName( Columns[1].FieldName ).AsString;
sedit2.Text:=a;
a := DataSource1.DataSet.FieldByName( Columns[2].FieldName ).AsString;
sedit3.Text:=a;
a := DataSource1.DataSet.FieldByName( Columns[3].FieldName ).AsString;
sedit4.Text:=a;

end;
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: dbgrid

Mesaj gönderen brs »

mazhargemci

Kod: Tümünü seç

var
a:string;
begin
 With DBGrid1 do
      a := DataSource1.DataSet.FieldByName( Columns[0].FieldName ).AsString;
      sedit1.Text:=a;
      a := DataSource1.DataSet.FieldByName( Columns[1].FieldName ).AsString;
      sedit2.Text:=a;
       a := DataSource1.DataSet.FieldByName( Columns[2].FieldName ).AsString;
      sedit3.Text:=a;
      a := DataSource1.DataSet.FieldByName( Columns[3].FieldName ).AsString;
      sedit4.Text:=a;

end;[/quote]

Selam, kodları (code) içine alınız...


Buradan dbgrid ile ilgili ayarlar yapabilirsiniz, size anlatırdım fakat sizin kurcalayın ki aklınızda kalsın...
Resim
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: dbgrid

Mesaj gönderen brs »

Birde hepsini a içine alamazsınız a,b,c: string; yapın
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: dbgrid

Mesaj gönderen xozcanx »

Grid'in Object inspector den ReadOnly özelliğini True yaparsan istediğin olur ;)
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
mazhargemci
Üye
Mesajlar: 101
Kayıt: 13 Şub 2015 09:32

Re: dbgrid

Mesaj gönderen mazhargemci »

o kısmı hallettim teşekkürler.
dbgridten edite aktarımı nasıl yapacağız yukardaki kodları yazdım 1. hücreyi aktarıyorum edit1e fakat 2.3.. hücreleri aktaramıyorum.
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: dbgrid

Mesaj gönderen brs »

brs yazdı:Birde hepsini a içine alamazsınız a,b,c: string; yapın

cevap...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
mazhargemci
Üye
Mesajlar: 101
Kayıt: 13 Şub 2015 09:32

Re: dbgrid

Mesaj gönderen mazhargemci »

o şekilde de yaptım 2. hücrenin

Kod: Tümünü seç

 a := DataSource1.DataSet.FieldByName( Columns[0].FieldName ).AsString;

columns kısmında hataveriyor

[DCC Error] Unit1.pas(466): E2003 Undeclared identifier: 'Columns' şeklinde
Kullanıcı avatarı
bulutsuzluk_35
Üye
Mesajlar: 124
Kayıt: 06 Eki 2007 04:14
Konum: İzmir-Ankara-İstanbul-Antalya
İletişim:

Re: dbgrid

Mesaj gönderen bulutsuzluk_35 »

With DBGrid1 do satırından sonra begin yazın ve kodunuzun sonuna end yazın

Kod: Tümünü seç

try
  try
    inc(Bilgi);
  except
    sabir;
  end;
finally
  inc(Mutluluk);
end;
Kullanıcı avatarı
xozcanx
Üye
Mesajlar: 362
Kayıt: 05 Oca 2012 12:55

Re: dbgrid

Mesaj gönderen xozcanx »

Hocam Grid üzerinde seçili kaydın bilgisini Edit'te göstermek istiyorsanız şu şekilde kullanım yapabilirsiniz.

Kod: Tümünü seç

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
  var sGrid:TDataSet; A:Integer;
begin
  sGrid:=DBGrid1.DataSource.DataSet; // Aşağıda DBGrid1.DataSource.DataSet.FieldByName('ALAN1').AsString yazmamak için 
  							 // bunu kısmı sGrid Değişkenine atıyoruz.
  if sGrid.RecordCount>0 then
  Begin
    if (gdSelected in State) then
    Begin
       Edit1.Text    :=FieldByName('ALAN1').AsString;
       Edit2.Text    :=FieldByName('ALAN2').AsString;
    End;
  End;//
  //else
  //Begin
  //  Edit1.Clear;
  //  Edit2.Clear;
  //End;   Kayıt yok ise editleri sıfırlayabilirsiniz!
End;
Bu şekilde yapacağınız kullanım size klavye ile gezinirken de kayıtları editler üzerinde gösterilmesini sağlayacak.
Yapılan işlemde Griddeki veri var ise kodlarımız çalışır yoksa işlem yapmaz!

Kolay Gelsin.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Cevapla