PDA

View Full Version : چگونه می توان تشخیص داد آیتم dropdownlist انتخاب نشده است



bitcob589
جمعه 25 بهمن 1392, 11:48 صبح
با سلام
چگونه می توان تشخیص داد آیتم dropdownlist انتخاب نشده است در صورتی که یکی از آیتم dropdownlist انتخاب شده است پیغامی نمایش داده شود که ایتم dropdownlist انتخاب شده است و در صورتی که آیتم dropdownlist توسط کاربر انتخاب نشده بود پیغامی نمایش داده شود که آیتم dropdownlist انتخاب نشده است

اوبالیت به بو
جمعه 25 بهمن 1392, 12:10 عصر
درود بر شما

یک کنترل RequiredFiledValidation قرار بدید و به DropDownList خودتون وصل کنید. سپس مقدار InitialValue رو برابر یک مقدار منحصر به فرد مثلا منفی یک (-1) قرار بدید. این مقدار باید مقداری باشد که در Value های مربوط به DropDownList وجود نداشته باشد و یا اینکه یک مقداری باشد که در DropDownList باشد اما کاربردی نباشد مثلا عبارت "انتخاب نمایید".

bitcob589
جمعه 25 بهمن 1392, 13:27 عصر
به وسیله کد نویسی این امکان وجود ندارد که تشخیص داده شود که هیچ یک از آیتمهای dropdownlist انتخاب نشده است

Ahsani
شنبه 26 بهمن 1392, 00:48 صبح
می تونین اینجوری عمل کنین:
البته من بصورت داینامیک dropdwon مقداردهی می کنم:


protected void ddTest_DataBound(object sender, EventArgs e)
{
DropDownList list = sender as DropDownList;
ListItem lstItem = new ListItem("لطفا انتخاب کنید!", "");
if (list != null)
list.Items.Insert(0, lstItem);
}


بعد برا کنترل اینکه مفداری غیر از "لطفا انتخاب شده!" کافیه Selectedindex دراپ داونتون رو چک کنین که مقداری بزرگتر از 0 باشه، چون من تو مقداردهی بالا برا index "لطفا انتخاب کنید!" مقدار 0 رو دادم. یعنی:


if (ddTest.SelectedIndex == 0)
{
lblTest.ForeColor = System.Drawing.Color.Red;
lblTest.Text = "کد کالا مورد نظر را انتخاب نمایید!";
ddTest.BackColor = System.Drawing.Color.Pink;
ddTest.Focus();
}

اگه بازم مشکلی داشتین بگین، تا جایی که بتونم کمک می کنم.

bitcob589
شنبه 26 بهمن 1392, 10:11 صبح
کد زیر در کجای صفحه باید نوشته شود و دستور سلکت dropdownlis آیا در DataBound دراپ دان لیست باید نوشته شود
[QUOTE=Ahsani;1975548]



if (ddTest.SelectedIndex == 0)
{
lblTest.ForeColor = System.Drawing.Color.Red;
lblTest.Text = "کد کالا مورد نظر را انتخاب نمایید!";
ddTest.BackColor = System.Drawing.Color.Pink;
ddTest.Focus();
}

bitcob589
شنبه 26 بهمن 1392, 10:18 صبح
کد زیر در کجای صفحه باید نوشته شود و دستور سلکت dropdownlis آیا در DataBound دراپ دان لیست باید نوشته شود و یا در pageload صفحه (در زمان لود صفحه آیتمهای dropdownlis نمایش داده می شود )




if (ddTest.SelectedIndex == 0)
{
lblTest.ForeColor = System.Drawing.Color.Red;
lblTest.Text = "کد کالا مورد نظر را انتخاب نمایید!";
ddTest.BackColor = System.Drawing.Color.Pink;
ddTest.Focus();
}

Ahsani
یک شنبه 27 بهمن 1392, 01:37 صبح
دراپ داون من اینجا از دیتابیس مقداردهی میشه که این کار با لود صفحه انجام میشه، در نتیجه مقدار نمایشی دراپ داون همیشه اولین مقدار منه که منم اینو نمی خوام...
و من این کدو برای این کار نوشتم که هم بتونم کاربرو مجبور کنم SelectedIndexChange رو فعال کنه تا منم بتونم تشخیص بدم چی انتخاب شده همم خوب از لحاظ قیافم هم بهتر باشه.
در نتیجه دستور سلکتو خود دراپ داون انجام میده که ویزاردش برای ساختش به راحتی می تونه کمکتون کنه...
و برای SelectedIndexChange هم یک Event ایجاد میکنیم و این کد رو برای اون Event می نویسیم. همونطور که برای یه باتن Select Event ایجاد می کنیم.
بازم من در خدمتم.

fakhravari
یک شنبه 27 بهمن 1392, 10:09 صبح
ساده ترین راه اضافه کردن یک ایتم به اول لیست است.
یعنب ایندکس شما همیشه از ۱شروع بشه