DataBinding Nilai Enum dan cara membacanya

Saya seringkali menggunakan nilai Enum untuk nilai-nilai referensi yang sudah tetap/fix. Membuat enum sangat mudah karena tidak terlampau jauh berbeda dengan membuat class/object biasa, misalkan seperti di bawah ini:

public enum SubscribeStatus
{
None = 0,
Subscribed = 1,
Unsubscribed = -1
}

Cara mengakses nilai enum cukup dengan membuat variable enum dan kita beri nilai dia sesuai enum-nya, misalkan:

private SubscribeStatus _status;


_status = SubscribeStatus.Subscribed;


Nah, problema muncul saat kita hendak menampilkan seluruh pilihan enum ke pengguna. Ternyata ada cara yang cukup mudah, yaitu dengan menganggap bahwa enum sebenarnya adalah Data array Name-Value maka kita bisa melakukan proses DataBinding enum ke Data-aware control (seperti DropDownList) dengan menggunakan methods GetNames. Misalkan:

DropDownList1.DataSource = Enum.GetNames(typeof(SubscribeStatus));
DropDownList1.DataBind();

Saat kita run program kita, maka control DropDownList1 akan berisi semua names enum (None, Subscribed serta Unsubscribed).

Setelah itu kita pasti ingin membaca nilai apa yang dipilih oleh pengguna, untuk hal ini kita dapat membacanya menggunakan methods Parse seperti contoh di bawah ini:

SubscribeStatus sStatus = (SubscribeStatus)Enum.Parse(typeof(SubscribeStatus), DropDownList1.SelectedValue);

Sangat mudah bukan?

Related Posts

System.GUID untuk identitas unik dari object
Bila anda sering bermain dengan `object` maka anda mau tidak mau akan membutuhkan UUID (Universally Unique...
Mengganti StyleSheet saat runtime di ASP.NET 2.0
Berkat CSS, desain tampilan suatu webpage dapat dirubah dengan cepat tanpa harus merombak keseluruhan...
Error `Session state has created a session id, but cannot save it because the response was already flushed by the application.` di ASP.NET
Beberapa waktu belakangan ini saya sering menemukan pesan error: Session state has created a session...
ASP.NET 2.0: GridView DataFormatString
Sesuai contoh di MS Visual Studio, DataFormatString haruslah berbentuk {0:x} dimana x adalah FormatString...

Leave a Reply

Your email address will not be published. Required fields are marked *

*


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>