Baca Juga
Kali ini saya akan sedikit berbagi soal bagaimana mengurutkan data dari sebuah table yang ditampilkan dengan menggunakan datagrid control.
Buat project baru dan tambahkan satu buah form baru. Karena kali ini kita akan menggunakan Datagrid untuk menampilkan table, maka kita memerlukan control untuk koneksinya, biar mudah kita pakai saja ADODC
Untuk menambahkan 2 component diatas lakukan langkah-langkah sebagai berikut :
Klik menu>>Project>>Component … sehingga akan muncul form Components, berikan tanda check untuk dua component di atas seperti terlihat pada gambar dibawah ini.
Jika sudah akhiri dengan tombol “OK”.
Koneksi Adodc ke database
Untuk contoh saya menggunakan table MS Access 2003, untuk koneksinya Anda hanya tinggal meng-copy code di bawah dan paste ini ke dalam form Anda.
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= C:\test.mdb; Persist Security Info=False"
Adodc1.RecordSource = "T_administrasi"
Adodc1.Refresh
DataGrid1.Refresh
End Sub
note : *Untuk tulisan berwarna merah dapat diganti sesuai database dan nama tabel tang akan ditampilkan
Kenapa harus pakai coding untuk koneksinya? Karena berdasarkan pengalaman saya, koneksi secara manual terkadang akan menyebabkan koneksi tidak mau menerima bahasa SQL. Bila Anda bukan pengguna bahasa SQL, mungkin cara manual boleh menjadi pilihan.
Koneksi DataGrid dengan ADODC
Lakukan setting properties pada Datagrid secara manual, pada properties Datagrid, pilih datasource, isi dengan Adodc1.
Sort Data
Tambahkan terlebih dahulu sebuah Combobox (bisa diganti dengan OptionButton), kemudian set propertiesnya, pada List isi dengan ASC dan DESC.
Kemudian tuliskan code dibawah ini pada jendela coding Anda :
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
Adodc1.RecordSource = "SELECT * FROM T_administrasi ORDER BY [" & DataGrid1.Columns(ColIndex).Caption & "] " & Combo1.Text
Adodc1.Refresh
DataGrid1.Refresh
End Sub
Sekarang kita coba Run, kemudian klik pada judul kolomnya, terjadi perubahan? Ya, data akan diurutkan berdasarkan kolom yang diklik. Tinggal tentukan Ascending atau descending dengan memilih dari combobox.
Sudah selesai? Sudah … simple kan ? Selamat mencoba. Semoga yang sedikit ini bisa membantu.
16 Tanggapan
Ckckc ... boleh ni, creative. bungkus!!!
Trm kasih commentnya. Semoga bisa membantu sobat.
Nice Idea ^^
"Dim Urutan as String" nya kok ga dipake di coding ya
soalnya gua tuliskan ke list coding saya tidak terjadi error tapi waktu diklik headernya tidak ada yg berubah T.T
sekalian mao tny untuk data seperti ini "AB00001" apakah bisa diurutkan dengan ini ?
Sory 4 double post
Sudah jalan ternyata kesalahan karena saya sudah meng"set" datasource pada datagrid nya, bukan melalu Adodc ^^
tq. cuma terispirasi dr dac easy dan myob mas. kok bs d sort kyk gitu ya?he2..
klo mw sort data berdasarkan waktu gmn?mksd'y dari tgl XXX smpai tgl XXX. .
trima kasih sblm'y :)
Code di atas dapat diaplikasikan untuk semua jenis data.
Misalnya ingin dibuat berdiri sendiri codenya akan seperti ini :
...
adodc1.recordsource="SELECT * FROM Tabel1 ORDER BY tanggal ASC"
...
^_^
assalamualaikum... saya mau nanya nih..
DBGrid saya urutannya gini:
No----Nomor Account-----Nama----Tanggal-
source code diatas saya coba berhasil untuk kolom
Nama dan kolom No
Tapi klu yg di klik kolom Nomor Account atau Tanggal selalu debug " No Value Given for one or more required parameters " " Methode 'refresh' of object 'adodc' failed "
NB: database MS.Access tipe data "text" semua
tolong pencerahannya y? klu bisa kirim by e-mail ir1_007@yahoo.co.id
Kalau debug nya " No Value Given for one or more required parameters ", berarti yang salah adalah 'nama field' yang buat ngurutin, yaitu yang dibelakang code ORDER BY. usahakan field tidak ada spasi nya atau karakter "terlarang" lainnya, kalaupun ada spasinya apit nama field dengan "[" dan "]", atau "`" dan ini "`"
kalau berkenan boleh kirim sourcenya + databasenya ke email saya [caknur84@yahoo.com], Insya Alloh akan saya bantu semampu saya.
Terima kasih.
@Nur Suhadi : syukron akhi .... ana kirim dlm bentuk .rar y?
akhi Nur Suhadi punya component Statusbar y?? kemaren saya download program Listview dan begitu saya coba ternyata ada component Statusbar nya? klu boleh tolong di buatkan artikel2 component tambahan untuk mempercantik program dan download componentnya dong? tks
@irwan : "Sudah saya terima dan saya balas"
Intinya caption di datagrid tidak sama dengan nama field pada tabel di databasenya.
soal component2 pemanis banyak kok di google he2. coba antum kunjungi : planetsourcecode.com, a1vbcode.com, codeguru.com, vbaccelerator.com, bagus2 gratis tapi sayang bhs inggris he3...
Oke dech insya Alloh kapan2 kalau ada waktu saya posting.
jazakallah.
Syukron akhi na
wa iyyaka
Gan mau tanya nih... tolong scepatnya dibales ya...
strProses = "MENCARI"
MENCARI = txtnomor.Text
Adodc1.RecordSource = "SELECT*FROM TMPELANGGAN WHERE nmrpelanggan = '" + MENCARI + "'"
Adodc1.Refresh <---- debug terus
padahal Dim-nya udah ada Suorce-nya juga uda bener.....
kira-kira apanya ya gan????
@Nur Suhadi > makasih gan sarannya udah saya baca dan coba... ternyata benar... hehe...
makasih banget ya......
Semoga selalu sukses dan semua blog mu laris....
(^_^)