none
Menampilkan data ke combobox dari Integer ke String

    Question

  • Jika saya memiliki data didatabase yang berbentuk integer.

    Misalnya : 10, 20, 30, 40 , 50

    Bagaimana  pada combobox dapat tampil sepuluh, duapuluh, tigapuluh, empatpuluh, limapuluh?

    Jika ingin menyimpan ke database, data yang disimpan berbentuk integer.

    Tuesday, March 19, 2013 2:44 AM

Answers

  • Tambahkan ini pada event Form_Load

    Me.ComboBox1.Items.Add("Sepuluh")
    Me.ComboBox1.Items.Add("Duapuluh")
    Me.ComboBox1.Items.Add("Tigapuluh")
    Me.ComboBox1.Items.Add("Empatpuluh")
    Me.ComboBox1.Items.Add("Limapuluh")

    Pada saat mengambil data dari database konversi value dari field menjadi SelectedIndex milik ComboBox.

    Dim integerValue As Integer = CInt(reader.GetString(0))
    Me.ComboBox1.SelectedIndex = integerValue - 1

    Pada saat insert ke database, assign field di database dengan integerValue

    Dim integerValue As Integer = Me.ComboBox1.SelectedIndex + 1




    INDRA PRASETYA

    Tuesday, March 19, 2013 3:00 AM
  • Halo Tante Iga Mentari,

    Sebetulnya ada cara yang menyenangkan untuk kasus yang sedang tante alami. Pertama-tama yang perlu tante lakukan adalah mendeklarasikan 2 variabel array seperti berikut ini:

    Dim DeretanAngka() As Object = New Object() {10, 20, 30, 40, 50}
    Dim DeretanString() As String = New String() {"Sepuluh", "Duapuluh", "Tigapuluh", "Empatpuluh", "Limapuluh"}

    Setelah itu pada jendela property yang dimiliki oleh combobox. Carilah property yang bernama DrawMode, dan ubahlah nilainya menjadi OwnerDrawFixed atau OwnerDrawVariable. Dengan memberlakukan nilai tersebut, maka Tante Iga Mentari telah mengambil alih proses grafis (biasanya disebut rendering). Jadi sekarang tante boleh menggambar di combobox, tepatnya pada jendela itemnya.

    Sekarang cobalah tante masuk ke jendela kode pada Form_Load, dan lakukan berikut ini:

    Me.ComboBox1.Items.AddRange(DeretanAngka)

    Setelah itu masuklah pada event yang dimiliki oleh combobox, yaitu DrawItem, dan lakukan berikut ini:

    Dim g As Graphics = e.Graphics
    g.Clear(Color.White)
    g.FillRectangle(Brushes.Orange, New Rectangle(0, e.Index * Me.ComboBox1.GetItemHeight(e.Index), Me.ComboBox1.Width, Me.ComboBox1.GetItemHeight(e.Index)))
    For a As Integer = 0 To DeretanAngka.Length - 1
        g.DrawString(DeretanAngka(a) & " | " & DeretanString(a), Me.ComboBox1.Font, Brushes.Black, 0, a * Me.ComboBox1.GetItemHeight(a))
    Next

    Setelah selesai, coba anda jalankan projectnya dan lihat hasilnya. Dari versi saya, ilustrasinya kurang lebih seperti berikut ini:



    Tante gak perlu kuatir dengan angka yang dipilih. Karena angka yang dipilih adalah angka yang berasal dari item combobox.  Lagipula yang dimodifikasi kan cuma ruang lingkup grafisnya, tepatnya DropDownList yang dimiliki combobox.

     

    Semoga membantu,

     

     

     

    Wahyu VB .Net

    • Marked as answer by Iga Mentari Tuesday, March 19, 2013 5:06 AM
    Tuesday, March 19, 2013 4:40 AM

