Terkadang kita ingin mengambil data yang ada dalam row grid atau dalam cell , biasanya kita memilih dengan menggunakan mouse, lalu data tersebut kita tampilkan di textbox atau kita simpan dalam variabel.
Saya akan mencoba membuat yang sederhana untuk mengambil data row dalam gridcontrol tentunya, saya asumsikan anda telah punya database sendiri, disini saya akan pakai db Sql Server Express. Baiklah, mari kita mulai dengan membuat New Project atau jika anda ingin menggunakan project yang sudah ada, maka anda hanya tinggal add windows form saja.
Buatlah tampilan seperti ini :
Jadi nantinya jika kita klik mouse di dalam gridcontrol tersebut maka data yang ada di dalam grid akan tampil di textbox yang telah di sediakan.
Sekarang kita akan buat koneksi ke database untuk mengambil data dari database, kemudian kita akan munculkan di dalam gridcontrol pada saat form tersebut di panggil/dijalankan(load).
Ini adalah Table di database:
Properties Untuk GridColum
No | Control | Properties | ||
Name | Caption | FieldName | ||
1 | GridCOlumn1 | GridCOlumn1 | No. ID | no_urut |
2 | GridCOlumn2 | GridCOlumn2 | Nama | nama |
Berikut line code pada View Code
Untuk saat ini kita hanya baru sampai Load data kedalam GridControl belum bisa mendapatkan Row Data di dalam grid.
Sekarang kita pindah ke View Code, Cari GridView1 terus pilih Even MouseUp, kemudian berikan scripts seperti gambar berikut :
Jalankan program dengan menekan tombol F5, klik mouse pada row pertama maka akan tampak seperti berikut:
jika pilih row kedua akan tampak seperti ini
Sekarang kita coba pakai Even DoubleClick , tambahkan scripts berikut pada Even DoubleClick untuk GridView1
kalau anda perhatikan pada Event DoubleClick, ada yang di ulang pada scriptnya seperti pada event MouseUp, kenapa ? karena terkadang Evens MouseUp tidak terbaca sehingga perlu pengulangan pada Event DoubleClick, sebenarnya pada Event DoubleClick cukup seperti ini : XtraMessageBox.Show(TextEdit1.Text.Trim & VbCrlt & TextEdit2.Text.Trim).
Jalankan Program kemudian Double Click pada row kedua , maka akan seperti ini :
Jika ingin bisa DoubleClick di Row manapun tapi tetap keluar data yang kita inginkan maka lakukan perubahan sedikit pada Properties GridView/AdvBandedGridView seperti berikut :
Main | Properties | Value |
View | ||
FocusrecStyle | RowFocus | |
OptionsBehaviar | ||
- EditValue | FALSE | |
- ReadOnly | TRUE | |
selamat mencoba....
Salam
Download source code:
GetRowData
makasih sbelumnya gann dah repot2 di buatkan post :D
ReplyDeleteane nyoba di AdvBandedGridView1 dan Handle DoubleClick
For Each i As Integer In AdvBandedGridView1.GetSelectedRows
Dim row As DataRow = AdvBandedGridView1.GetDataRow(i)
txStringparm.Text = String.Format(row("noId")).Trim
Next
apakah berbeda gann?? "noId" nama column y gan?? :( ane blum berhasill
php.ccnk...
ReplyDeleteeven MouseUp untuk AdvBandedGridView1 tetep harus dibuat dulu , tapi hanya untuk yang ini
For Each i As Integer In AdvBandedGridView1.GetSelectedRows
Dim row As DataRow = AdvBandedGridView1.GetDataRow(i)
txStringparm.Text = String.Format(row("noId")).Trim 'nama FieldName di Grid
Next
scriptnya sudah benar , sama saja dengan penggunaan GridView, hanya harus pastikan noId ini sama dengan yang di FieldName pada column grid tersebut
msih nullReferanceException object not set to an instance.. :(
ReplyDeleteklo make ini gan?? sama gak?
Dim nellValue As String
Dim row As DataRow = AdvBandedGridView1.GetDataRow(Focused)
nellValue = String.Format(row("id")).Trim
ane msih brusahaa dan g dpet value'y.. :'(
ReplyDeleteni cm pgn mengambil value id ketika row'y di doubleclick gan... jdi klo dclick di cell manapun dlam row tersebut,, dpet value id'y aja.. :'(
ada alternatif lain gan?? :D
makasihh
php.ccnk.
ReplyDeletesaya merubah sedikit properties pada gridview, sehingga user bisa doubleclick di row manapun.
coba anda lihat di table terakhir pada Get Row Data (posting ini)..
Semalam dah bisa gann,, stelah mengalami beberapa eror.. mau share dsni gann..
ReplyDeleteDim idValue As String
Dim row As RegList = AdvBandedGridView1.GetFocusedRow
' RegList adalah class set get yg dgunakan untuk populate gridview..
idValue = row.NomorID 'NomorId fieldName nya
MsgBox(idValue)
makasih gan atas bantuannyaa...
senang membaca blog inii :D
dtunggu menu popupny gann..
contextmenustrip ala devExpress..
klo di dev popup menu tuh y gann??
Senang dengarnya ....
ReplyDeleteWah makasih nih share scriptnya...
Nanti akan saya buatkan untuk contextmenunya gan, sejalian saja sama proses insert, delete, update dan xtrReport....
sipp gann,, makasih yahh... pakeny contextmenu bawaan vs'y gan??
ReplyDeletetrus popup menu di devExpress tuh buat ap y gan??
Keep coding gann
:D :D :D
Popup atau contexmenu nanti saya coba usahakan pakai yg devexpress.... Saya coba pakai popup menunya devexpress....
ReplyDeleteOh iya database mungkin pakai access, biar source codenya udah sekalian sama db-nya, biar bisa jalan kalo dicoba, soalnya yg download source code inginnya gitu... Saya ngikut ajalah...
blog yg sngat dicari para migrasi devExpress, sya mndukung dan keep posting
ReplyDelete[Help] gmna yah cara set focus pada row..
misal ada 2 button up dan down..
ketika button down di click = row focus kebawah bgtu strusnya
focus index pada button down +1 tiap di click..
sya ksulitan ketika menggunakan GridView untuk setfocusny..
(cara untuk focus pada row by code)
mohon bantuannya..??
trimakasih untuk respond anda yang sngat berharga bgi saya
makasih mas supportnya...
ReplyDeletepada devexpress, untuk tombol NAVIGATION sudah ada bawaannya... coba lihat properties GridControl--> UseEmbeddedNavigator = True
nanti ada tombol untuk Next-Prev, New,Edit, Delete dan lainnya, untuk setting tombolnya bisa di setting apakah mau di tampilkan atau tidak ada di propertiesnya sbb:
GridControl-->EmbeddedNavigator-->Buttons
tapi jika anda ingin buat sendiri tombol Prev dan Next (Up and Down) sendiri sbb:
pada tombol Prev(Up) untuk Events Click sbb:
GridView1.MovePrev()
pada tombol Next(Down) untuk Events Click sbb:
GridView1.MoveNext()
gan terima kasih atas codenya, kalau saya biasa di C1, dalam pemilihan data di grid bisa seluruh row bisa kepilih, nah di DEVExpress bisa tidak yah, untuk searching dalam row apakah ada juga. thq sekali lagi
ReplyDeletebisa mas made...
ReplyDeletenanti akan saya buatkan search di grid bawaan devexpress, ga perlu coding sama sekali...
ow gtu aja y gann?? wahh terdengar sngat sederhanaa.. ane jdi malu :(
ReplyDeleteklo di listview harus di focus kan ke index pada tiap2 row.. jdi rumit ribet...
jdi mkin cinta sma devExpress
informasi yg membntu sya..
mkasihhh yah mas Sofyan
terima kasih mas udin, mungkin bisa bantu saya mas udin, kalau di XtraReport apakah ukuran kertas bisa di customize sesuai keinginan kita, biasanya di vb6 saya dgn crystal report customize melalui printer server, apakah memungkinkan di XtraReport bawaan devxpress, kalau bisa saya minta tutorial XtraReportnya mas udin....
ReplyDeletekalau custom ukuran kertas pada printer seperti ini :
ReplyDelete1. sharing terlebih dahulu Printer Server ke komputer develop program (misal nam printernya Embon T345)
2. pada printer server tersebut buat ukuran kertas sesuai keinginan (namakan custom)
3. pada Properties di XtraReport :
PrinterName = Embon T345
PaperKind = Custom
ini saya buat waktu ukuran kertas saya 8.5 MM x 5.5 MM pada printer dot matrix
moga membantu....
Anonim mau bertnya lgi.. klo untuk focus ke row,, ketika kita baru saja input data terbaru atau meng updatenya.. gmn gan??
ReplyDeleteupdate row 14 -> selesai -> focus ke row 14
trimakasih untuk respons'y mas Udin Sofyan
kalau update..
ReplyDeletetambahkan ini:
Public AmbilIndexRow as Integer
Pada saat Events MouseUp, tambahkan ini
For Each i ..........
AmbilIndexRow = i
Next
kemudian jika ada tombol Save/Update maka tambahkan ini :
GridView1.MoveBy(AmbilIndexRow)
anonim menyampaikan terimaksih yg sangat untuk pencerahan dan waktu yg telah diluangkannn..
ReplyDeletetrimakasih mas Sofyan..
alhamdulilah sudah berhasil nih :D
Alhamdulillah...Senang bisa bantu
ReplyDeleteBlum dibuat y gan popupnya?? :(
ReplyDeleteyg simple aja gan.. ktika row di klik kanan.. popup'y kluar dsbelah cell'y..
make tool'y blum fasih ane gan.. dh utek2 sndri kluarnya msih dsudut kiri atas..
makasihh y gann Sofyan... :D
untuk waktunya...
php.ccnk..
ReplyDeleteuntuk klik di grid belum ada ... tapi untuk sekedar dasarnya ada artikel Basic Control DevExpress ...
mungkin dari situ ada inpirasi ....
Sipp gan thankzz
ReplyDeletemas bisa bantu buat tutorial gridcontrol dapat diisi data? Jadi saya bisa isi data tiap kolom' tekan enter(atau yang lain) bisa tambah row baru.
ReplyDeleteIni mau saya gunakan buat form transaksi
Mas Vega...
ReplyDeletesaya akan buatkan untuk artikel desember 2011, maaf ya...mudah2an bisa nunggu, mohon maklum lagi ada objekan....
maaf kakak saya newbie mau tanya,
ReplyDeletesaya menggunakan linq to sql untuk binding data source digrid control
Try
Using dc As New DataContext()
Dim _Res = (From c In dc.tRes _
Order By c.UserID _
Select c).ToList
'assign binding datasources
Dim Gr As New BindingSource() With {.DataSource = _Res}
GridPengguna.DataSource = Gr
End Using
Catch ex As Exception
XtraMessageBox.Show(ex.Message.ToString)
End Try
saya mau ambil datanya untuk ditampilkan ke textbox menggunakan code ini
Try
For Each i As Integer In GridViewRes.GetSelectedRows()
Dim row As DataRow = GridViewRes.GetDataRow(i)
TextBox1.Text = row("Field1").Trim
TextBox2.Text = row("Field2").Trim
TextBox3.Text = row("Field3").Trim
Next
Catch ex As Exception
XtraMessageBox.Show(ex.Message.ToString)
End Try
terjadi error ini
object reference not set
mohon pencerahannya jika ada yg salah.
mas ada tutot gk gmn cara databinding di gridview devexpress,,? terima kasih
ReplyDeletemas mau manya gimana cara dan coding control navigation DXgridview, yang bisa simpan,edit,delete
ReplyDeleteMau nanya nih,
ReplyDeletemisal di Grid colom pertama berupa combo.
trus waktu combo dipilih colom kedua terisi data dengan kondisi2 tertentu gimana caranya ya?
Terimakasih