PDA

View Full Version : سوال: ارتباط بین دو dropdown list بدون استفاده از بانک اطلاعاتی



reza4359
جمعه 19 آبان 1391, 09:38 صبح
سلام دوستان چطوری میشه بدون استفاده از بانک اطلاعاتی بین دو dropdownlist ارتباط برقرار کرد یعنی داخل آیتمهای یکی نام استان و دومی نام شهر ها با قابلیت فیلتر کردن شهرهای غیر مرتبط با استان مورد نظر،
فکر کنم با خاصیت value بشه ولی نمیدونم دقیق باید چکار کرد؟
ممنون

EnKamran
جمعه 19 آبان 1391, 10:44 صبح
میتونی از JQuery یا جاوا استفاده کنی اما بدون دیتابیس کد نویسیت زیاد میشه، چه کاریه خوب شما اگه از بانک استفاده کنی هم راحت تری هم مرتب تر و هم اینکه ثبتش راحت تره، شما بالاخره نتیجه رو که باید ثبت کنی تو بانک، از اوا یا Jquery استفاده کنی واسه ثبتش تو بانک یه خورده دردسر داریا.

fakhravari
جمعه 19 آبان 1391, 10:49 صبح
شما باید با autopostbak دراپ هر 2 رو صدا بزنید.

reza4359
جمعه 19 آبان 1391, 12:27 عصر
ممنون از پاسخ شما عزیزان، میدونم که با بانک راحتره ولی من نمیخوام از بانک استفاده کنم میخوام برا نمونه یه تست انجام بدم که میشه بدون بانک این کارو کرد؟
اگه ممکنه یه نمونه خیلی کوچیک بذارید مثلا با دو تا استان با چند تا شهر
ممنون

fakhravari
جمعه 19 آبان 1391, 13:21 عصر
ببین.
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<br />
<br />
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</form>


public static System.Data.DataTable ostan = new System.Data.DataTable();
public static System.Data.DataTable shahr = new System.Data.DataTable();

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.Items.Clear();
DropDownList2.Items.Clear();

ostan.Columns.Add("id");
ostan.Columns.Add("name");
ostan.Rows.Add("1", "بوشهر");
ostan.Rows.Add("2", "اهواز");

shahr.Columns.Add("id");
shahr.Columns.Add("name");
shahr.Rows.Add("1", "بوشهر");
shahr.Rows.Add("1", "گناوه");
shahr.Rows.Add("1", "دیلم");
shahr.Rows.Add("1", "جم");
shahr.Rows.Add("1", "گناوه");

shahr.Rows.Add("2", "اهواز");
shahr.Rows.Add("2", "بهبهان");
shahr.Rows.Add("2", "ماهشهر");

ostan.AcceptChanges();
shahr.AcceptChanges();

for (int i = 0; i < ostan.Rows.Count; i++)
{
DropDownList1.Items.Add(new ListItem(ostan.Rows[i]["name"].ToString(), ostan.Rows[i]["id"].ToString()));
}

DropDownList1_SelectedIndexChanged(null, null);
}
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList2.Items.Clear();

for (int i = 0; i < shahr.Rows.Count; i++)
{
if (DropDownList1.SelectedValue == shahr.Rows[i]["id"].ToString())
{
DropDownList2.Items.Add(new ListItem(shahr.Rows[i]["name"].ToString(), shahr.Rows[i]["id"].ToString()));
}
}


}

mohsen4707
جمعه 19 آبان 1391, 20:48 عصر
سلام دوستان چطوری میشه بدون استفاده از بانک اطلاعاتی بین دو dropdownlist ارتباط برقرار کرد یعنی داخل آیتمهای یکی نام استان و دومی نام شهر ها با قابلیت فیلتر کردن شهرهای غیر مرتبط با استان مورد نظر،
فکر کنم با خاصیت value بشه ولی نمیدونم دقیق باید چکار کرد؟
ممنون
با سلام.
من عين اين برنامه رو دارم اگه ميخواهي تا برات بذارم

zahra_d84
سه شنبه 21 آذر 1391, 10:38 صبح
لطف می کنید بزارید