Dbgrid satır içinde buton ile form açmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 33
- Kayıt: 23 Nis 2014 10:04
Dbgrid satır içinde buton ile form açmak
Değerli Üstadlarım,
Projem ek'tedir. Form1 de bulunan Dbgrid satır içinde Malzeme Kodu içerisinde [...] şeklinde butona benzer çıkıyordu bulamadım.
1-Klik olayını gerçekleştirince Form2 açılıyordu bunu yapamadım.
2-Form2 de Popup menu var Ekle Değiştir incele değimde (Adotable1:Field(M_id) not found) Hatası almaktayım düzeltemedim.
3-Form2 de ilgili satırı seçim yapınca (Ctrl tuşuna basıp çoklu seçim yaptığımda)Form1deki gbgrid satırlarına nasıl getirbilirim.
Saygılarımla.
Projem ek'tedir. Form1 de bulunan Dbgrid satır içinde Malzeme Kodu içerisinde [...] şeklinde butona benzer çıkıyordu bulamadım.
1-Klik olayını gerçekleştirince Form2 açılıyordu bunu yapamadım.
2-Form2 de Popup menu var Ekle Değiştir incele değimde (Adotable1:Field(M_id) not found) Hatası almaktayım düzeltemedim.
3-Form2 de ilgili satırı seçim yapınca (Ctrl tuşuna basıp çoklu seçim yaptığımda)Form1deki gbgrid satırlarına nasıl getirbilirim.
Saygılarımla.
- Dosya ekleri
-
- GBGrid.rar
- (54.94 KiB) 207 kere indirildi
-
- Üye
- Mesajlar: 216
- Kayıt: 10 Ara 2013 03:50
Re: Dbgrid satır içinde buton ile form açmak
1) Grid satırında button gösterme içim
2. Bu kısımda, daha önce sana gönderdiğim başka bir projeden alıntı yapmışsın. Bir şeyi atlamışsın. Önceki gönderdiğimde Ekle, değiştir, göster menülerinin herbirinin bir Tag değeri vardı. Fakat bu yeni yaptığında hepsi sıfır görünüyor. Aşğıdaki koda dikkat edersen Tag'lara göre EditMod belirleniyor. Tag sıfır olunca EditMod = D oluyor ve I'den farklı olduğu için M_Id yok hatası veriyor. Form2'deki Ekle menüsü için Tag = 1, Değiştir için Tag = 2, İncele için Tag = 3 olmalı.
3. Çoklu seçimler için DBGrid.SelectedRows 'u incele.
Kod: Tümünü seç
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
var index: integer; // selectedindex sütun indeksleri aynı olmayabilir, bu yüzden sütun indeksini arıyoruz
begin
if DBGrid1.SelectedField.FieldName = 'Malz_Kodu' then
begin
for index := 0 to DBGrid1.Columns.Count - 1 do // sütun indeksini buluyoruz.
if DBGrid1.Columns[index].FieldName = DBGrid1.SelectedField.FieldName then Break;
DBGrid1.Columns[index].ButtonStyle := cbsEllipsis; // buton göstermek için
end;
end;
// burası da butonun tıklanmasında çalışacak kod
procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
if DBGrid1.SelectedField.FieldName = 'Malz_Kodu' then
begin
ShowMessage('aaaaaaaa');
end;
end;
Kod: Tümünü seç
...
if TMenuItem(Sender).Tag = 1 then
EditForm.EditMod := 'I' //Yeni Kayıt
else if TMenuItem(Sender).Tag = 2 then
EditForm.EditMod := 'E' // Değiştir
else EditForm.EditMod := 'D'; // Görüntüle
if EditForm.EditMod <> 'I' then
EditForm.M_id:=DBGrid1.DataSource.DataSet.FieldByName('M_id').AsInteger;
...
Re: Dbgrid satır içinde buton ile form açmak
2-
yerine
denermisiniz.
Kod: Tümünü seç
EditForm.M_id:=DBGrid1.DataSource.DataSet.FieldByName('M_id').AsInteger;
Kod: Tümünü seç
EditForm.M_id:=DBGrid1.DataSource.DataSet.FieldByName('M_İd').AsInteger;
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
-
- Üye
- Mesajlar: 33
- Kayıt: 23 Nis 2014 10:04
Re: Dbgrid satır içinde buton ile form açmak
Sayın xozcanx,
Access veritabanından o değişliği yaptım M_id olarak düzeltme yapmıştım.
Access veritabanından o değişliği yaptım M_id olarak düzeltme yapmıştım.
-
- Üye
- Mesajlar: 33
- Kayıt: 23 Nis 2014 10:04
Re: Dbgrid satır içinde buton ile form açmak
Sayın xxxjedixxx,
Öncelikle bu ifade etmek istiyorum Popup ekle değiştir incele çalışması tamamen size ait kod çalışmasıdır.
Değerli bilgilerinizi paylaştığınız için çok teşekkür ederim. Form2 Popup menü ile başım belada ekle dediğimde EditForm açılıyor fakat veriler gelmiyor. Tagları da dediğiniz gibi 1,2,3 olarak tanımladım fakat hata mesajları ile başım belada. Proje Version 2 ek'tedir.
Saygılarımla.
Öncelikle bu ifade etmek istiyorum Popup ekle değiştir incele çalışması tamamen size ait kod çalışmasıdır.
Değerli bilgilerinizi paylaştığınız için çok teşekkür ederim. Form2 Popup menü ile başım belada ekle dediğimde EditForm açılıyor fakat veriler gelmiyor. Tagları da dediğiniz gibi 1,2,3 olarak tanımladım fakat hata mesajları ile başım belada. Proje Version 2 ek'tedir.
Saygılarımla.
- Dosya ekleri
-
- GBGrid v2.rar
- (58.93 KiB) 177 kere indirildi
-
- Üye
- Mesajlar: 216
- Kayıt: 10 Ara 2013 03:50
Re: Dbgrid satır içinde buton ile form açmak
Merhaba,
Önceki gönderdiğim projede fark etmediklerinizi bu yeni projede düzelttim. 3 tane menü tek bir prosedürü kulalnıyordu fakat sen sadece ekle için prosedür tanımlamışsın. Tag'leri bu yüzden kullanmıştım. 3 tane click prosedürü yazmamak için. Tag'ler ile hangi menüye tıklandığını buluyoruz. Her bir menü için EditForm açılmaktadır.
Diğer bir hata da malzeme tablona "m_İd" adında bir alan tanımlamışsın fakat "m_id" diye kullanmaya kalkmışsın. Büyük/küçük harf sorunu. Ayrıca sana tavsiyem, hiç bir zaman tablo isimlerinde ve alan adlarında türkçe karakter kullanma, başına bela olur.
EditForm ve Form2'deki Adoconnection'lar sildim, AdoTable ve DataSet'lerin bağlantılarını form1'in Adoconnection1'ine bağladım. Böylelikle tek bir noktadan bağlantı metnini (connection string) değiştirebilirsin. Projenin kaynak kodundaki otomatik form create'leri de kaldırdım.
Önceki gönderdiğim projede fark etmediklerinizi bu yeni projede düzelttim. 3 tane menü tek bir prosedürü kulalnıyordu fakat sen sadece ekle için prosedür tanımlamışsın. Tag'leri bu yüzden kullanmıştım. 3 tane click prosedürü yazmamak için. Tag'ler ile hangi menüye tıklandığını buluyoruz. Her bir menü için EditForm açılmaktadır.
Diğer bir hata da malzeme tablona "m_İd" adında bir alan tanımlamışsın fakat "m_id" diye kullanmaya kalkmışsın. Büyük/küçük harf sorunu. Ayrıca sana tavsiyem, hiç bir zaman tablo isimlerinde ve alan adlarında türkçe karakter kullanma, başına bela olur.
EditForm ve Form2'deki Adoconnection'lar sildim, AdoTable ve DataSet'lerin bağlantılarını form1'in Adoconnection1'ine bağladım. Böylelikle tek bir noktadan bağlantı metnini (connection string) değiştirebilirsin. Projenin kaynak kodundaki otomatik form create'leri de kaldırdım.
- Dosya ekleri
-
- GBGrid_v3.rar
- (60.7 KiB) 189 kere indirildi
-
- Üye
- Mesajlar: 33
- Kayıt: 23 Nis 2014 10:04
Re: Dbgrid satır içinde buton ile form açmak
Sayın xxxjedixxx,
Elinize sağlık Bugün Cuma Allah'tan ne dilersen onu versin.
Hakkınızı helal ediniz.
Saygılarımla.
Elinize sağlık Bugün Cuma Allah'tan ne dilersen onu versin.
Hakkınızı helal ediniz.
Saygılarımla.
-
- Üye
- Mesajlar: 216
- Kayıt: 10 Ara 2013 03:50
Re: Dbgrid satır içinde buton ile form açmak
Rice ederim. Güzel temennilerin için de ayrıca teşekkür ederim. Allah hepimiz için hayırlısı neyse onu versin. Saygılar.
-
- Üye
- Mesajlar: 33
- Kayıt: 23 Nis 2014 10:04
Re: Dbgrid satır içinde buton ile form açmak
Sayın xxxjedixxx,
Popupda değiştir dediğimizde hata vermektedir. Proje ek'tedir. bazı düzenlemeler yaptım ama birde kod gelince açıklama,Birim otomatik olarak gelebilir mi?
Saygılarımla.
Popupda değiştir dediğimizde hata vermektedir. Proje ek'tedir. bazı düzenlemeler yaptım ama birde kod gelince açıklama,Birim otomatik olarak gelebilir mi?
Saygılarımla.
- Dosya ekleri
-
- GBGrid v4.rar
- (72.54 KiB) 181 kere indirildi
-
- Üye
- Mesajlar: 216
- Kayıt: 10 Ara 2013 03:50
Re: Dbgrid satır içinde buton ile form açmak
Değiştirdeki hata unit3'teki update sorgusundan kaynaklanıyor. Kodunda,
yazıyor. Dikkat edersen :code 'dan sonra boşluk koymamışsın. Ya oraya yada where 'İn önüne bir boşluk koy.
Açıklama ve birim ile ilgili olarak;
DBGrid1EditButtonClick prosedürüne aşağıdaki satırları ekle.
Kod: Tümünü seç
SQL.Text := 'update malzemeler set code=:code' +
'where M_id = :M_id';
Açıklama ve birim ile ilgili olarak;
DBGrid1EditButtonClick prosedürüne aşağıdaki satırları ekle.
Kod: Tümünü seç
DBGrid1.DataSource.DataSet.FieldByName('Malz_Aciklamasi').Value := Form2.DBGrid1.DataSource.DataSet.FieldByName('aciklama').AsString;
DBGrid1.DataSource.DataSet.FieldByName('Birim').Value := Form2.DBGrid1.DataSource.DataSet.FieldByName('birim').AsString;
-
- Üye
- Mesajlar: 33
- Kayıt: 23 Nis 2014 10:04
Re: Dbgrid satır içinde buton ile form açmak
Sayın xxxjedixxx,
Proje son hali ek'tedir. Ellerine Sağlık
Saygılarımla.
Proje son hali ek'tedir. Ellerine Sağlık
Saygılarımla.
- Dosya ekleri
-
- GBGrid v5 SEÇ AKTAR son hali.rar
- (82.57 KiB) 292 kere indirildi
Re: Dbgrid satır içinde buton ile form açmak
Tüm paylaşımlar için teşekürler
aradığım buydu
aradığım buydu