DetailsView ile Birlikte DropDownList Nesnesi Kullanımı
Merhaba arkadaşlar, bu makalemizde dropdownlist de seçili items e ait detay bilgilerini, DetailsView nesnemizde göstereceğiz. İlk önce dropdownlist nesnesinin AutoPostBack="True" yapın. OnSelectIndexChanged kısmında, kod kısmında oluşturacağınız alanı gösterin ( OnSelectedIndexChanged="personel" ) .
Default.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
OleDbConnection baglan;
OleDbCommand komut = new OleDbCommand();
OleDbDataAdapter da;
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
personelkayitlari();
bilgial();
}
}
protected void personel(object sender, EventArgs e)
{
if (DropDownList1.SelectedValue.ToString() == "Personel Adı Seçin")
{
Label1.Visible = true;
Label1.Text = "Kayıtlı personel bilgilerini görmek için personel ismini seçin.";
DetailsView1.DataSource = null;
DetailsView1.DataBind();
}
else
{
personelkayitlari();
}
}
public void bilgial()
{
//DropDownList in itemslerine veritabanımızdaki Ad alanındaki verileri ekliyoruz.
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Ace.OleDb.12.0; Data Source=" + Server.MapPath("App_Data//bilgi.accdb"));
komut.CommandText = "Select * from PersonelListesi";
komut.Connection = baglan;
ds = new DataSet();
da = new OleDbDataAdapter(komut);
baglan.Open();
komut.ExecuteNonQuery();
da.Fill(ds);
baglan.Close();
DropDownList1.DataValueField = "Ad";
DropDownList1.DataTextField = "Ad";
DropDownList1.DataSource = ds;
DropDownList1.DataBind();
DropDownList1.Items.Add("Personel Adı Seçin");
DropDownList1.Items.FindByValue("Personel Adı Seçin").Selected = true;
}
public void personelkayitlari()
{
if (DropDownList1.SelectedValue.ToString() == "Personel Adı Seçin")
{
Label1.Visible = true;
Label1.Text = "Kayıtlı personel bilgilerini görmek için personel ismini seçin.";
}
else
{
//personel kayıtlarını dropdownlist te seçili personel adına ait bilgileri
//detailsview da gösteriyoruz.
string ddlid = DropDownList1.SelectedValue.ToString();
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Ace.OleDb.12.0; Data Source=" + Server.MapPath("App_Data//bilgi.accdb"));
komut.CommandText = "Select * From PersonelListesi Where Ad= '" + ddlid.ToString() + "'";
komut.Connection = baglan;
da = new OleDbDataAdapter(komut);
ds = new DataSet();
baglan.Open();
komut.ExecuteNonQuery();
da.Fill(ds);
baglan.Close();
if (ds.Tables[0].Rows.Count > 0)
{
DetailsView1.DataSource = ds;
DetailsView1.DataBind();
Label1.Visible = false;
}
else
{
Label1.Visible = true;
Label1.Text = "Seçili isime ait personel kayıtı bulunmamaktadır!";
DetailsView1.DataSource = null;
DetailsView1.DataBind();
}
}
}
}
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN