Merhaba Arkadaşlar;
Stok Tablosunu DBGrid1 listeledim ve DBGrid1 de istediğim hücreyi düzeltmeye açma veya kapatmak istiyorum.
STOK KODU / STOK ISMI / FIYAT1 /FIYAT2
Bana bu konuda yardımcı olabilir misiniz?
DBGrid1 Hücre Kontrolü
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: DBGrid1 Hücre Kontrolü
Şu Şekilde yapmaya çalıştım ama bir yerde yanlışım var sanırım bir türlü yapamadım. Bana Yardımcı olabilir misiniz?
Kod: Tümünü seç
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;
DBGrid1.Columns[0].ReadOnly:=True;
DBGrid1.Columns[1].ReadOnly:=True;
DBGrid1.Columns[2].ReadOnly:=True;
//Exit;
END
Else IF SabitCevap = MrNo Then
DBGrid1.Enabled:=True;
DBGrid1.Columns[3].ReadOnly:=False;
DBGrid1.Columns[4].ReadOnly:=False;
DBGrid1.Columns[5].ReadOnly:=False;
Application.MessageBox('Stok Güncelle Kapalı !!!','Bilgilendirme Mesajı',MB_ICONINFORMATION); // hayır seçilirse ( kaydedilmesin
Exit;
End;
End;
Re: DBGrid1 Hücre Kontrolü
Kod: Tümünü seç
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 ?','Netsis Stok Sabit Güncelle', MB_YESNO or MB_ICONQUESTION);
IF SabitCevap = MrYes Then // cevap evetse
Begin
DBGrid1.Enabled:=True;
DBGrid1.Columns[3].ReadOnly:=False;
DBGrid1.Columns[4].ReadOnly:=False;
DBGrid1.Columns[5].ReadOnly:=False;
//Exit;
END
Else IF SabitCevap = MrNo Then
DBGrid1.Enabled:=True;
DBGrid1.Columns[0].ReadOnly:=True;
DBGrid1.Columns[1].ReadOnly:=True;
DBGrid1.Columns[2].ReadOnly:=True;
Application.MessageBox('Stok Güncelle Kapalı !!!','Bilgilendirme Mesajı',MB_ICONINFORMATION); // hayır seçilirse ( kaydedilmesin
Exit;
End;
End;
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
Re: DBGrid1 Hücre Kontrolü
Commandx teşekkür ederim cevabın için ama sorunum düzelmedi.
Re: DBGrid1 Hücre Kontrolü
Arkadaşlar DBGrid1 kontrolünü bir türlü sağlayamadım sizlerden bu konuda yardımcı olmanızı rica ediyorum nerde hata yapıyorum bulamadım. Bir şeyler yapıyorum oluyor bu sefer başka yerde sorun oluyor aslında yapmak istediğim çok basit.
DBGrid kullanıyorum
DBGrid1 de Alanlar ReadOnly FALSE
STOK_KODU
STOK_ADI
GRUP_KODU Bu üç alana müdahale edemeyecek.
SATIS_FIAT1
SATIS_FIAT2
SATIS_FIAT3
SATIS_FIAT4 Bu alanlarda değişiklik yapabilecek.
Ben bir tane Edit1 ekledim DBGrid1 de enter e basınca alandaki bilgi Edit1 e geliyor ve değiştirip enter yapınca Tabloya yazıyor.
Bende şöyle yaptım ;
DBGrid1 de
Edit1 de
StokSabit Query de bu kısım da da şunu yapmak istedim, sadece SATIS_FIAT1 de güncelleme yapıyor ise burayı değiştirsin;
SATIS_FIAT2 de güncelleme yapıyorsa bu sütünü güncellesin...….
DBGrid kullanıyorum
DBGrid1 de Alanlar ReadOnly FALSE
STOK_KODU
STOK_ADI
GRUP_KODU Bu üç alana müdahale edemeyecek.
SATIS_FIAT1
SATIS_FIAT2
SATIS_FIAT3
SATIS_FIAT4 Bu alanlarda değişiklik yapabilecek.
Ben bir tane Edit1 ekledim DBGrid1 de enter e basınca alandaki bilgi Edit1 e geliyor ve değiştirip enter yapınca Tabloya yazıyor.
Bende şöyle yaptım ;
DBGrid1 de
Kod: Tümünü seç
procedure TForm26.DBGrid1KeyPress(Sender: TObject; var Key: Char);
Var
SabitCevap:Byte;
begin
//DBGrid1.Columns[0].ReadOnly:=False;
//DBGrid1.Columns[1].ReadOnly:=False;
//DBGrid1.Columns[2].ReadOnly:=False;
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
Edit1.Visible:=True;
Label1.Visible:=True;
Edit1.Text:=(StokSabit.Fields[DBGrid1.SelectedIndex].AsString);
Edit1.SetFocus;
//DataSource1.DataSet.Next;
End
Else IF SabitCevap = MrNo Then
Application.MessageBox('Stok Güncelleme Yapılmamıştır !!!','Bilgilendirme Mesajı',MB_ICONINFORMATION); // hayır seçilirse ( kaydedilmesin
Exit;
End;
End;
End;
Kod: Tümünü seç
procedure TForm26.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
Begin
DataSource1.DataSet.Edit;
IF Dbgrid1.Fields[0].AsString = Edit1.Text Then
Begin
DBGrid1.Columns[0].ReadOnly:=False;
Application.MessageBox('Bu Alan da Güncelleme Yapmak İçin Hakkınız Yok !!!','Bilgilendirme Mesajı',MB_ICONINFORMATION);
Edit1.Visible:=False;
Label1.Visible:=False;
End
Else IF Dbgrid1.Fields[1].AsString = Edit1.Text Then
Begin
DBGrid1.Columns[1].ReadOnly:=False;
Application.MessageBox('Bu Alan da Güncelleme Yapmak İçin Hakkınız Yok !!!','Bilgilendirme Mesajı',MB_ICONINFORMATION);
Edit1.Visible:=False;
Label1.Visible:=False;
End
Else
StokSabit.Edit;
DBGrid1.Columns[DBGrid1.SelectedIndex].Field.AsString := Edit1.Text;
Edit1.SelStart := Length(Edit1.Text);
if Key=vk_Return then
begin
StokSabit.Next;
Key := 0;
end;
end;
StokSabit Query de bu kısım da da şunu yapmak istedim, sadece SATIS_FIAT1 de güncelleme yapıyor ise burayı değiştirsin;
SATIS_FIAT2 de güncelleme yapıyorsa bu sütünü güncellesin...….
Kod: Tümünü seç
procedure TForm26.StokSabitAfterScroll(DataSet: TDataSet);
begin
Edit1.Text := StokSabit.FieldByName('SATIS_FIAT1').AsString;
// Edit1.Text := StokSabit.FieldByName('SATIS_FIAT2').AsString;
// Edit1.Text := StokSabit.FieldByName('SATIS_FIAT3').AsString;
// Edit1.Text := StokSabit.FieldByName('SATIS_FIAT4').AsString;
End;