Seringkali saat akan memasukan banyak data bentuk grid dalam jumlah row yang banyak beginner seperti saya mengalami kesulitan.
Namun ada metode yang menurut saya relatif mudah yaitu dengan menggunakan DBGrid dan ClientDataSet serta beberapa bantuan dari TEdit Component atau TCombobox Component.
Hanya diperlukan sedikit perubahan pada property OnDrawColumnCell :
if gdFocused in State then
begin
if Column.Field.FieldName = 'field1' then
begin
Edit1.Left := Rect.Left + DBGrid1.Left + 1;
Edit1.Top := Rect.Top + DBGrid1.Top + 1;
Edit1.Width := Rect.Right - Rect.Left;
Edit1.Height := Rect.Bottom - Rect.Top;
Edit1.Visible := True;
if NOT BufDataset1.Fields[0].IsNull then
Edit1.Text := BufDataset1['field1']
else Edit1.Text := '';
Edit1.SetFocus;
end
else
Edit1.Visible := False;
if Column.Field.FieldName = 'field2' then
begin
Edit2.Left := Rect.Left + DBGrid1.Left + 1;
Edit2.Top := Rect.Top + DBGrid1.Top + 1;
Edit2.Width := Rect.Right - Rect.Left;
Edit2.Height := Rect.Bottom - Rect.Top;
Edit2.Visible := True;
if NOT BufDataset1.Fields[1].IsNull then
begin
Edit2.Text := BufDataset1['field2'];
end
else Edit2.Text := '0';
Edit2.SetFocus;
end
else
Edit2.Visible := False;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
Kemudian setelah selesai semua proses penginputan di ClientDataSet dapat disimpan dengan :
ClientDataSEt1.First;
while not ClientDataSet1.Eof do
begin
if ClientDataSet1['field1']<>null then
begin
masukan perintah insert disini
end;
ClientDataSEt1.Next;
end;
Download sourcecode nya disini :http://www.mediafire.com/?o4c3pnre58694p4

saya perlu contoh delphi dgn dbisam dan fastreport dimana pembacaan foldernya lewat file text.ini. mohon bantuannya. terimakasih.
ReplyDeleteDBISAM? maksud nya MyISAM?
ReplyDeletebisa di tampilkan tampilan form nya gk gan,
ReplyDelete