DBGride kolonun field adıyla ulaşmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

DBGride kolonun field adıyla ulaşmak

Mesaj gönderen NewMember »

arkadaşlar merhaba;

Kod: Tümünü seç

 myGrid.Columns[KolonNo].PickList.Add('Deneme');
kodunda kolon numarası ile ulaşmak yerine bağlı bulunduğu field adıyla nasıl ulaşabiliriz.Çünkü dbgridi runtime de kullanıcı dizayn edip değiştirebiliyor.
Teşekkürler.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: DBGride kolonun field adıyla ulaşmak

Mesaj gönderen conari »

Şöle bir fonksiyon var.

Kod: Tümünü seç

Function GetColumnByName(const sFieldName : String; oGrid : TDBGrid): Integer;
var
i : Integer;
begin
Result := -1;

for i:=0 to oGrid.Columns.Count-1 do begin
if oGrid.Columns[i].FieldName = sFieldName then begin
Result := i;
break;
end;
end;
end;

Örnek;

DBGrid1.Columns[GetColumnByName('Field1',DBGrid1)].Visible := True;
DBGrid1.Columns[GetColumnByName('Field2',DBGrid1)].Visible := False;
DBGrid1.Columns[GetColumnByName('Field3',DBGrid1)].ReadOnly := False
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: DBGride kolonun field adıyla ulaşmak

Mesaj gönderen sabanakman »

Başka bir yöntem..:

Kod: Tümünü seç

function FindColumn(const DBGrid:TDBGrid;const FName:String):TColumn;
var i:Integer;
begin
  Result:=nil; i:=0;
  while not Assigned(Result) and (i<DBGrid.Columns.Count) do begin
    if AnsiCompareText(DBGrid.Columns[i].FieldName,FName)=0 then
     Result:=DBGrid.Columns[i];
    Inc(i);
  end;
end;
///////////////
procedure TForm1.Button1Click(Sender: TObject);
begin
  FindColumn(myGrid,'AlanAdi').PickList.Add('Deneme');
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: DBGride kolonun field adıyla ulaşmak

Mesaj gönderen NewMember »

@conari ve @sabanakman ikinizede çok teşekkür ederim:her iki yöntemde sorunumu çözüyor... :bravo: :bravo: :bravo:
Cevapla