Listbox bize seçenek listesi verir. Standart olarak tekli seçim yapılan ListBox dilersek çoklu seçim için ayarlanabilir.
Özellikler
AutoPostBack: Listbox içinde bir seçim yapıldığı veya değiştirildiği zaman formu otomatik olarak gönderir. True değer aldığı zaman aktif olur,çalışır.
<%@ Page Language="C#" AutoEventWireup="True" %>
DataMember: Listbox içeriğini bir veri kaynağından alıyorsa ve bu kaynak birden fazla tabloya sahip ise bu özellik ile istenilen veri tablosu belirlenir.
DataSource: Bir veri kaynağı bağlantısı sağlar.Listbox ile istediğimiz bir veri kaynağına bağlantı yapabiliriz.
DataTextField: ListBox için bağlandığımız veri kaynağındaki istediğimiz veri alanını yani veri tablosundaki sutunu alanı adını yazarak bağlanmamızı sağlar.
DataTextFormatString: ListBox verilerinin biçimlendirilmesini sağlar. Aynı zamanda string olarak biçimini bize okur.
DataValueField: ListBox içindeki her bir alanın değerini belirlemek için datasource da ki veri kaynağından bir alan seçer.
Items: ListBoxkoleksiyonunun elemanlarını belirtir.
SelectedIndex: listBox içinde seçili elemanın indeks numarasını verir.
SelectedItem: ListBox içinde seçili elemanın kendisini temsil eder.
SelectedValue: Listbox elemanlarına değer verir veya elemanlarının değerlerini öğrenir.
Rows: Listbox için satır sayısını belirler. Varsayılan olarak dörttür.
SelectionMode: Listbox içinde tek veya çoklu seçim yapılmasını ayarlar. Multiple veya Single değerlerinden birini alır. Standar olarak Single değeri alır.
Metotlar
OnSelectedIndexChanged: ListBox için SelectedIndexChanged olayını üretir. SelectedIndexChanged olayı üzerinde düzenleme yapmamızı sağlar.
DataBind: Bir DataSource'a(veri kaynağına) bağlanan ListBox'a verilerin yüklenmesini sağlar.
Olaylar
SelectedIndexChanged: ListBox elemanlarından biri seçildiği veya değiştirildiği zaman bu olay gerçekleşir.
Örnek
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server" >
void Page_Load(Object sender, EventArgs e)
{
if (ListBox1.SelectedItem != null)
{
Label1.Text = "Renk Adı : " + ListBox1.SelectedItem.Text; Label1.BackColor = System.Drawing.Color.FromName(ListBox1.SelectedItem.Value);
Label2.Text = "Renk Değeri : " + ListBox1.SelectedItem.Value; Label2.BackColor = System.Drawing.Color.FromName(ListBox1.SelectedItem.Value);
}
if(!IsPostBack)
{
ListBox1.DataSource = verikaynak();
ListBox1.DataTextField = "renkadi";
ListBox1.DataValueField = "renkdegeri";
ListBox1.DataBind();
ListBox1.SelectedIndex = 0;
}
}
ICollection verikaynak()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("renkadi", typeof(String)));
dt.Columns.Add(new DataColumn("renkdegeri", typeof(String)));
dt.Rows.Add(satirolustur("Beyaz", "#ffffff", dt));
dt.Rows.Add(satirolustur("Kırmızı", "#ff0000", dt));
dt.Rows.Add(satirolustur("Mavi", "#0000ff", dt));
dt.Rows.Add(satirolustur("Yeşil", "#00ff00", dt));
dt.Rows.Add(satirolustur("Sarı", "#ffff00", dt));
dt.Rows.Add(satirolustur("Mor", "#8800ff", dt));
DataView dv = new DataView(dt);
return dv;
}
DataRow satirolustur(String metin, String deger, DataTable dt)
{
DataRow dr = dt.NewRow();
dr[0] = metin;
dr[1] = deger;
return dr;
}
</script>
<head id="Head1" runat="server">
<title> </title>
</head>
<body>
<form id="form1" runat="server">
<asp:ListBox ID="ListBox1" AutoPostBack="True" runat="server" Width="200" Rows="7"/><br />
<asp:Label ID="Label1" runat="server" /><br />
<asp:Label ID="Label2" runat="server" /><br />
</form>
</body>
</html>