Halaman

WARNING!!
Please do not post links crack / patch in your comment

Friday, October 14, 2011

Get Row Data in GridControl

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 Koneksi ke server dan nama database disesuaikan dengan yang ada di tempat kita coba, jika telah selesai, jalankan program dengan menekan tombol F5


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

29 comments:

  1. makasih sbelumnya gann dah repot2 di buatkan post :D
    ane 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

    ReplyDelete
  2. php.ccnk...
    even 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

    ReplyDelete
  3. msih nullReferanceException object not set to an instance.. :(
    klo make ini gan?? sama gak?
    Dim nellValue As String
    Dim row As DataRow = AdvBandedGridView1.GetDataRow(Focused)
    nellValue = String.Format(row("id")).Trim

    ReplyDelete
  4. ane msih brusahaa dan g dpet value'y.. :'(
    ni 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

    ReplyDelete
  5. php.ccnk.
    saya merubah sedikit properties pada gridview, sehingga user bisa doubleclick di row manapun.
    coba anda lihat di table terakhir pada Get Row Data (posting ini)..

    ReplyDelete
  6. Semalam dah bisa gann,, stelah mengalami beberapa eror.. mau share dsni gann..

    Dim 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??

    ReplyDelete
  7. Senang dengarnya ....
    Wah makasih nih share scriptnya...
    Nanti akan saya buatkan untuk contextmenunya gan, sejalian saja sama proses insert, delete, update dan xtrReport....

    ReplyDelete
  8. sipp gann,, makasih yahh... pakeny contextmenu bawaan vs'y gan??
    trus popup menu di devExpress tuh buat ap y gan??

    Keep coding gann
    :D :D :D

    ReplyDelete
  9. Popup atau contexmenu nanti saya coba usahakan pakai yg devexpress.... Saya coba pakai popup menunya devexpress....
    Oh 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...

    ReplyDelete
  10. blog yg sngat dicari para migrasi devExpress, sya mndukung dan keep posting
    [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

    ReplyDelete
  11. makasih mas supportnya...
    pada 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()

    ReplyDelete
  12. 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

    ReplyDelete
  13. bisa mas made...
    nanti akan saya buatkan search di grid bawaan devexpress, ga perlu coding sama sekali...

    ReplyDelete
  14. ow gtu aja y gann?? wahh terdengar sngat sederhanaa.. ane jdi malu :(
    klo 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

    ReplyDelete
  15. 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....

    ReplyDelete
  16. kalau custom ukuran kertas pada printer seperti ini :
    1. 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....

    ReplyDelete
  17. Anonim mau bertnya lgi.. klo untuk focus ke row,, ketika kita baru saja input data terbaru atau meng updatenya.. gmn gan??
    update row 14 -> selesai -> focus ke row 14

    trimakasih untuk respons'y mas Udin Sofyan

    ReplyDelete
  18. kalau update..
    tambahkan 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)

    ReplyDelete
  19. anonim menyampaikan terimaksih yg sangat untuk pencerahan dan waktu yg telah diluangkannn..
    trimakasih mas Sofyan..
    alhamdulilah sudah berhasil nih :D

    ReplyDelete
  20. Blum dibuat y gan popupnya?? :(
    yg 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...

    ReplyDelete
  21. php.ccnk..
    untuk klik di grid belum ada ... tapi untuk sekedar dasarnya ada artikel Basic Control DevExpress ...

    mungkin dari situ ada inpirasi ....

    ReplyDelete
  22. mas bisa bantu buat tutorial gridcontrol dapat diisi data? Jadi saya bisa isi data tiap kolom' tekan enter(atau yang lain) bisa tambah row baru.
    Ini mau saya gunakan buat form transaksi

    ReplyDelete
  23. Mas Vega...
    saya akan buatkan untuk artikel desember 2011, maaf ya...mudah2an bisa nunggu, mohon maklum lagi ada objekan....

    ReplyDelete
  24. maaf kakak saya newbie mau tanya,
    saya 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.

    ReplyDelete
  25. mas ada tutot gk gmn cara databinding di gridview devexpress,,? terima kasih

    ReplyDelete
  26. mas mau manya gimana cara dan coding control navigation DXgridview, yang bisa simpan,edit,delete

    ReplyDelete
  27. Mau nanya nih,
    misal di Grid colom pertama berupa combo.
    trus waktu combo dipilih colom kedua terisi data dengan kondisi2 tertentu gimana caranya ya?

    Terimakasih

    ReplyDelete

Note: Only a member of this blog may post a comment.

Search This Blog