Sudah lama enggak posting tentang Visual Basic 6 jadi kangen juga :D.
Kali ini kita akan membahas bagaimana mudahnya melakukan input data langsung di grid menggunakan komponen VSFlexGrid.
VSFlexGrid sudah menyediakan beberapa method dan event yang mempermudah kita untuk melakukan hal ini, kita lihat screenshotnya.
Berikut beberapa fitur yang akan kita bahas :
1. Validasi
Pada sample program di atas kita akan menambahkan beberapa validasi input seperti konversi ke huruf besar untuk kolom NAMA BARANG dan validasi input angka untuk kolom STOK dan HARGA JUAL. Kedua fitur ini membutuhkan fungsi berikut :
Selanjutnya fungsi diatas tinggal dipanggil di event KeyPressEdit dari komponen VSFlexGrid.
12345678910111213
PrivateSubGrid1_KeyPressEdit(ByValRowAsLong,ByValColAsLong,keyAsciiAsInteger)IfkeyAscii=vbKeyReturnThenCallnextFocusEndIfSelectCaseColCase0' kode barangCase1' nama barangkeyAscii=convertToUpper(keyAscii)Case2,3' stok dan hargakeyAscii=numericOnly(keyAscii)EndSelectEndSub
2. Focus dan Lostfocus backcolor
Sesuai nama fiturnya cell grid akan berubah warna ketika cursor mouse aktif pada cell.
12345678910111213141516
PrivateSubGrid1_StartEdit(ByValRowAsLong,ByValColAsLong,CancelAsBoolean)IfCol=3Then' harga jualGrid1.TextMatrix(Row,Col)=Replace(Grid1.TextMatrix(Row,Col),",","")EndIfGrid1.CellBackColor=&HC0FFFF' warna kuningEndSubPrivateSubGrid1_AfterEdit(ByValRowAsLong,ByValColAsLong)IfCol=3Then' harga jualIfIsNumeric(Grid1.TextMatrix(Row,Col))ThenGrid1.TextMatrix(Row,Col)=FormatNumber(Grid1.TextMatrix(Row,Col),0)EndIfEndIfGrid1.CellBackColor=vbDefaultEndSub
Terakhir agar mode edit cellnya aktif pada saat cursor mouse aktif tinggal panggil method EditCell di event Click dan EnterCell