All replies

  • Tambahkan ini pada event Form_Load

    Me.ComboBox1.Items.Add("Sepuluh")
    Me.ComboBox1.Items.Add("Duapuluh")
    Me.ComboBox1.Items.Add("Tigapuluh")
    Me.ComboBox1.Items.Add("Empatpuluh")
    Me.ComboBox1.Items.Add("Limapuluh")

    Pada saat mengambil data dari database konversi value dari field menjadi SelectedIndex milik ComboBox.

    Dim integerValue As Integer = CInt(reader.GetString(0))
    Me.ComboBox1.SelectedIndex = integerValue - 1

    Pada saat insert ke database, assign field di database dengan integerValue

    Dim integerValue As Integer = Me.ComboBox1.SelectedIndex + 1




    INDRA PRASETYA

    Tuesday, March 19, 2013 3:00 AM
  • Halo Tante Iga Mentari,

    Sebetulnya ada cara yang menyenangkan untuk kasus yang sedang tante alami. Pertama-tama yang perlu tante lakukan adalah mendeklarasikan 2 variabel array seperti berikut ini:

    Dim DeretanAngka() As Object = New Object() {10, 20, 30, 40, 50}
    Dim DeretanString() As String = New String() {"Sepuluh", "Duapuluh", "Tigapuluh", "Empatpuluh", "Limapuluh"}

    Setelah itu pada jendela property yang dimiliki oleh combobox. Carilah property yang bernama DrawMode, dan ubahlah nilainya menjadi OwnerDrawFixed atau OwnerDrawVariable. Dengan memberlakukan nilai tersebut, maka Tante Iga Mentari telah mengambil alih proses grafis (biasanya disebut rendering). Jadi sekarang tante boleh menggambar di combobox, tepatnya pada jendela itemnya.

    Sekarang cobalah tante masuk ke jendela kode pada Form_Load, dan lakukan berikut ini:

    Me.ComboBox1.Items.AddRange(DeretanAngka)

    Setelah itu masuklah pada event yang dimiliki oleh combobox, yaitu DrawItem, dan lakukan berikut ini:

    Dim g As Graphics = e.Graphics
    g.Clear(Color.White)
    g.FillRectangle(Brushes.Orange, New Rectangle(0, e.Index * Me.ComboBox1.GetItemHeight(e.Index), Me.ComboBox1.Width, Me.ComboBox1.GetItemHeight(e.Index)))
    For a As Integer = 0 To DeretanAngka.Length - 1
        g.DrawString(DeretanAngka(a) & " | " & DeretanString(a), Me.ComboBox1.Font, Brushes.Black, 0, a * Me.ComboBox1.GetItemHeight(a))
    Next

    Setelah selesai, coba anda jalankan projectnya dan lihat hasilnya. Dari versi saya, ilustrasinya kurang lebih seperti berikut ini:



    Tante gak perlu kuatir dengan angka yang dipilih. Karena angka yang dipilih adalah angka yang berasal dari item combobox.  Lagipula yang dimodifikasi kan cuma ruang lingkup grafisnya, tepatnya DropDownList yang dimiliki combobox.

     

    Semoga membantu,

     

     

     

    Wahyu VB .Net

    • Marked as answer by Iga Mentari Tuesday, March 19, 2013 5:06 AM
    Tuesday, March 19, 2013 4:40 AM
  • Halo Pak Indra Prasetya.

    Halo Pak Wahyu.

    Terima kasih atas jawabannya, semua jawaban sangat membantu dan memuaskan.

    Tuesday, March 19, 2013 5:07 AM
  • Lebih fleksibel lagi jika kalimat terbilang dibuatkan fungsi untuk menterjemahkan angka ke kalimat.

    Saya pernah membuat fungsi terbilang dalam Bahasa C#. Bisa baca contoh kodenya di

    http://geeks.netindonesia.net/blogs/cahnom/archive/2007/05/12/Menguji-Performance-Aplikasi-ASP.NET.aspx


    Ahmad Masykur http://www.masykur.web.id/

    Tuesday, March 19, 2013 6:21 AM