الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد تعبئة 2 دروب دون ليست التانية على حسب الذى يتم إخياره من الأولى ولكن برمجياً وليس بالويزرد

بدأه زخارياس في 3 أبريل 2011 · 12 رد · 940 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم /

أريد تعبئة دروب دون ليست المدينة على أساس كود الدولة الخاص بالمدينة = كود الدولة الذى يتم إختياره فى الدروب دون ليست التى تعرض الدول

انا خلصت تعبئة الإتنين برمجياً يتبقى فقط الكود البرمجى الخاص بربط السابق ذكره وهو ربط الدروب دون ليست

علما بأنى اريد الكود وليس الويزرد

post-207539-023996900 1301830406_thumb.j

المرفقات
DropDownList.jpg
#2

سارفق لك الكود الذى استخدمه برمجيا وليس ويزارد

1- Table for cities (cityid , city)

2- Table for areas (aid,area,cityid)

Dropdownlist 1 for cities , Dropdownlist 2 for areas

In page load :

if (!Page.IsPostBack)
        {

            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["soudycon"].ToString());
            DataSet ds = new DataSet();
            try
            {
                con.Open();
                string sql = "SELECT cityid, city FROM city";
                SqlDataAdapter da = new SqlDataAdapter(sql,con);
                da.Fill(ds);
                DropDownList1.DataSource = ds;
                DropDownList1.DataTextField = "city";
                DropDownList1.DataValueField = "cityid";
                DropDownList1.DataBind();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
            finally
            {
                ds.Dispose();
                con.Close();
            }
        }

In dropdownlist1 :

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
 SqlConnection con=new SqlConnection(ConfigurationManager.ConnectionStrings["soudycon"].ConnectionString);
            DataSet ds = new DataSet();

            con.Open();
            string sql="SELECT aid, area FROM area WHERE cityid=@cityid";
            SqlDataAdapter da=new SqlDataAdapter(sql, con);
            da.SelectCommand.Parameters.AddWithValue("@cityid",DropDownList1.SelectedValue);
            da.Fill(ds);

            DropDownList2.DataSource = ds;
            DropDownList2.DataTextField= "area";
            DropDownList2.DataValueField = "aid";
            DropDownList2.DataBind();

            ds.Dispose();
            con.Close();

تم تعديل هذه المشاركة بواسطة Eng_Ranya في 3 أبريل 2011 في 15:43

#3

أخي العزيز / زخارياس

السلام عليكم ورحمة الله وبركاته

يمكنك فعل ذلك عن طريق إستخدام الحدث SelectedIndexChanged للـ DropDownList الخاصة بالدول، كما في المثال التالي

protected void countryList_SelectedIndexChanged(object source, EventArgs e){
	string selectedValue = countryList.SelectedValue;

	// do something with selectedValue

}

يظهر إنه أنا والأخت Ranya جاوبنا في نفس الوقت ولو كان في إختلاف في الميكرو ثانية :happy: ولكن نقدر نصنف جوابي تحت تصنيف الإجابة المختصرة وإجابة Ranya تحت تصنيف الإجابة الكافية. على الأقل هذه مجرد وجهة نظر

أتمنى للجميع التوفيق والنجاح

تم تعديل هذه المشاركة بواسطة Robatic في 3 أبريل 2011 في 16:14

#4

لكم جزيل الشكر على الرد

لكن لدى إستفسار واحد , انا أستخدم استوردبروسيجر

وهذ الكود المستخدم فى البيج لود

 protected void Page_Load(object sender, EventArgs e)
    {
        Title = "لوحة التحكم | إضافة مؤلف ";
        if (!IsPostBack)
        {
            DDLCountries.DataSource = DA.GetAllCountries();
            DDLCountries.DataBind();
            DDLCountries.SelectedItem.Text = "-- إختر الدولة --";

            DDLCities.DataSource = DA.GetAllCities();
            DDLCities.DataBind();
            DDLCities.SelectedItem.Text = "-- إختر المدينة --";
        }
    }

ما المطلوب إضافته على هذا الكود سواء فى DDLCountries.SelectedIndexChanged

أو فى البيج لود سامحونى انا خبرتى ضعيفة جداً

أشكركم وفى إنتظار الرد

تم تعديل هذه المشاركة بواسطة زخارياس في 3 أبريل 2011 في 17:36

#5

فقط للعلم انا نفذت الكود المرسل من قبل مهندسة رانيا لكن دون جدوى ولم اعرف السبب ام فى رد الأخ Robatic لم اتمكن من وضع الكود المراد تنفيذه

هل من حل ؟

تم تعديل هذه المشاركة بواسطة زخارياس في 3 أبريل 2011 في 17:39

#6

عدلت فقط في كود الأخت رانيا لأنه كان هناك بعض الأخطاء البسيطة

أخي الكريم المثال بالمرفقات

WebSite12.rar

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#7

يا جماعه بصراحة حاجة تجنن الكود اللى حضراتكم تفضلتم بكتابته يعمل داخل اى صفحة فى مشروع جديد ولكن فى الصفحة الخاصة بهذا المشروع لا يعمل لذلك أرفقت الكود الخاص بالصفحة بالكامل

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class Admin_test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            string con;

            con = System.Configuration.ConfigurationManager.ConnectionStrings["ZakConnectionString"].ConnectionString;
            SqlConnection sqlcon = new SqlConnection();
            sqlcon.ConnectionString = con;
            SqlCommand sqlcom = new SqlCommand();
            sqlcom.Connection = sqlcon;


            DataSet ds = new DataSet();
            try
            {
                sqlcon.Open();
                string sql = "SELECT cityid, city FROM cities";
                SqlDataAdapter da = new SqlDataAdapter(sql, con);
                da.Fill(ds);
                DropDownList1.DataSource = ds;
                DropDownList1.DataTextField = "city";
                DropDownList1.DataValueField = "cityid";
                DropDownList1.DataBind();

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
            finally
            {
                ds.Dispose();
                sqlcon.Close();
            }
        }
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string con;

        con = System.Configuration.ConfigurationManager.ConnectionStrings["ZakConnectionString"].ConnectionString;
        SqlConnection sqlcon = new SqlConnection();
        sqlcon.ConnectionString = con;
        SqlCommand sqlcom = new SqlCommand();
        sqlcom.Connection = sqlcon;
        DataSet ds = new DataSet();

        sqlcon.Open();
        string sql = "SELECT aid, area FROM areas WHERE cityid=@cityid";
        SqlDataAdapter da = new SqlDataAdapter(sql, con);
        da.SelectCommand.Parameters.AddWithValue("@cityid", DropDownList1.SelectedValue);
        da.Fill(ds);

        DropDownList2.DataSource = ds;
        DropDownList2.DataTextField = "area";
        DropDownList2.DataValueField = "cityid";
        DropDownList2.DataBind();

        ds.Dispose();
        sqlcon.Close();
    }
    }
#8

أخي ما هو الخطأ الذي ظهر

أولا قم بحذف الصفحة التي فيها الخطأ وضع الكود السابق وأنشأ واحدة جديدة

أعتقد الخطأ لأنك غيرت في الكونكشن لقاعدة البيانات

هذا ["ZakConnectionString"]

ضعه هكذا

["ConnectionString"]

تم تعديل هذه المشاركة بواسطة KV2010 في 3 أبريل 2011 في 20:39

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#9

أخى الكريم الكود الذى ارسلته ما فيه أى شيئ خطأ لما أستخدمه فى صفحة جديدة اما لو استخمته فى نفس الصفحة اللى فيها باقى الكنترولز ما بيعطى غير تعبئة الدول وأما المدن فلا يظهر اى نتائج حتى لو اخترت من الدروب دون ليست 1

#10

أخى الكريم الكود الذى ارسلته ما فيه أى شيئ خطأ لما أستخدمه فى صفحة جديدة اما لو استخمته فى نفس الصفحة اللى فيها باقى الكنترولز ما بيعطى غير تعبئة الدول وأما المدن فلا يظهر اى نتائج حتى لو اخترت من الدروب دون ليست 1

#11

تأكد أن dropdownlist1 مفعلة الخاصية AutoPostPack

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#12

اخى الكريم KV2010 اشكرك فعلاً كانت دى المشكلة , اشكر كل اللى أهتم ورد علىّ وأرجو سعة الصدر لأنى فى مشاكل كتير بتقابلنى ممكن تكون صغيرة بالنسبة ليكوا , وأرجو اى حد يدلنى على طريقة التعامل مع الداتابيس وكل العمليات عليها من خلال DatatAccess والستورد بروسيجر عايز انسى الويزرد نهائى لأنه أمر بيبقى مُسلم بيه

تم تعديل هذه المشاركة بواسطة زخارياس في 3 أبريل 2011 في 22:29

#13

عفوا أخي الكريم

الفضل أولا لله ثم لرانية و Robatic

فهم من وضعو الكود

أنا فقط عدلت عليه

وبخصوص قواعد البيانات والتعامل معها

أنصحك بأن تقرأ ما يتيسر لك من منتدى ADO.net

هنا

/index.php?showforum=202

لا تنسانا من الدعاء

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…