Saat memasukkan data
berbaris-baris pada Tableview/Gridview, kemudian karena alasan
tertentu kamu ingin menghapus salah satu baris data dari Tableview
tersebut. Pada Tableview maupun Gridview Gambas, setahu penulis tidak/belum ada fitur hapus baris yang dapat dilakukan dengan mudah
atau dengan perintah sederhana semacam “TableView1.Rows[3].Delete”.
Jika ingin menghapus baris tabel maka mesti dengan cara tertentu.
Adapun dasar
menghapus table adalah mengatur jumlah jumlah baris yang digunakan.
Misal, terdapat sebuah Tableview yang jumlah barisnya (Rows) 5. Kemudian ingin
menghapus 2 baris terakhir, maka cara menghapus sama halnya dengan saat
menentukan jumlah baris data:
Public Sub
Form_Open()
‘mula-mula baris
table di tentukan jumlahnya ada 5
Tableview1.Rows.Count
= 5
End
Public Sub
Hapus_Click()
‘Lalu baris data
dikurangi dua, jadi jumlah baris data ada 3
Tableview1.Rows.Count
= 3
End
Maka kedua baris
paling akhir terhapus.
Lalu bagaimana jika
posisi baris yang akan dihapus posisinya tidak berada paling akhir.
Jika demikian maka yang perlu dilakukan adalah memindahkan atau
menukar baris data yang akan dihapus ke posisi baris paling akhir.
Misal terdapat atau
diset 10 jumlah baris dan 3 jumlah kolom, yang kemudian masing-masing
baris dan kolom diisi dengan data.
Public Sub
Form_Open()
‘mula-mula baris
table di tentukan jumlahnya ada 10
Tableview1.Rows.Count
= 10
Tableview1.Columns.Count
= 3
End
Lalu baris ke 5
ingin dihapus.
Jika tidak
memperdulikan semua urutan karakter (sort) pada Tableview maka bisa
dilakukan hanya dengan memindahkan/menukar (posisi) data antar dua
baris, yakni baris yang ingin dihapus dengan baris yang paling akhir:
Public Sub
Hapus_KeyPress()
‘Menhapus dengan
tombol Del
If Key.Code =
Key.Del Then
Swap Tableview1[4,
0].Text, Tableview1[9, 0].Text
Swap Tableview1[4,
1].Text, Tableview1[9, 1].Text
Swap Tableview1[4,
2].Text, Tableview1[9, 2].Text
Endif
End
Ingat bahwa baris ke
5 adalah index ke-4, baris 10 = Index 9. (baris n = index n-1)
Swap adalah perintah
untuk menukar.
Sedangkan jika
menghapus dengan memperdulikan/tidak merubah urutan karakter yang
sudah ada pada Table, maka dilakukan penukaran beruntun menggunakan
loop.
Alurnya:
Baris beserta
masing-masing data pada kolom ditukar dengan baris setelahnya
(dibawahnya), begitu seterusnya sampai posisi data yang ingin dihapus
berada pada paling akhir.
Setelah posisi data
yang ingin dihapus beraada paling akhir, maka jumlah baris pada
Tableview dikurangi 1.
Public Sub
Hapus_KeyPress()
Dim n As Integer
‘Menghapus dengan
tombol Del
If Key.Code =
Key.Del Then
For n =
Tableview1.Row To Tableview.Rows.Max - 1
Swap
Tableview1[n, 0].Text, Tableview1[n + 1, 0].Text
Swap
Tableview1[n, 1].Text, Tableview1[n + 1, 1].Text
Swap
Tableview1[n, 2].Text, Tableview1[n + 1, 2].Text
Next
‘Jumlah baris
dikurangi
TableView1.Rows.Count
= TableView1.Rows.Count - 1
Endif
End
TableView1.Row
adalah posisi nomor index table yang dipilih(Selected) untuk dihapus.
Tableview.Rows.Max
adalah posisi nomor index table paling akhir.