Halaman

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

Thursday, October 20, 2011

LookUpEdit DevExpress

LookUpEdit ini seperti perpaduan antara ComboxEdit dengan Grid, anda bisa menentukan column yang akan tampilkan dalam bentuk grid (multicolumn), tapi anda hanya memilih salah satu dari pilihan tersebut.

Contoh berikut saya akan ambil data dari database kemudian data tersebut akan saya isi ke dalam LookUpEdit. anda bisa memilih hanya beberapa column saja yang di tampilkan dalam LookUpEdit, atau anda juga bisa menampilan semua column yang ada di dalam tabel database, tergantung mana yang ada pilih, tapi yang pasti anda hanya dapat satu (1) value saja. Dalam contoh ini saya ingin mengambil noid, sedangkan tampilan ketika saya pilih yang keluar adalah nama di LookUpEdit.

Buatlah New Project, kemudian tambahkan LookUpEdit ke dalam form, kemudian setting properties sebagai berikut :

No
Properties
Value
1NamelookUpEdit1
2BestFitModeBestFitResizePopup
3TextEditStyleStandard
4Column
1. Column1
CaptionNo Id
FieldNamenoid
2. Column2
CaptionNama
FieldNamenama

Tambahkan labelcontrol dan ganti Text di properties menjadi LookUpEdit.
Untuk Data saya menggunakan Access, adapun scripts adalah sebagai berikut :

   
' Ambil data dari database
Sub ConnectionDB()
Try
opencon()
Using dsReg As New DataSet()
Dim cmd As New OleDbCommand("select * from sample", con)
Dim daReg As New OleDbDataAdapter(cmd)
daReg = New OleDbDataAdapter(cmd)
dsReg.Tables.Clear()
daReg.Fill(dsReg, "sample") ' sample hanya penamaan di dataset, bisa diisi bebas
LookUpEdit1.Properties.DataSource = dsReg.Tables("sample")
LookUpEdit1.Properties.DisplayMember = dsReg.Tables("sample").Columns("nama").ToString
LookUpEdit1.Properties.ValueMember = dsReg.Tables("sample").Columns("noid").ToString
End Using
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
Finally
con.Close()
End Try
End Sub

   
Sedikit penjelasan :
LookUpEdit1.Properties.DisplayMember = dsReg.Tables("sample").Columns("nama").ToString
Fungsi script diatas adalah untuk menampilkan nama pada LookUpEdit

LookUpEdit1.Properties.ValueMember = dsReg.Tables("sample").Columns("noid").ToString
Fungsi ini untuk mengisi value dari data yang di ambil adalah noid, walaupun di tampilan LookUpEdit yang tampil adalah nama, tapi nilai yang di ambil adalah noid.

Jika ingin yang di tampilkan noid maka anda harus mengganti baris berikut :
LookUpEdit1.Properties.DisplayMember = dsReg.Tables("sample").Columns("nama").ToString
menjadi
LookUpEdit1.Properties.DisplayMember = dsReg.Tables("sample").Columns("noid").ToString

Setelah selesai tekan tombol F5, maka akan tampak seperti ini :


Semoga membantu, selamat mencoba.....

Salam

Download source code :
LookUpEdit

7 comments:

  1. klo munculkan lookupedit di gridcontrol dengan query gmn ya contoh ny mungkin kode item untuk grid transaksi ??
    thx

    ReplyDelete
  2. hallo mas fajar... sorry baru bales..
    kalau untuk RepositoryItemLookUpEdit jadi seperti ini mas fajar:

    Sub ConnectionDB()
    Try
    opencon()
    Using dsReg As New DataSet()
    Dim cmd As New OleDbCommand("select * from sample", con)
    Dim daReg As New OleDbDataAdapter(cmd)
    daReg = New OleDbDataAdapter(cmd)
    dsReg.Tables.Clear()
    daReg.Fill(dsReg, "sample") ' sample hanya penamaan di dataset, bisa diisi bebas
    RepositoryItemLookUpEdit1.DataSource = dsReg.Tables("sample")
    RepositoryItemLookUpEdit1.DisplayMember = dsReg.Tables("sample").Columns("nama").ToString
    RepositoryItemLookUpEdit1.ValueMember = dsReg.Tables("sample").Columns("noid").ToString
    End Using
    Catch ex As Exception
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
    Exit Sub
    Finally
    con.Close()
    End Try
    End Sub

    ReplyDelete
    Replies
    1. ok udah bisa mas,,semoga ilmunya bermanfaat... thanks ya

      Delete
    2. mau tanya lg mas ,,,heeheee
      klo munculin datanya di coloum nya gridview gmn ya sy mau coba dengan NewItemRowPosition "RepositoryItemLookUpEdit1_EditValueChanged" ???
      seperti munculin di texedit seperti ini :
      texedit1.Text = LookUpEdit.GetColumnValue("nama")
      texedit1.Text = LookUpEdit.GetColumnValue("address")

      Delete
    3. mas fajar bisa menggunakan script yang lebih fleksibel di artikel saya :
      http://udinsofyan.blogspot.com/2011/10/get-row-data-in-gridcontrol.html

      nanti mas fajar bisa ambil dari row mana dan cell apa... bisa di explore

      Delete
  3. mz saya masih bingung tetep ga bisa simpan

    ReplyDelete
  4. mz udin mau tanya saya mau menyimpan code sub account bagaimna ya caranya.trus untuk membersihkan lookupedit bagaimna ya setelah simpan.berikut scrip saya:


    Try


    Dim tabel As OdbcDataAdapter
    Dim data As DataSet
    Dim record As New BindingSource

    Call connect()
    tabel = New OdbcDataAdapter("SELECT Description_Sub_Account,Code_Sub_Account FROM t_sub_account where code_account ='11'", conn)

    data = New DataSet
    tabel.Fill(data)
    record.DataSource = data
    record.DataMember = data.Tables(0).ToString

    data.Tables.Clear()
    tabel.Fill(data, "sample")
    LookUpEdit2.Properties.DataSource = data.Tables("sample")

    LookUpEdit2.Properties.DisplayMember = data.Tables("sample").Columns("Description_sub_account").ToString
    LookUpEdit2.Properties.ValueMember = data.Tables("sample").Columns("code_sub_account").ToString
    LookUpEdit2.Properties.Columns(0).Caption = "Description Sub Account"
    LookUpEdit2.Properties.Columns(1).Caption = "Code Sub Account"
    Catch ex As OdbcException
    MsgBox(ex.Message)

    End Try

    ReplyDelete

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

Search This Blog