Auto Fill and AutoSize MSFlexGrid Visual Basic 6
Pernah menggunakan salah satu Componen pada Visual Basic yang bernama MSFlexgrid? Componen yang satu ini memiliki fungsi yang sama dengan Componen listview maupun datagrid, berguna untuk menampilkan daftar dari isi tabel dalam database. Kali ini ingin berbagi cara mengisi MSFLexgrid dengan lebih mudah dan efisien serta membuat secara otomatis autosize coloum pada MSFlexgrid tersebut.
Untuk code yang saya buat adalah dengan menggunakan Sub dan Function. Mungkin nantinya bisa di modifikasi sendiri agar lebih mudah.
CODE AUTO FILL MSFlexgrid
Public Sub ShowData(progres As ProgressBar, flexGrid As MSFlexGrid, rec As Recordset)
On Error Resume Next
progres.Visible = True
flexGrid.Cols = rec.Fields.Count
flexGrid.Rows = rec.RecordCount + 1no = 1
flexGrid.Row = 0
flexGrid.Col = 0‘Mengisi Judul
For i = 0 To rec.Fields.Count – 1
flexGrid.Col = i
flexGrid.Text = rec.Fields(i).Name
Next‘Mengisi Record
While Not rec.EOFFor i = 0 To rec.Fields.Count – 1
flexGrid.TextMatrix(no, i) = IIf(IsNull(rec(i)), “”, rec(i))
Nextprogres.Value = no
no = no + 1
DoEvents
rec.MoveNext
Wend
progres.Visible = FalseEnd Sub
CODE AUTOSIZE MSFlexgrid
Function AutoSizeCol(Nmgrd As MSFlexGrid, frm As Form)
For col_num = 0 To Nmgrd.Cols – 1
max_width = 0
For row_num = 0 To Nmgrd.Rows – 1
If max_width < frm.TextWidth(Nmgrd.TextMatrix(row_num, col_num)) Then
max_width = frm.TextWidth(Nmgrd.TextMatrix(row_num, col_num))
End If
Next row_numNmgrd.ColWidth(col_num) = max_width + 500
Next col_numEnd Function
Nah, di atas adalah codenya, untuk koneksinya anda bebas menggunakan apa saja tinggal di sesuaikan.
Screenshoot:
Untuk Private sub form_load bagian text Me.top dan Me.left abaikan. ConnectDb adalah koneksi database di sesuaikan dengan milik anda. Lahir.requery adalah datatabel anda.
Somoga Bermanfaat
Could not connect: Access denied for user ‘indralp_url’@’localhost’ (using password: YES)
Iya pak Mohon maaf hilang link nya. Untuk itu sudah saya sertakan gambar screenchoot supaya jelas. Terimakasih