Form üzerindeki datamodule datasource bağlantısı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
myasa
Üye
Mesajlar: 5
Kayıt: 11 Ara 2003 07:15
Konum: Izmir/Turkiye

Form üzerindeki datamodule datasource bağlantısı

Mesaj gönderen myasa »

Merhaba Arkadaşlar,

projemde bir form içinde forma özel datamodule yaratıyorum. Bu form üzerindeki bir listedeki kaydın düzenlenmesi için oluşturduğum başka bir formu açtığımda yine aynı sınıf datamodule bağlı olan yeni formun üzerindeki database nesnelerini ait olduğu formun datamodule'üne yönlediremiyorum.

Kayıt için kullandığım ikinci form açıldığında ekrandaki nesnelerin datasource bağlantısını yönlendirebilirim (aşağıdaki **** ile işaretlenmiş satır) ancak form üzerindeki nesnelerin sayısı fazla olduğunda veya Lookup tanımlamalarının da üzerinden geçmek gerekecek. Açılan ikinci formu ana ekrandaki datamodule'e yönlendirebilir miyim.

Değerleri fikir ve önerileriniz için şimdeden teşekkürler.

Örnek

Kod: Tümünü seç

TfrmListe = class(TForm)
    grd: TcxGrid;
    grdView: TcxGridDBTableView;
    grdLvl: TcxGridLevel;
    ....
  public
    dmListe : TdmListe;
  end;
.....
procedure TfrmListe.FormCreate(Sender: TObject);
begin
  dmListe := TdmListe.Create(Self);
  dmListe.Name := Self.Name+'_dmListe';
end;

procedure TfrmListe.KayitFormuAc;
begin
  frmKayit := TfrmKayit.Create(Self, dmListe);
  with dmListe do
  try
    dmListe.mdListe.Append;
    frmKayit.ShowModal;
  finally
    frmKayit.Free;
  end;
end;

Kod: Tümünü seç

TfrmKayit = class(TForm)
      vg: TcxDBVerticalGrid;
     ....
end;
constructor TfrmKayit.Create(AOwner: TComponent; AdmListe: TdmListe);
begin
  inherited Create(AOwner);
  vg.DataController.DataSource := AdmListe.dsTblListe;   //****
end;
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: Form üzerindeki datamodule datasource bağlantısı

Mesaj gönderen ertank »

Merhaba,

DataController database bağlantı işlemini OnCreate yerine OnShow kısmına taşıyabilirseniz Form içinde public parametreler tanımlayabilirsiniz. Bu parametrelere göre kendisi OnShow kısmında DataModule oluşturabilir. Ya da atama yapabilir.

Fikir vermesi açısından; OnCreate kısmında "AdmListe := nil" şeklinde atama yapıp, Farklı bir public parametre üzerinden OnShow kısmında bu diğer parametre kontrol edilip gerekiyor ise AdmListe kendisi Create edilir. Ya da dışarıdan atama gerçekleşmiş ise direk bunu kullanabilir.
Cevapla