Pada tutorial kali ini akan dibahas cara melakukan merging pada kolom header MSFlexGrid pada vb6. Tutorial ini kami tulis mengingat masih banyak pertanyaan mengenai hal tersebut di internet. Langsung saja!
- Buat project baru (secara otomatis akan membuat form1)
- Tambahkan component Microsoft FlexGrid Control 6.0
- Tambahkan MSFlexGrid pada form1
- Click ‘view code‘ dan tambahkan kode berikut:
Private Sub Form_Load() Caption = "Merging Kolom Header MSFlexGrid" Call LoadSetting With MSFlexGrid1 .TextMatrix(2, 0) = "1" .TextMatrix(2, 1) = "B-001" .TextMatrix(2, 2) = "BUKU TULIS" .TextMatrix(2, 3) = "3500" .TextMatrix(2, 4) = "4000" .TextMatrix(3, 0) = "2" .TextMatrix(3, 1) = "B-002" .TextMatrix(3, 2) = "BUKU TULIS TEBAL" .TextMatrix(3, 3) = "8500" .TextMatrix(3, 4) = "9000" .TextMatrix(4, 0) = "3" .TextMatrix(4, 1) = "B-003" .TextMatrix(4, 2) = "PENSIL KINKO" .TextMatrix(4, 3) = "2500" .TextMatrix(4, 4) = "3000" End With End Sub Sub LoadSetting() With MSFlexGrid1 .Cols = 5 .Rows = 5 .FixedRows = 2 .RowHeightMin = 300 .Col = 0 .Row = 0 .ColWidth(0) = 700 .CellAlignment = flexAlignCenterCenter .ColAlignment(0) = flexAlignCenterCenter .MergeCells = flexMergeRestrictAll .MergeCol(0) = True .TextMatrix(0, 0) = "NOMOR" .TextMatrix(1, 0) = "NOMOR" .RowHeightMin = 300 .Col = 1 .Row = 0 .ColWidth(1) = 1000 .CellAlignment = flexAlignCenterCenter .ColAlignment(1) = flexAlignCenterCenter .MergeCells = flexMergeRestrictAll .MergeCol(1) = True .TextMatrix(0, 1) = "ID BARANG" .TextMatrix(1, 1) = "ID BARANG" .RowHeightMin = 300 .Col = 2 .Row = 0 .ColWidth(2) = 2700 .CellAlignment = flexAlignCenterCenter .MergeCells = flexMergeRestrictAll .MergeCol(2) = True .TextMatrix(0, 2) = "JENIS BARANG" .TextMatrix(1, 2) = "JENIS BARANG" .Col = 3 .Row = 0 .Text = "HARGA" .ColWidth(3) = 1000 .MergeCells = flexMergeRestrictAll .MergeRow(0) = True .MergeRow(1) = False .CellAlignment = flexAlignCenterCenter .ColAlignment(3) = flexAlignCenterCenter .TextMatrix(1, 3) = "BELI" .Col = 4 .Row = 0 .Text = "HARGA" .ColWidth(4) = 1000 .CellAlignment = flexAlignCenterCenter .ColAlignment(4) = flexAlignCenterCenter .TextMatrix(1, 4) = "JUAL" End With End Sub
Run program dengan menekan tombol F5, maka akan tampil seperti gambar berikut:
Selamat mencoba!
gan kalo hide salah satu kolom di msflexgrid caranya gimana yah?? terima kasih..
Coba pake ini..
msFlexGrid1.Colwidth(xx) = 0 'xx adalah index kolom yg akan di-hidden
msFlexGrid1.AllowUserResize = FALSE
terima kasih gan, sesuai seperti yang diharapkan, tetapi hasilnya koq di kolom untung, baris 1,2,3 kalau valuenya sama ikut di merger, misal baris 1 5000, baris 2 dan sterusnya 5000, jadinya baris 123 di kolom untung menjadi 1 cell (merger). bisa kah kalau baris 123 di kolom untung tidak merger, cukup header “untung” yang merger?
gan, kalo setelah kolom harga jual tadi mau kita tambahin 1 kolom lagi tapi headernya di merger bisa gak? misalkan kita kasih judul “keuntungan”, sebab yg saya coba, jika menambahkan kolom setelah harga jual tersebut headernya gak bisa merger (=alias tetap jadi 2 baris). thank u/ pencerahannya
Pastikan sudah menambah jumlah kolom pada code berikut
With MSFlexGrid1
.cols = 6
Di bagian akhir, baru tambahkan header
.Col = 5
.Row = 0
.ColWidth(5) = 1000
.CellAlignment = flexAlignCenterCenter
.ColAlignment(5) = flexAlignCenterCenter
.MergeCells = flexMergeRestrictColumns
.MergeCol(5) = True
.TextMatrix(0, 5) = "UNTUNG"
.TextMatrix(1, 5) = "UNTUNG"
End With
Selamat mencoba, semoga berhasil….