En iyi yanıtlayıcılar
Dropdownlist doldururken listedeki itemlerden gerekli olanı seçme

Soru
-
Merhaba. Ddl ye db den veri çekiyorum ve kaydetme işlemi yapıyorum. Sonra bu kayda girildiğinde güncelleme işlemi yapmam gerekiyor ve başka bir ddl de kaydı yaparken seçmiş olduğu itemi getiriyorum. Ancak diğer itemler gelmiyor. Aşağıdaki kodla bunu yapmaktayım :
SqlConnection conn; SqlCommand comm; SqlDataReader reader; string constr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString; conn = new SqlConnection(constr); comm = new SqlCommand("select AnaBirim from AnaBirim AB inner join TBL_PERSONEL P on P.ANABIRIM=AB.LOGICALREF " + "where P.ADISOYADI=@logref order by AnaBirim asc ", conn); comm.Parameters.AddWithValue("@logref", lbladi.Text); comm.CommandType = CommandType.Text; try { conn.Open(); reader = comm.ExecuteReader(); ddl_vw2AnaBirim.DataSource = reader; ddl_vw2AnaBirim.DataValueField = "AnaBirim"; ddl_vw2AnaBirim.DataTextField = "AnaBirim"; ddl_vw2AnaBirim.DataBind(); reader.Close(); } catch { Response.Write("Bir hata oluştu"); } finally { conn.Close(); }
Yani benim istediğim kayıt yaparken seçtiği item seçili olsun ve diğer itemler de görünsün.
Yanıtlar
-
if(reader.Read) { ddl_vw2AnaBirim.SelectedValue = ddl_vw2AnaBirim.Items.FindByValue(reader.GetValue(0).ToString()).Value; }
- Yanıt Olarak İşaretleyen selow 11 Temmuz 2014 Cuma 10:11
Tüm Yanıtlar
-
ddlJobStatus.SelectedValue = ddlJobStatus.Items.FindByValue("kaydederkenki DeğerAmaStringOlarak").Value;
-
-
Aynen hocam. Kaydettiğini getirmek için. Siz de öyle yazmışsınız zaten. Ki hepsi de gelir ve bu seçtiğini seçili olarak atar. Yalnız bunu dropdownu doldurduktan sonra yazın.
-
Ancak şöyle bir sıkıntı var, ben adını parametre olarak gönderiyorum ve orada ki anabirim kolonunu alıyorum. Yani bir tek o geliyor. Tam anlatamadım galiba :) çalışmadı yine çünkü benim parametre kurgumda bir sıkıntı var. Adına göre anabirim geliyor hepsi dolmuyor. Hepsini doldurduğumda dediğiniz kodu yazdım seçmedi. Çünkü parametre kullanamadım hepsini doldururken. Bu şekilde denedim mesela :
SqlConnection conn; SqlCommand comm; SqlDataReader reader; string constr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString; conn = new SqlConnection(constr); comm = new SqlCommand("select AnaBirim from AnaBirim order by AnaBirim asc", conn); try { conn.Open(); reader = comm.ExecuteReader(); ddl_vw2AnaBirim.DataSource = reader; ddl_vw2AnaBirim.DataValueField = "AnaBirim"; ddl_vw2AnaBirim.DataTextField = "AnaBirim"; ddl_vw2AnaBirim.DataBind(); reader.Close(); ddl_vw2AnaBirim.SelectedValue = ddl_vw2AnaBirim.Items.FindByValue("ANABIRIM").Value; } catch { Response.Write("Bir hata oluştu"); } finally { conn.Close(); }
-
-
-
İki sorgunuz olmalı.
1) Mesela bu dropdownu doldurmak için sorgu.(Zaten yazmışsınız)
2) Seçili elemanı getirecek sorgu.Örneğin :
var command=new SqlCommand("Select AnaBirim from KaydedilenTablo where KaydedilenKisiId=@id",conn); command.Parameters.AddWithVale("@id",kaydedilenKisininIdsi);
- Düzenleyen Soner KOYLU 11 Temmuz 2014 Cuma 08:21
-
SqlConnection conn; SqlCommand comm; SqlDataReader reader; string constr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString; conn = new SqlConnection(constr); comm = new SqlCommand("select AnaBirim from AnaBirim order by AnaBirim asc", conn); var command = new SqlCommand("select AnaBirim from AnaBirim AB inner join TBL_PERSONEL P on P.ANABIRIM=AB.LOGICALREF " + "where P.ADISOYADI=@logref order by AnaBirim asc ", conn); command.Parameters.AddWithValue("@logref", lblHdrPersonelAdıAck); try { conn.Open(); reader = comm.ExecuteReader(); ddl_vw2AnaBirim.DataSource = reader; ddl_vw2AnaBirim.DataValueField = "AnaBirim"; ddl_vw2AnaBirim.DataTextField = "AnaBirim"; ddl_vw2AnaBirim.DataBind(); reader.Close(); ddl_vw2AnaBirim.SelectedValue = ddl_vw2AnaBirim.Items.FindByValue("AnaBirim").Value; } catch { Response.Write("Bir hata oluştu"); } finally { conn.Close(); ]
Malesef olmadı, yukarıdaki gibi düzenledim kodları
- Düzenleyen selow 11 Temmuz 2014 Cuma 08:34
-
-
void DrpAnaBirimDoldur() { SqlConnection conn; SqlCommand comm; SqlDataReader reader; string constr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString; conn = new SqlConnection(constr); comm = new SqlCommand("select AnaBirim from AnaBirim AB inner join TBL_PERSONEL P on P.ANABIRIM=AB.LOGICALREF " + "where P.ADISOYADI=@logref order by AnaBirim asc ", conn); comm.Parameters.AddWithValue("@logref", lbladi.Text); comm.CommandType = CommandType.Text; try { conn.Open(); reader = comm.ExecuteReader(); ddl_vw2AnaBirim.DataSource = reader; ddl_vw2AnaBirim.DataValueField = "AnaBirim"; ddl_vw2AnaBirim.DataTextField = "AnaBirim"; ddl_vw2AnaBirim.DataBind(); reader.Close(); } catch { Response.Write("Bir hata oluştu"); } finally { conn.Close(); } }
Bu işlemle verileri çektik.
void DdlAnaBirimSeciliAta() { SqlConnection conn; SqlCommand comm; SqlDataReader reader; string constr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString; conn = new SqlConnection(constr); comm = new SqlCommand("select AnaBirim from TBL_PERSONEL p WHERE p.PersonelId=@seciliPersonelIdsi",conn); comm.Parameters.AddWithValue("@seciliPersonelIdsi",id ); comm.CommandType = CommandType.Text; try { conn.Open(); reader = comm.ExecuteReader(); ddl_vw2AnaBirim.SelectedValue = ddl_vwAnabirim.Items.FindByValue(reader["AnaBirim"].ToString()).Value;; reader.Close(); } catch { Response.Write("Bir hata oluştu"); } finally { conn.Close(); } }
Bu işlemle de seçili elemanı atadık.
- Düzenleyen Soner KOYLU 11 Temmuz 2014 Cuma 09:15
-
Malesef atama fonkisyonu catch bloğuna düşüyor.
Bu şekilde yazdım:void DdlAnaBirimSeciliAta() { SqlConnection conn; SqlCommand comm; SqlDataReader reader; string constr = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString; conn = new SqlConnection(constr); comm = new SqlCommand("select AnaBirim from AnaBirim AB inner join TBL_PERSONEL P on P.ANABIRIM=AB.LOGICALREF " + "where P.ADISOYADI=@adi order by AnaBirim asc ", conn); comm.Parameters.AddWithValue("@adi", lbladi.Text.ToString()); comm.CommandType = CommandType.Text; try { conn.Open(); reader = comm.ExecuteReader(); ddl_vw2AnaBirim.SelectedValue = ddl_vw2AnaBirim.Items.FindByValue(reader["AnaBirim"].ToString()).Value;; reader.Close(); } catch { Response.Write("Bir hata oluştu"); } finally { conn.Close(); } }
-
Lütfen geliştirme aşamasında try catch kullanmayın. Hata nedir?
-
try bloğunu kaldırdım hata budur :
An exception of type 'System.InvalidOperationException' occurred in System.Data.dll but was not handled in user code
Additional information: Invalid attempt to read when no data is present.Burada alıyorum.
ddl_vw2AnaBirim.SelectedValue = ddl_vw2AnaBirim.Items.FindByValue(reader["AnaBirim"].ToString()).Value; reader.Close();
- Düzenleyen selow 11 Temmuz 2014 Cuma 09:45
-
if(reader.Read) { ddl_vw2AnaBirim.SelectedValue = ddl_vw2AnaBirim.Items.FindByValue(reader.GetValue(0).ToString()).Value; }
- Yanıt Olarak İşaretleyen selow 11 Temmuz 2014 Cuma 10:11
-