مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

khani

عضویت از 1394/08/26

پر کردن dropdownlist درون repeater به ازای هر ردیف متفاوت

  • دوشنبه 4 اردیبهشت 1396
  • 00:39
تشکر میکنم

سلام دوستان وقت بخیر

من داخل ریپیتر یه dropdown دارم که تو کد میخوام پرش کنم به این صورت که برای هر ردیف ریپیتر ایتم های دراپ داون متفاوته و از تیبل مربوط به خودش خونده میشه.از سرچ هایی که انجام دادم پر میشه ولی همه ی دراپ داون ها  رو با دیتای اخری پر میکنه و یکسان.

این صفحه ی فاکتورم هست که بعد از هر بار انتخاب محصول سشن پر میشه و داخل کدم اسپلیت میکنم اول ریپیتر رو پر میکنم و دراپ داون ها هم از ی تیبل دیگه که با تیبل مربوط به ریپیتر ریلیشن داره باید پر بشه ولی به این مشکل برخوردم. userRoles اسم دیکشنری ای هست که دیتاهای دراپ داونم رو پر میکنم داخلش.rowRepeater اسم ریپیتر و cmb_nakh_no اسم دراپ داونم.

ممنون میشم راهنماییم کنید دوستان خیلی واجبه

کد:

DataTable dt = new DataTable();
    DataSet_mahsol.Tbl_Nakh_of_kalaRow dr_nakh;
    DataSet_mahsolTableAdapters.Tbl_Nakh_of_kalaTableAdapter nakh = new DataSet_mahsolTableAdapters.Tbl_Nakh_of_kalaTableAdapter();
    Dictionary<string, Int64> userRoles;

if (Session["Cart"] != null)
        {
            string cart = Session["Cart"].ToString();
            char[] delimiters = new char[] { ',' };
            string[] parts = cart.Split(delimiters,
                             StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < parts.Length; i++)
            {
                
                string stt = "SELECT " + (i + 1).ToString() + @" as radif, Tbl_Kala_of_mahsol_of_zir_mahsol.id as kala_id, Tbl_Mahsol_Of_Zir_Mahsol.Name, Tbl_Kala_of_mahsol_of_zir_mahsol.Gheymat
                              FROM     Tbl_Kala_of_mahsol_of_zir_mahsol INNER JOIN
                              Tbl_Mahsol_Of_Zir_Mahsol ON Tbl_Kala_of_mahsol_of_zir_mahsol.Tbl_Mahsol_Of_Zir_Mahsol_id = Tbl_Mahsol_Of_Zir_Mahsol.id
                              WHERE  (Tbl_Kala_of_mahsol_of_zir_mahsol.id =" + parts[i] + ")";

                SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["FarshConnectionString"].ConnectionString);
                SqlCommand cmd = new SqlCommand(stt, conn);
                SqlDataReader dr = null;
                conn.Open();
                dr = cmd.ExecuteReader();
                dt.Load(dr);
                if (!Page.IsPostBack)
                {
                    rowRepeater.DataSource = dt;
                    rowRepeater.DataBind();
                }
                if (int.Parse(nakh.count_nakh2(int.Parse(parts[i])).ToString()) > 0)
                {
                    dr_nakh = nakh.GetDataBy_id_kala(int.Parse(parts[i].ToString()))[0];

                    userRoles = new Dictionary<string, Int64>(){
                      {"نخ تخته یک تخته-بسته عادی",dr_nakh.Nakh_Takhte_adi},
                      {"نخ تخته یک تخته-بسته اقتصادی",dr_nakh.Nakh_Takhte_eqtesadi},
                      {"نخ تخته یک جفت-بسته عادی",dr_nakh.Nakh_Joft_adi},
                      {"نخ تخته یک جفت-بسته اقتصادی",dr_nakh.Nakh_Joft_eqtesadi} };   
              
                    foreach (RepeaterItem dataItem in rowRepeater.Items)
                    {
                        ASPxComboBox hf = ((ASPxComboBox)dataItem.FindControl("cmb_nakh_no"));                      
                        hf.DataSource = userRoles;
                        foreach (KeyValuePair<string, Int64> item in userRoles)
                        {
                            hf.Text = item.Key;
                            hf.Value = item.Value;
                        }
                        hf.DataBind();
                    }
                }

            }

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 4 اردیبهشت 1396
  • 09:07

من متوجه مشکلتون نشدم

کاربر سایت

khani

عضویت از 1394/08/26

  • دوشنبه 4 اردیبهشت 1396
  • 11:24

حل شد متشکرم.مشکل از حلقه foreach ای بود که زده بودم.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)