Dalam sebuah aplikasi biasanya ada fitur untuk mencari data yang ditampilkan dalam suatu grid, baik itu menggunakan ListView maupun DataGridView. Misalnya pencarian Kode, Nama, Alamat, Nomor Transaksi dan sebagainya. Pada postingan kali ini saya akan membahas pencarian data dimana ketika kita mengetikkan kata pada Textbox, maka kursor di datagrid akan mencari kata yang sama sesuai
dengan kata yang di ketikkan di Textbox. Objek yang menampilkan data yang saya bahas adalah sesuai dengan judulnya, yaitu ListView.. ^_^. Karena penggunaan ListView berbeda dengan DataGridView. Coding yang digunakan pun berbeda..
Oke, baiklah kita asumsikan bahwa kita sudah
mempunyai aplikasi dan data yang akan ditampilkan seperti gambar dibawah
ini :
Nah, untuk melakukan pencarian kita ketikkan pada Textbox 'Kata Kunci' misalnya 'Pend'
Maka ListView akan menampilkan data buku dengan kata 'Pend'..
Ini adalah hasilnya :
Nah, berikut adalah script nya :
Dim sql As String
sql = "select * from tbl_buku where kd_buku like '%" & Trim(TxtCari.Text) & _
"%' or judul like '%" & Trim(TxtCari.Text) & _
"%' or pengarang like '%" & Trim(TxtCari.Text) & _
"%' or penerbit like '%" & Trim(TxtCari.Text) & _
"%' or jns_buku like '%" & Trim(TxtCari.Text) & "%'"
cmd = New OdbcCommand(sql, conn)
rd = cmd.ExecuteReader
If rd.HasRows Then
LVBuku.Items.Clear()
While rd.Read
Dim IsiGrid As ListViewItem = LVBuku.Items.Add(rd("kd_buku"))
IsiGrid.SubItems.Add(rd("judul"))
IsiGrid.SubItems.Add(rd("pengarang"))
IsiGrid.SubItems.Add(rd("penerbit"))
IsiGrid.SubItems.Add(rd("thn_terbit"))
IsiGrid.SubItems.Add(rd("jns_buku"))
IsiGrid.SubItems.Add(rd("kategori"))
IsiGrid.SubItems.Add(rd("no_rak"))
IsiGrid.SubItems.Add(rd("sumber"))
IsiGrid.SubItems.Add(rd("jumlah"))
End While
End If
sql = "select * from tbl_buku where kd_buku like '%" & Trim(TxtCari.Text) & _
"%' or judul like '%" & Trim(TxtCari.Text) & _
"%' or pengarang like '%" & Trim(TxtCari.Text) & _
"%' or penerbit like '%" & Trim(TxtCari.Text) & _
"%' or jns_buku like '%" & Trim(TxtCari.Text) & "%'"
cmd = New OdbcCommand(sql, conn)
rd = cmd.ExecuteReader
If rd.HasRows Then
LVBuku.Items.Clear()
While rd.Read
Dim IsiGrid As ListViewItem = LVBuku.Items.Add(rd("kd_buku"))
IsiGrid.SubItems.Add(rd("judul"))
IsiGrid.SubItems.Add(rd("pengarang"))
IsiGrid.SubItems.Add(rd("penerbit"))
IsiGrid.SubItems.Add(rd("thn_terbit"))
IsiGrid.SubItems.Add(rd("jns_buku"))
IsiGrid.SubItems.Add(rd("kategori"))
IsiGrid.SubItems.Add(rd("no_rak"))
IsiGrid.SubItems.Add(rd("sumber"))
IsiGrid.SubItems.Add(rd("jumlah"))
End While
End If
Keterangan : Script tersebut diketikkan pada Event TextChanged dari Textbox.
Semoga bermanfaat..!!
om klo koding export to excel gmn ?
BalasHapusLihat disini :
BalasHapushttp://khoiri-ludaiberbagi.blogspot.com/2013/06/cara-mudah-export-listview-ke-microsoft.html
om klo "rd" is not declare itu kenapa ?
BalasHapusmas anonim ga aus apa? kebakar kali mas
BalasHapusmas makan siang dulu :p
BalasHapusmakasih om, sangat membantu saya
BalasHapusLVbuku itu sbg apa?
BalasHapusthanks before
BalasHapusbos... bagaimana caranya menampilkan data berdasarkan periode tanggal misalkan tutup buku 21 sampai 20.. saya kebingungan nih bos....tolong bantu yah???? my contact 081285504453 atau fb di Ry Gunawan (Kawasaki)
BalasHapusbro koding nya Sudah ada DataReader terbuka terkait dengan Connection ini yang harus ditutup terlebih dahulu.
BalasHapusini OdbcCommand nya support all database??
BalasHapus