PDA

View Full Version : استفاده از DropDownList در Repeater



mjt10063
چهارشنبه 25 اردیبهشت 1392, 16:39 عصر
سلام دوستان
میخوام دروپ دون لیست رو از ریپرتر به بانک اتصال بدم
توی ریپرتر دروپدون رو تعریف کردم
ولی نمیدونم موقع نمایش اطلاعات چطوری وصلش کنم

کد
<asp:DropDownList ID="DDLRole" Width="150px" DataTextField='<%# Eval("rolename") %>' DataValueField='<%# Eval("roleid") %>' runat="server"></asp:DropDownList>

کد اتصال

SqlDataAdapter sda = new SqlDataAdapter("Select_Userreg", scon);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
dt.Clear();
sda.Fill(dt);
Repeater1.DataSource = dt;
Repeater1.DataBind();

با تشکر

mjt10063
چهارشنبه 25 اردیبهشت 1392, 19:07 عصر
اساتید اگر کمک کنند
توی انجمن های فارسی که چیزی نیست
توی انجمن های غیر فارسی زیاد هست ولی من اصلا متوجه نمیشم

خواهشن خیلی کارم گیره

mjt10063
پنج شنبه 26 اردیبهشت 1392, 06:56 صبح
اساتید کسی تا حالا از دراپ دون تو ریپورتر خودش استفاده نکرده

خیلی گیرم

mjt10063
پنج شنبه 26 اردیبهشت 1392, 10:22 صبح
دوستان خواهشن خیلی
گیرم
باید زودتر تمومش کنم

freddy
پنج شنبه 26 اردیبهشت 1392, 10:43 صبح
در رویداد ItemDataBound مربوط به Repeater شما باید dropdownlist رو بایند کنید .

mjt10063
پنج شنبه 26 اردیبهشت 1392, 11:08 صبح
چطوری ؟؟؟؟

mohammad kafiyan
پنج شنبه 26 اردیبهشت 1392, 11:12 صبح
نگاه به سورس کد بکنی متوجه می شی چه کار کرده
http://forums.asp.net/t/1619012.aspx

mjt10063
پنج شنبه 26 اردیبهشت 1392, 19:13 عصر
دوست عزیز این داده ها رو خودش دستی وارد ddl کرده
ولی من میخوام داده ها از بانک وارد بشن

این موضوع برای موقعی هست که کاربر بخواد بعد از انتخاب اتفاقی ایتمی از ddl رویدادی رخ بده

mohammad kafiyan
پنج شنبه 26 اردیبهشت 1392, 19:45 عصر
دوست عزیز این داده ها رو خودش دستی وارد ddl کرده
ولی من میخوام داده ها از بانک وارد بشن

خوب دوست عزیز من که دیگه نمی آیم لقمه آماده دهن شما بزارم
خوب به جای آن آرایه رشته ای از datatable یا dataset استفاده کن
datatabelیا dataset توسط کوئری سلکت به database زده شده و پر شده شما کافی هستش به اینصورت عمل کنی


Repeater1.DataSource = dt or ds[table name]]" ;
Repeater1.DataBind();

mjt10063
پنج شنبه 26 اردیبهشت 1392, 21:46 عصر
بالاخره درست شد
اینو میزارم واسه اونایی که میخوان این کار رو انجام بدن
و مشکل دارن
اول ریپرتر رو اینطوری تعریف کنید

<asp:Repeater ID="Repeater1" OnItemDataBound="ItemDataBound" runat="server">
</asp:Repeater>

DropDownList را تعریف کنید در ریپرتر
<asp:DropDownList ID="DDLRole" Width="150px" runat="server"></asp:DropDownList>

و بعد بیاید این کد رو به صفحه اضافه کنید

protected void ItemDataBound(object sender, RepeaterItemEventArgs e)
{
try
{
DropDownList ddlrole = (DropDownList)e.Item.FindControl("DDLRole");
if (ddlrole != null)
{
scon.Open();
SqlDataAdapter sda = new SqlDataAdapter("Select_Userreg", scon);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
dt.Clear();
sda.Fill(dt);
ddlrole.DataSource = dt;
ddlrole.DataTextField = "rolename";
ddlrole.DataValueField = "roleid";
ddlrole.DataBind();
scon.Close();
}
}
catch (Exception err)
{
Response.Write("Error :" + err.Message);
}
finally
{
scon.Close();
}
}


موفق باشید
منبع (http://stackoverflow.com/questions/7388610/how-to-bind-dropdownlist-which-is-inside-repeater)