DBGrid.Columns Kontrol

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

DBGrid.Columns Kontrol

Mesaj gönderen husonet »

Kod: Tümünü seç

procedure TCariAcilisFrm.DBGrid1ColEnter(Sender: TObject);
var
    CariKodu:String;
    CariKodu1:String;
begin
    CariKodu := DBGrid1.Columns[0].Field.Text;
//  DBGrid1.Columns[3].Field.Text := TimeToStr(Time);


    AdoDataSet2.Close;
    AdoDataSet2.CommandText := 'Select * From CariKart Where CariKod = "' + CariKodu + '"';
    AdoDataSet2.Open;

    if  CariKodu = '' Then
    Begin
        ShowMessage('Cari Kod Boş Bırakılamaz');
        DBGrid1.SelectedIndex := 0;
    End
    Else
    Begin
        if AdoDataSet2.RecordCount > 0 Then
        Begin
           AdoDataSet1.Edit;
           AdoDataSet1.FieldByName('Saat').Value := TimeToStr(Time);
           AdoDataSet1.FieldByName('islemTuru').Value := 'Açılış Borç';
           AdoDataSet1.Post;
        End
        Else
        Begin
            ShowMessage('Cari Hesap Kodu Yanlış');
            DBGrid1.SelectedIndex := 0;
        End;
    End;
end;
Arkadaşlar burada DBGrid.Columns[0]'ın kontrolünü yapıyorum. Başka bir tablodan cariKod karşılaştırması Kaynak kodum eksiksiz çalışıyor hatta fazlasıyla ama vermiş olduğum mesajlar ikikere ekrana geliyor bu problemi nasıl çözebilirim yardımcı olursanız çok sevinirim.

İyi Çalışmalar, İyi Akşamlar.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Bence kontrolü OnBeforePost olayında yapın. Muhtemelen OnColenter Olayı 2 kere tetiklendiği için, 2 kere mesaj alıyorsunuz.

Kolay gelsin.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Admin Hocam Teşekkür ederim ama sizin dediğiniz yöntemle kodumdan verim alamadım ama ben nasıl yapılacağını çözdüm kodumun başında column kontrolü yaptırıyorum ve istediğim gibi çalışıyor kodumun çalışır halini sizinle paylaşıyorum belki başkalarınında işine yarayabilir.
Çalışır Hali:

Kod: Tümünü seç

procedure TCariAcilisFrm.DBGrid1ColEnter(Sender: TObject);
var
    CariKodu:String;
    CariKodu1:String;
begin
    if DBGrid1.SelectedIndex <> 0 Then
    Begin
        CariKodu := DBGrid1.Columns[0].Field.Text;
        //  DBGrid1.Columns[3].Field.Text := TimeToStr(Time);


        AdoDataSet2.Close;
        AdoDataSet2.CommandText := 'Select * From CariKart Where CariKod = "' + CariKodu + '"';
        AdoDataSet2.Open;

        if  CariKodu = '' Then
        Begin
            ShowMessage('Cari Kod Boş Bırakılamaz');
            DBGrid1.SelectedIndex := 0;
        End
        Else
        Begin
            if AdoDataSet2.RecordCount > 0 Then
            Begin
               AdoDataSet1.Edit;
               AdoDataSet1.FieldByName('Saat').Value := TimeToStr(Time);
               AdoDataSet1.FieldByName('islemTuru').Value := 'Açılış Borç';
               AdoDataSet1.Post;
            End
            Else
            Begin
                ShowMessage('Cari Hesap Kodu Yanlış');
                DBGrid1.SelectedIndex := 0;
            End;
        End;
    End;

end;
İyi Akşamlar
Cevapla