Rabu, 20 Februari 2019

Menampilkan Nomor Baris/Row GridView/TableView Pada Pemrogaman Gambas


Saat membuat tabel GridView maupun TableView, beberapa programer menyukai tabel tersebut diberi tampilan nomor baris sehingga lebih mudah mengenali suatu data dan jumlahnya. Gambas mempunyai fitur tersebut yang penomorannya bisa ditampilkan secara ototmatis saat baris dikenali (baris > 0).

Biasanya penomoran baris pada tabel (GridView/TableView) secara default otomatis ditampilkan saat tabel pertamakali dibuat dan ditentukan jumlah kolom Header dan kolom tabel dengan nilai yang sama . Namun ketika ada perubahan seperti penambahan kolom (setelah eksekusi yang pertama), maka penomoran otomatis tersebut biasanya tidak muncul meskipun nilai kolom tabel dan header disamakan. Jadi sistem hanya mengenali sistem penomoran yang pertama (sebelum eksekusi pertama).

Untuk memunculkan kembali penomoran (otomatis) baris, maka header tabel (GridView misalnya) harus diatur tipenya dengan nilai GridView.Both.

Contoh:
Buat suatu tabel (GridView/TableView) dengan jumlah kolom dan header 4 seperti pada gambar, dengan code2 perintah berikut:

' Gambas class file

Public Sub Form_Open()
   With TableView1
     .Header = 4
     ‘Yang menentukan munculnya penomoran
     .Header = .Both
     .Columns.Count = 4
     .Rows.Count = 3
     .Columns[0].Title = "A"
     .Columns[1].Title = "E"
     .Columns[2].Title = "B"
     .Columns[3].Title = "C"
   End With
End

Jumat, 01 Februari 2019

Tutorial Gambas: Cara Supaya Tampilan TableView (Editor) Tidak Menggantung Saat Pindah Fokus



Maksud dari judul diatas adalah tampilan TableView yang editable (menggunakan Editor TextBox) saat pindah fokus (tanpa melalui tombol enter maupun tombol klik pada TableView tersebut) sehingga tampilan menjadi menggantung seperti pada gambar berikut:
Setelah (langsung) pindah fokus ke TextBox
untuk menghidari hal itu maka harus melakukan sesuatu pada Editor TableView seperti berikut:

' Gambas class file

Private TabelEditor As TextBox
Public Sub Form_Open()

   With TableView1
     .Header = 3
     .Columns.Count = 3
     .Rows.Count = 5
     .Columns[0].W = 100
     .Columns[1].W = 100
     .Columns[2].W = 100
     .Columns[0].Title = "A"
     .Columns[1].Title = "B"
     .Columns[2].Title = "C"
     ' Isian rata kanan
     .Columns[0].Alignment = Align.Right
     .Columns[1].Alignment = Align.Right
     .Columns[2].Alignment = Align.Right
   End With
   ' Membuat Objek TextBox untuk editor TableView dengan nama TabelEditor
   TabelEditor = New TextBox(Me) As "TabelEditor"

End

Public Sub TableView1_Click()

   TableView1.EditWith(TabelEditor)

End

Public Sub TableView1_Save(Row As Integer, Column As Integer, Value As String)

   TableView1[Row, Column].Text = Value

End

Public Sub TabelEditor_LostFocus()

   TableView1.Show

End


Perintah pada LostFocus dia atas yang menentukan supaya editor TableView tidak menggantung saat fikus pindah ke komponen lain.

Semoga dapat difahami dan bermanfaat.