Row FlexGrid Berwarna Selang Seling
https://carakuvb6.blogspot.com/2017/11/row-flexgrid-berwarna-selang-seling.html
Pada artikel sebelumnya untuk tampilan data dengan berwarna selang seling telah admin bahasa dengan judul artikel Subitems Listview Berwarna Selang Seling dengan menggunakan kompoonen Listview. Pada artikel kali ini admin akan membahas Row FlexGrid Berwarna Selang Seling menggunakan komponen Microsoft FlexGrid Control 6.0, seperti gambar dibawah ini
Agak sedikit berbeda dengan Listview tetapi secara garis besar cara kerja kedua komponen ini sama untuk menampilkan data. Data yang akan admin tampilkan pada FlexGrid menggunakan databse MySQL Server, langkah pertama siapkan terlebih dahulu databasenya dengan menggunakan script dibawah ini :
CREATE DATABASE `dbPencarian`
CHARACTER SET 'latin1'
COLLATE 'latin1_swedish_ci';
CREATE TABLE `penjualan` (
`IDBARANG` varchar(16) DEFAULT NULL,
`NMBARANG` varchar(50) DEFAULT NULL,
`SATUAN` varchar(10) DEFAULT NULL,
`HRGJUAL` decimal(20,0) DEFAULT NULL,
`JUMBRG` int(11) DEFAULT NULL,
`DISCOUNT` decimal(20,0) DEFAULT NULL,
`DISCOUNT2` decimal(20,0) DEFAULT NULL,
`SUBTOTAL` decimal(20,0) DEFAULT NULL,
`KATEGORI` varchar(20) DEFAULT NULL
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE DATABASE `dbPencarian`
CHARACTER SET 'latin1'
COLLATE 'latin1_swedish_ci';
CREATE TABLE `penjualan` (
`IDBARANG` varchar(16) DEFAULT NULL,
`NMBARANG` varchar(50) DEFAULT NULL,
`SATUAN` varchar(10) DEFAULT NULL,
`HRGJUAL` decimal(20,0) DEFAULT NULL,
`JUMBRG` int(11) DEFAULT NULL,
`DISCOUNT` decimal(20,0) DEFAULT NULL,
`DISCOUNT2` decimal(20,0) DEFAULT NULL,
`SUBTOTAL` decimal(20,0) DEFAULT NULL,
`KATEGORI` varchar(20) DEFAULT NULL
)ENGINE=MyISAM DEFAULT CHARSET=latin1;
Setelah itu inputkan beberapa data ke dalam tabel penjualan yang telah kita buat dengan menggunakan script diatas, setelah dirasa cukup dan untuk selanjutnya buka Microsoft Visual Basic 6.0 - StandartEXE buat form dan module, kemudian tambahkan Microsoft FlexGrid 6.0, designlah form menurut kreasi agan sendiri
Copykan syntak koneksi ke database dibawah ini ke dalam module
Syntax Koneksi Database
Public CN As New ADODB.Connection
Public xRs As New ADODB.Recordset
Sub Koneksi()
Dim NServer, NUser, NPass, NDatabase As String
NServer = "localhost"
NUser = "root"
NPass = ""
NDatabase = "dbpencarian"
CN.CommandTimeout = 0
If CN.State Then
CN.Close
CN.CursorLocation = adUseClient
CN.ConnectionString = "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
"SERVER=" & NServer & " ;Port=3306;DATABASE=" & NDatabase & ";" & _
"UID=" & NUser & " ;PWD=" & NPass & ";OPTION=3"
CN.Open
Else
CN.CursorLocation = adUseClient
CN.ConnectionString = "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
"SERVER=" & NServer & " ;Port=3306;DATABASE=" & NDatabase & ";" & _
"UID=" & NUser & " ;PWD=" & NPass & ";OPTION=3"
CN.Open
End If
End Sub
Coding Warna Flexigrid
Public Sub WarnaRow(fg As MSFlexGrid, lColor1 As Long, lcolor2 As Long)
Dim lRow As Long, lCol As Long
Dim lOrgRow As Long, lOrgCol As Long
Dim lColor As Long
With fg
.Redraw = False
lOrgRow = .Row
lOrgCol = .Col
For lRow = .FixedRows To .Rows - 1
.Row = lRow
If lRow / 2 = lRow \ 2 Then
lColor = lColor1
Else
lColor = lcolor2
End If
For lCol = .FixedCols To .Cols - 1
.Col = lCol
.CellBackColor = lColor
Next lCol
Next lRow
.Row = lOrgRow
.Col = lOrgCol
.Redraw = True
End With
End Sub
Kemudian double klik pada form kemudian pilih prosedur Form_Load dan copykan syntak dibawah ini
With MSFlexGrid1
.AllowUserResizing = flexResizeColumns
.Cols = 9
.ColAlignment(0) = 3
.ColAlignment(1) = 2
.ColAlignment(5) = 3
.ColWidth(0) = 400
.ColWidth(1) = 2000
.ColWidth(2) = 3000
.ColWidth(3) = 1200
.ColWidth(4) = 1200
.ColWidth(5) = 700
.ColWidth(6) = 1200
.ColWidth(8) = 1200
.TextMatrix(0, 0) = "No"
.TextMatrix(0, 1) = "Kode Barang"
.TextMatrix(0, 2) = "Nama Barang"
.TextMatrix(0, 3) = "Satuan"
.TextMatrix(0, 4) = "Harga"
.TextMatrix(0, 5) = "Qty"
.TextMatrix(0, 6) = "Discount 1"
.TextMatrix(0, 7) = "Discount 2"
.TextMatrix(0, 8) = "Subtotal"
End With
Call Koneksi
Tambahkan juga sub untuk menampilkan data ke flexgrid
Dim nBaris As Long
Set xRs = New ADODB.Recordset
xRs.Open "select * from penjualan limit 10", CN, 1, 3
With MSFlexGrid1
For nBaris = 1 To xRs.RecordCount
DoEvents
.Rows = nBaris + 1
.TextMatrix(nBaris, 0) = nBaris
.TextMatrix(nBaris, 1) = xRs.Fields!IDBARANG
.TextMatrix(nBaris, 2) = xRs.Fields!NMBARANG
.TextMatrix(nBaris, 3) = xRs.Fields!SATUAN
.TextMatrix(nBaris, 4) = xRs.Fields!HRGJUAL
.TextMatrix(nBaris, 5) = xRs.Fields!JUMBRG
.TextMatrix(nBaris, 6) = xRs.Fields!DISCOUNT
.TextMatrix(nBaris, 7) = xRs.Fields!DISCOUNT2
.TextMatrix(nBaris, 8) = xRs.Fields!SUBTOTAL
xRs.MoveNext
Next nBaris
End With
WarnaRow MSFlexGrid1, &HFFC0FF, vbWhite
End Sub
Untuk memanggil data dari tabel MysQL Server supaya tampil ke dalam Flexgrid, double klik pada CommanButton dan copykan syntak dibawah ini
Kemudian simpan dan RUN/F5 dan coba klik CommanButton pada form diatas, maka data akan tampil dengan disertai warna selang seling pada row dan untuk mengatur warna sesuai dengan kreasi agan, perhatikan pada syntak Sub TampilDataFlexi yang bercetak waena biru. Untuk sourcodenya bisa didownload pada LINK INI secara free dan semoga artikel kali ini bermanfaat bagi pembaca dan dapat dijadikan sebagai bahan referensi
mantapp
ReplyDeleteterima kasih banyak gan atas kunjungannya
DeleteKlu untuk dbgrid bisa dibuat warna selang seling gan..???
ReplyDelete