Run time Anında Data source değiştirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Run time Anında Data source değiştirme

Mesaj gönderen true_false »

merhabalar
cxgrid kullanıyorum , bir arama rutini yazıyorum.
yaprak,toprak,su adında üçtane tablom var.

arama rutininide bir adet combo boxım var bu değerleri(yaprak toprak su) manuel olarak comboboxın itemsina ekledim.

Kod: Tümünü seç

   case  cxComboBox1.ItemIndex of
         0:
          begin
          List_gridDBTableView1.DataController.DataSource := DS_SOIL;
          pnl_info.Caption := TOPRAK';
          end;
         1:
           begin
            List_gridDBTableView1.DataController.DataSource := DS_LEAF;
            pnl_info.Caption := YAPRAK';
            end;
         2:
            begin
            List_gridDBTableView1.DataController.DataSource := DS_WATER;
            pnl_info.Caption := SU';
            end;

        end;//case
kodunda herhangi bir sorun yok çalışıyor fakat bana kayıtları getirmiyor.[eksik birşeyler var....!]
(gridime design time anında herhangi bir data source bağlamadım bunu runtime da kontrol etmek istiyorum )
şimdiden vermiş olduğunuz cevaplar için teşekkürler.
type
Tform1 = class(Tform)
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

run time anında data sourceye normal şekilde müdahele edilir.
Bence siz dxgridin datasourcesini değiştirmek yerine datasourcenin alanın değiştirseniniz çok daha pratik olur.

runtime anında bunu kontrol ettirmek istiyorsanız yazdığınız kodu showmessage biçiminde göstererek bulabilrsiniz.

mesela ben cxgridi runtime anında böyle değiştiriyorum dxgridin bağlı olduğu datasourceyi değiştirerek.
ExcelDataSource.DataSet:=AckQuery;

Umarım yardımcı olabilmişimdir.

Saygılarımla
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
tablolardaki alan isimleri aynı mı.
eğer aynı değilse gridde hangi alanları göster dediyseniz onu gösterir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

cevaplarınız teşekkür ederim
@aslangeri :
tablo alanlarım aynı deil ama benzer tabi bunuda kontrolünü yapmak benim için zor olacaktı bende bu işten vazgeçtim gridleri ayrı ayrı notebook sayfalarında gösteriyorum kodumu şu şekilde değiştirdim

Kod: Tümünü seç

procedure Tfrm_fthanalys.cxComboBox1PropertiesChange(Sender: TObject);
begin
   case cxComboBox1.ItemIndex of
         0:
          begin
          if not CDS_LISTSOIL.Active then
                  CDS_LISTSOIL.Open;
          Notebook1.PageIndex := 2;
          pnl_info.Caption := 'TOPRAK ANALİZLERİ';
          query_text := 'SELECT * FROM ANALYSIS_SOIL';
          end;
        1:
           begin
           if not CDS_LISTLEAF.Active then
                  CDS_LISTLEAF.Open;
           Notebook1.PageIndex := 3;
           pnl_info.Caption := 'YAPRAK ANALİZLERİ';
           query_text := 'SELECT * FROM ANALYSIS_LEAF';
           END;
        2:
           begin
           if not CDS_LISTWATER.Active then
                  CDS_LISTWATER.Open;
           Notebook1.PageIndex := 4;
           pnl_info.Caption := 'SU ANALİZLERİ';
           query_text := 'SELECT * FROM ANALYSIS_WATER';
           end;
        end;//case
end;
type
Tform1 = class(Tform)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

problemi hallettiysen ne mutlu bize... :)
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla