Bind data LINQ ke Dropdown list

Ini merupakan kasus pertama yang kuhadapi ketika menerapkan LINQ di aplikasi. Binding data hasil LINQ ke dropdownlist. Butuh satu dua jam untuk menyelesaikan kasus ini. Akhirnya bisa juga. Untuk kode VB.NET di bawah belum di tes, tapi pasti bisa berjalan tanpa masalah.
Code C#

public void IsiDdl(DropDownList ddl)
{
     ddl.Items.Clear();

     G200XDataContext dt = new G200XDataContext();
     var hasil = from m in dt.MODEMs select m;

     System.Collections.Generic.List<MODEM> listHasil = new System.Collections.Generic.List<MODEM>();
     listHasil = hasil.ToList<MODEM>();

     ddl.DataSource = listHasil;
     ddl.DataTextField = "PLAT";
     ddl.DataValueField = "ID";
     ddl.DataBind();
}

Code VB.NET

Sub IsiDDL(ByVal ddl As DropDownList)
     ddl.Items.Clear()

     Dim koneksi As String = ConfigurationManager.ConnectionStrings("G200XConnectionString").ConnectionString
     Dim dt As New G200XDataContext(koneksi)

     Dim hasil = From m In dt.MODEMs Select m

     Dim listHasil As New System.Collections.Generic.List(Of MODEM)
     listHasil = hasil.ToList()

     ddl.DataSource = listHasil
     ddl.DataTextField = "PLAT"
     ddl.DataValueField = "ID"
     ddl.DataBind()
End Sub

Hasil dari LINQ ditampung ke variabel List collection dan digunakan sebagai datasource dari dropdown list.

Kode dibawah ini baru ketemu kemudian dan lebih sederhana. Hasil dari LINQ tidak perlu ditampung di List collection, tapi langsung digunakan sebagai datasource dari dropdownlist.

public static void IsiDdl2(DropDownList ddl)
{
   ddl.Items.Clear();

   G200XDataContext dt = new G200XDataContext();
   var hasil = from m in dt.MODEMs
               select new { m.ID, m.PLAT };
   ddl.DataSource = hasil;
   ddl.DataTextField = "PLAT";
   ddl.DataValueField = "ID";
   ddl.DataBind();
}

VB.NET

Sub isiDDL2(ByVal ddl As DropDownList)
   ddl.Items.Clear()
   Dim koneksi As String = ConfigurationManager.ConnectionStrings("G200XConnectionString").ConnectionString
   Dim dt As New G200XDataContext(koneksi)

   Dim hasil = From m In dt.MODEMs _
               Select New With {m.ID, m.PLAT}

   ddl.DataSource = hasil
   ddl.DataTextField = "PLAT"
   ddl.DataValueField = "ID"
   ddl.DataBind()
End Sub

Happy Coding…

About Yuniar

Penulis sekarang lebih banyak bekerja menggunakan teknologi Microsoft .NET secara umum dan TIDAK lagi menggunakan aplikasi MapXtreme.net dari MapInfo. Karena itu mohon maaf, jika pertanyaan-pertanyaan mengenai MapXtreme sudah tidak bisa saya jawab lagi.

Posted on 15 Oktober 2009, in LINQ and tagged , , , . Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: