14 Kasım 2010 Pazar

ListBox Kontrolu




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" %>

<html>

<head>

   <script runat="server">

      void Page_Load(Object sender, EventArgs e)

      {

          if (ListBox1.SelectedItem != null)

          {

              Label1.Text = "Renk : " + ListBox1.SelectedItem.Text;

              Label2.Text = "Değer : " + ListBox1.SelectedItem.Value;

          }

          else

          {

              Label1.Text = ""; Label2.Text = "";

          }

      }

   </script>

</head>

<body>

   <form id="Form1" runat="server">

      <asp:ListBox id="ListBox1"  Rows="5" AutoPostBack="True"  SelectionMode="Single"   runat="server">

         <asp:ListItem Value="#ffffff">Beyaz</asp:ListItem>

         <asp:ListItem Text="Kırmızı" Value="#ff0000"></asp:ListItem>

         <asp:ListItem Value="#0000ff">Mavi</asp:ListItem>

         <asp:ListItem Value="#00ff00">Yeşil</asp:ListItem>

         <asp:ListItem Value="#ffff00">Sarı</asp:ListItem>

         <asp:ListItem>Mor</asp:ListItem>

      </asp:ListBox>

      <br><br>

      <asp:Label id="Label1"  runat="server"/><br>

      <asp:Label id="Label2"  runat="server"/>

   </form>

</body>

</html>


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>


10 Kasım 2010 Çarşamba

DropDownList Kontrolu




DropDownList Kontrolu tek seçimlik tek satırlık açılır bir seçim listesi sunar. Çalışma mantığı RadioButtonList'e benzer.



Özellikler:

AutoPostBack: DropDownList 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.

DataMember: DropDownList 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. İstediğimiz bir veri kaynağına bağlantı yapabiliriz.

DataTextField: 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.
DataTextFieldFormatString: CheckBoxList verilerinin biçimlendirilmesini sağlar. Aynı zamanda string olarak biçimini bize okur.
DataValueField: CheckBoxList içindeki her bir alanın değerini belirlemek için datasource da ki veri kaynağından bir alan seçer.
Items:  DropDownList koleksiyonunun elemanlarını belirtir.
SelectedIndex:  DropDownList içinde seçili elemanın indeks numarasını verir.
SelectedItem: DropDownList içinde seçili elemanın kendisini temsil eder.
Metotlar 
DataBind: Bir DataSource'a(veri kaynağına) bağlanan DropDownList'e verilerin yüklenmesini sağlar.
OnSelectedIndexChanged: DropDownList için SelectedIndexChanged olayını üretir. SelectedIndexChanged olayı üzerinde düzenleme yapmamızı sağlar.
Olaylar
SelectedIndexChanged:  DropDownList elemanlarından biri seçildiği veya değiştirildiği zaman bu olay gerçekleşir.

Örnek: DropdownList 'e veri,data yükleme. Listitem ile doldurma.




<%@ Page Language="C#" AutoEventWireup="True" %>
<!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(!IsPostBack)
         {
            DropDownList1.Items.Add("Red");
             //ve
            ListItem blue = new ListItem();
            blue.Text = "Blue";
            blue.Value = "Blue";
            DropDownList1.Items.Add(blue);
            ListItem white = new ListItem();
            white.Text = "White";
            white.Value = "White";
            DropDownList1.Items.Add(white);
             DropDownList1.Items.Add(new ListItem("Green","Green"));
         }
      }
   </script>

<head id="Head1" runat="server">
    <title> DropDownList Örneği </title>
</head>
<body>
   <form id="form1" runat="server">
   DropDownList Örneği  <br /><br /><hr /><br />
      <asp:DropDownList ID="DropDownList1"  AutoPostBack="True" runat="server"/>
   </form>
</body>
</html>


Örnek







<%@ Page Language="C#" AutoEventWireup="True" %>

<!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(!IsPostBack)
         {
            DropDownList1.Items.Add("White");
             //ve
            ListItem blue = new ListItem();
            blue.Text = "Blue";
            blue.Value = "Blue";
            DropDownList1.Items.Add(blue);
            ListItem white = new ListItem();
            white.Text = "Red";
            white.Value = "Red";
            DropDownList1.Items.Add(white);
             DropDownList1.Items.Add(new ListItem("Green","Green"));
         }
      }
        String zeminrengi = "#ffffff";
       void DropDownList1_SelectedIndexChange(Object sender,EventArgs e)
       {
           Response.Write("Selected Index : " + DropDownList1.SelectedIndex.ToString() + "<br />");
           Response.Write("Selected Item  : " + DropDownList1.SelectedItem.Text + "<br />");
           Response.Write("Selected Value : " + DropDownList1.SelectedValue.ToString() + "<br />");
           zeminrengi = DropDownList1.SelectedItem.Text;
       }
   </script>

<head id="Head1" runat="server">
    <title> DropDownList Örneği </title>
</head>
<body bgcolor="<%=zeminrengi%>">
   <form id="form1" runat="server">
   <hr /><br />
   DropDownList Örneği  <br /><br /><hr /><br />
      <asp:DropDownList ID="DropDownList1"  AutoPostBack="True" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChange"/>
   </form>
</body>
</html>




Örnek
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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 DropDownList_Changed(Object sender, EventArgs e)
      {
          Calendar1.DayStyle.BackColor = System.Drawing.Color.FromName(DropDownList1.SelectedItem.Value);
      }

   </script>
<head id="Head1" runat="server">
    <title> DropDownList Örneği </title>
</head>
<body>
   <form id="form1" runat="server">
      <h3> DropDownList Örneği </h3>
      Calendar Kontrolu Gün Listesi için bir zemin rengi seçiniz.
      <br /><br />
      <asp:Calendar ID="Calendar1" ShowGridLines="True" ShowTitle="True" runat="server"/>
      <br /><br />
      <table cellpadding="5"><tr><td>Zemin Rengi:</td></tr>
      <tr><td>
               <asp:DropDownList ID="DropDownList1"  AutoPostBack="True" OnSelectedIndexChanged="DropDownList_Changed" runat="server">
                  <asp:ListItem Selected="True" Value="White" Text="White">  </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="Red" Text="Red" />
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>
                  <asp:ListItem Value="Blue" Text="Blue" />
               </asp:DropDownList>
     </td></tr></table>
   </form>
</body>
</html>

Örnek : DropDownList Datatable ile datasource bağlantı kurma.



<%@ 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 DropDownList1_Change(Object sender, EventArgs e)
      {
          Calendar1.DayStyle.BackColor = System.Drawing.Color.FromName(DropDownList1.SelectedItem.Value);
      }
      void Page_Load(Object sender, EventArgs e)
      {
         if(!IsPostBack)
         {
            DropDownList1.DataSource = CreateDataSource();
            DropDownList1.DataTextField = "ColorTextField";
            DropDownList1.DataValueField = "ColorValueField";
            DropDownList1.DataBind();
            DropDownList1.SelectedIndex = 0;
         }
      }

      ICollection CreateDataSource()
      {
         DataTable dt = new DataTable();
         dt.Columns.Add(new DataColumn("ColorTextField", typeof(String)));
         dt.Columns.Add(new DataColumn("ColorValueField", typeof(String)));
         dt.Rows.Add(CreateRow("White", "White", dt));
         dt.Rows.Add(CreateRow("Silver", "Silver", dt));
         dt.Rows.Add(CreateRow("Dark Gray", "DarkGray", dt));
         dt.Rows.Add(CreateRow("Khaki", "Khaki", dt));
         dt.Rows.Add(CreateRow("Dark Khaki", "DarkKhaki", dt));
         DataView dv = new DataView(dt);
         return dv;
      }
      DataRow CreateRow(String Text, String Value, DataTable dt)
      {
         DataRow dr = dt.NewRow();
         dr[0] = Text;
         dr[1] = Value;
         return dr;
      }

   </script>

<head id="Head1" runat="server">
    <title> DropDownList Data Binding Örneği </title>
</head>
<body>
   <form id="form1" runat="server">
      <h3> DropDownList Data Binding Örneği </h3>
      Calendar Kontrolu Gün Listesi için bir zemin rengi seçiniz.
      <br /><br />
      <asp:Calendar id="Calendar1"  ShowGridLines="True"  ShowTitle="True"  runat="server"/>
      <br /><br />
      <table cellpadding="5">
         <tr><td>
              Zemin Rengi:
        </td></tr>
        <tr><td>
      <asp:DropDownList ID="DropDownList1"   AutoPostBack="True"  OnSelectedIndexChanged="DropDownList1_Change"   runat="server"/>
       </td></tr></table>  
   </form>
</body>