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.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
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 Satır renklendirmede sütun seçimi delphicim 1 150 06-09-2020, Saat: 09:28
Son Yorum: mrmarman
  DBgrid sadece ekrandaki görüntüler info@guzelceker.com 2 486 29-06-2020, Saat: 17:47
Son Yorum: info@guzelceker.com
  DbGrid To Excel & DataSet To Excel yhackup 18 7.239 26-05-2020, Saat: 21:12
Son Yorum: onur balkan
  Delphi7 DBGrid'e sağ tık yaparak form açmak batuhann 6 1.191 18-04-2020, Saat: 22:17
Son Yorum: denizfatihi
  Dbgrid Kolonlar arasında ENTER tuşu ile dolaşma Bay_Y 5 1.225 26-12-2019, Saat: 10:05
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi