انجمن‌های فارس وب

نسخه کامل: مشکل با DropDownlist,GridView
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
سلام
من روی فرمم یک GridView , یک DropDownList گذاشتم ،و مقادیر داخل این DropDown شماره دانشجویی را نشان میدهد.


کد زیر را نوشتم ولی جالب اینجاست که هیچ اتفاقی نمی افته.حتی برای امتحان در رویداد زیر ،ازش خواستم که رنگ label را عوض کند ولی این کار را نمی کند.

1-به نظر شما اصلا این رویداد اتفاق نمی افته که حتی رنگ لیبل عوض نمیشه؟؟؟؟

کدی هم که نوشتم:

protected void DropDownList1_SelectedIndexChanged(objec t sender, EventArgs e)
    {
        Label1.BackColor = Color.Red;
        
        sql_adp.SelectCommand.CommandText = "sp_select_students_for_insert_grades";
  
        sql_adp.SelectCommand.Parameters.AddWithValue("@user_name_student",Convert .ToInt32 (DropDownList1.SelectedValue));
      
        sql_conn.Open();
        sql_adp.Fill(ds, "selected_student");
        sql_conn.Close();

         //GridView1.DataSource = ds;
         GridView1.DataBind();
         ds.Clear();
    }


ضمنا خطایی هم که میدهد این است:

نقل قول:
Both DataSource and DataSourceID are defined on 'GridView1'. Remove one definition



در کد بالا وقتی

نقل قول:
GridView1.DataSource = ds;


را حذف میکنم دیگر خطای بالا را نمیگیرد ولی همچنان وضعیت مثل قبل است یا این تفاوت که وقتی dropdownlist را مقدار دیگری ازش انتخاب میکنم سریع روی آیتم اولیه بر میگردد!

2-ربطی به AutoPostBack داره؟

3-ممکنه گرید ویو از اون کنترل هایی باشه که باید قبل از اجرا مقادیر سطرها مشخص باشه و نتونه با تغییر مقدار dropdownlist مقادیرش را تغییر دهد؟(البته تعداد و نوع ستون ها با تغییر dropDown یکی است ،فقط مقادیر سطها تغییر میکند ،با توجه به هر دانشجو)در این صورت چه راهی را پیشنهاد می کنید

دوست عزیز
شما احتمالا در حالت طراحی GridView تون Propety مربوط به DataSourceID رو تنظیم کردید به همین منظور زمانی که دوباره اونو Bind می کنید Error می ده ، باید DataSOurceID رو بردارید. این ایراد ربطی به DropDownList نداره .

برای اینم که کار نمی کنه PostBacke که باید True شه .

در مورد سوالتون در مورد Gridview همچنین چیزی نیست شما می تونید Gridview رو در کد ایجاد نمایید.
مرجع آدرس ها