Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
DBGrid Hücre Kontrolü
#11
Peki şöyle bir şey yapabilir miyim? Yeni değer Edit1.Text aktarıp Edit1 de düzelttikten sonra tekrar DBGrid1 deki aynı hücreye aktarmak.

Edit1.Text e aktarabiliyorum.
procedure TForm26.DBGrid1KeyPress(Sender: TObject; var Key: Char);
Var
SabitCevap:Byte;
begin
IF Key=#13 Then
begin
SabitCevap:=Application.MessageBox('Stok Bilgileri Güncellenecek Eminmisiniz ?','Stok Sabit Güncelle', MB_YESNO or MB_ICONQUESTION);
IF SabitCevap = MrYes Then  // cevap evetse
Begin
DBGrid1.Enabled:=True;
Edit1.Text:=(StokSabit.Fields[DBGrid1.SelectedIndex].AsString);


Bu şekilde de Edit1.Text den DBGrid1 e aktarmak istedim olmadı.
procedure TForm26.Edit1Exit(Sender: TObject);
begin
DBGrid1.Columns[3].ReadOnly:=False;
StokSabit.Fields[DBGrid1.SelectedIndex].AsString:=Edit1.Text;
end;


---------------------------
Debugger Exception Notification
---------------------------
raised exception class EDatabaseError with message 'StokSabit: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help  
---------------------------
Cevapla
#12
(02-04-2020, Saat: 14:14)OZCANK Adlı Kullanıcıdan Alıntı: Peki şöyle bir şey yapabilir miyim? Yeni değer Edit1.Text aktarıp Edit1 de düzelttikten sonra tekrar DBGrid1 deki aynı hücreye aktarmak.

Edit1.Text e aktarabiliyorum.
procedure TForm26.DBGrid1KeyPress(Sender: TObject; var Key: Char);
Var
SabitCevap:Byte;
begin
IF Key=#13 Then
begin
SabitCevap:=Application.MessageBox('Stok Bilgileri Güncellenecek Eminmisiniz ?','Stok Sabit Güncelle', MB_YESNO or MB_ICONQUESTION);
IF SabitCevap = MrYes Then  // cevap evetse
Begin
DBGrid1.Enabled:=True;
Edit1.Text:=(StokSabit.Fields[DBGrid1.SelectedIndex].AsString);


Bu şekilde de Edit1.Text den DBGrid1 e aktarmak istedim olmadı.
procedure TForm26.Edit1Exit(Sender: TObject);
begin
DBGrid1.Columns[3].ReadOnly:=False;
StokSabit.Fields[DBGrid1.SelectedIndex].AsString:=Edit1.Text;
end;


---------------------------
Debugger Exception Notification
---------------------------
raised exception class EDatabaseError with message 'StokSabit: Dataset not in edit or insert mode'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help  
---------------------------

Merhaba.

Bu hata ilgili datasetin düzenleme ya da ekleme durumunda olmadığı anlamına geliyor. Kayıt aktarımını yapmadan önce dbgridin bağlı olduğu dataseti edit moduna alırsanız sorun düzelir.

İyi çalışmalar.
Bazen daha ileriye ulaşmak için bir kaç adım geri gitmek mecburidir. Çünkü en ileri sıçrayışlar iki adım geriden başlar.
Cevapla
#13
Teşekkür ederim sorun çözüldü.
Cevapla
#14
Arkadaşlar birde şunu yapmak istedim ama yine bir yer de yanlışlık yaptım sanırım yardımcı olabilir misiniz?

Yapmak istediğim DBGrid1 de ki alanı Edit1.Text e taşıyorum düzelttikten sonra DBGrid1 hücreyi bir alt satıra indirmek istiyorum.

procedure TForm26.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
DataSource1.DataSet.Edit;
StokSabit.Fields[DBGrid1.SelectedIndex].AsString:=Edit1.Text;

 if Key = #13 then
 begin
   if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count-1 then
     DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex ].Field.FocusControl
   else
   begin
     StokSabit.Next;
     DBGrid1.Columns[0].field.FocusControl;
   end;
 end;
end;
Cevapla
#15
(02-04-2020, Saat: 15:51)OZCANK Adlı Kullanıcıdan Alıntı: Arkadaşlar birde şunu yapmak istedim ama yine bir yer de yanlışlık yaptım sanırım yardımcı olabilir misiniz?

Yapmak istediğim DBGrid1 de ki alanı Edit1.Text e taşıyorum düzelttikten sonra DBGrid1 hücreyi bir alt satıra indirmek istiyorum.

procedure TForm26.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
DataSource1.DataSet.Edit;
StokSabit.Fields[DBGrid1.SelectedIndex].AsString:=Edit1.Text;

 if Key = #13 then
 begin
   if DBGrid1.Columns.Grid.SelectedIndex < DBGrid1.Columns.Count-1 then
     DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex ].Field.FocusControl
   else
   begin
     StokSabit.Next;
     DBGrid1.Columns[0].field.FocusControl;
   end;
 end;
end;

Yeni konuda bu durumu belirtiniz.
kisisel_logo_dark.png
WWW
Cevapla
#16
Hocam yanlış anlama ama inan sorularını anlamak biraz zor yani Smile stringgrid kullanmamışsın zaten, Tablonun dsinset veya dsedit moduna bakıp tablona değeri direk yazdırsana niye dbgrid de satır veya sutuna yazdırmaya çalışıyorsun.
Cevapla
#17
(03-04-2020, Saat: 04:42)Ahmet İPEKÇİ Adlı Kullanıcıdan Alıntı: Hocam yanlış anlama ama inan sorularını anlamak biraz zor yani Smile stringgrid kullanmamışsın zaten, Tablonun dsinset veya dsedit moduna bakıp tablona değeri direk yazdırsana niye dbgrid de satır veya sutuna yazdırmaya çalışıyorsun.
Yorumun için teşekkür ederim. Yapmak istediğim çok basit aslında ;
STOKSABIT Tablomda Fiyat güncelleme yapmak amacım.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  DBGrid Detay Gösterilmesi. OZCANK 11 8.599 20-03-2024, Saat: 20:10
Son Yorum: mrmarman
  DbGrid'de Seçili Satırların Fast Reportta Raporlanması [ÇÖZÜLDÜ] bünyamin68 4 637 17-12-2023, Saat: 15:08
Son Yorum: bünyamin68
  DBGRID Otomatik Sıra No Alanı [ÇÖZÜLDÜ] bünyamin68 2 393 18-10-2023, Saat: 21:00
Son Yorum: bünyamin68
  DbGrid tüm satırların yüksekliğini ayarlama delphicim 2 329 16-10-2023, Saat: 23:06
Son Yorum: delphicim
  DBGRID yeni sütun ekle veri gir diğer sütundaki veriyi değiştir stevenskat 8 751 08-09-2023, Saat: 22:47
Son Yorum: m_ekici



Konuyu Okuyanlar: 1 Ziyaretçi