PDA

View Full Version : سوال: انتساب مقدار dropdownlist



mandana.k
سه شنبه 11 فروردین 1388, 15:01 عصر
دوستان من مقاردير را از فيلدهاي يك جدول درون dropdown list ريختم حالا مي خواهم با انتخاب دلخواه كاربر از dropdownlist مقدار انتخاب شده در يك متغير از نوع string ريخته شود من بانوشتن كد
drcity.selectItem.Text
با وجود انتخاب آيتم هاي بعدي ازdropdown بازهم مقدار آيتم اولي را نشان مي دهد بايد چه كار كنم

raziee
سه شنبه 11 فروردین 1388, 16:08 عصر
از این دستور استفاده کن:


متغیر = DropDownList1.Text;

mandana.k
شنبه 15 فروردین 1388, 08:00 صبح
دوست عزيز اين جواب نمي ده ونمي دانم چرا عدد به جاي مقدار برمي گرداند

online_mansoor2007
شنبه 15 فروردین 1388, 08:42 صبح
رویداد رو در کجا نوشتید؟؟؟ در یک button ؟؟؟ یا رویداد AutoPostBack خود DropDownlist را فعال کردید و با خئد DropDownList این کار را انجام می دید؟؟؟

mandana.k
شنبه 15 فروردین 1388, 09:05 صبح
اگر مي شه بيشتر توضيح دهيد من در يك button اين كد رانوشتم

Dim j As String
drUnit.AutoPostBack = True
j = drUnit.Text

ولي به من مرتبا عدد 3 را برمي گرداند حتي با انتخابهاي مختلف در صورتي كه من متن انتخاب شده توسط كاربر را مي خواهم

mandana.k
شنبه 15 فروردین 1388, 09:19 صبح
دوست عزيز من اين مورد را چك كردم وقتي كه مقدارdropdownlist را از طريق properties بخش items پر كنيم حرف شما درست است اما اگر dropdownlist را از طريق متدهاي DataTextField و DataValueField و.. پر كنيم وحالا بخوايم مقدار انتخاب شده را برگردانيم نمي دانم چه كار بايد كرد لطفا مرا راهنمايي كنيد

online_mansoor2007
شنبه 15 فروردین 1388, 09:20 صبح
اگر مي شه بيشتر توضيح دهيد من در يك button اين كد رانوشتم

Dim j As String
drUnit.AutoPostBack = True
j = drUnit.Text

ولي به من مرتبا عدد 3 را برمي گرداند حتي با انتخابهاي مختلف در صورتي كه من متن انتخاب شده توسط كاربر را مي خواهم

دستورات ریختن اطلاعات از بانک به داخل dropdownlist که به احتمال خیلی زیاد در PageLoad نوشتید را در داخل بلوک if زیر قرار دهید :


If Not Page.IsPostBack then
.
.
.
end if


و دستوری رو هم که در بالا گفتید به صورت زیر بنویسید

if Page.IspostBack then
Dim j As String
drUnit.AutoPostBack = True
j = drUnit.Text
end if

بعد از این دستور یک بار دیگه باید dropdownlist را fill کنید

mandana.k
شنبه 15 فروردین 1388, 09:33 صبح
من باز نتوانستم جواب بگيرم براي همين كدرا كامل مي فرستم شايد بهتر بتوانيد كمك كنيد
من در page_lode نوشته ام

If Not Page.IsPostBack Then
Dim oUnit As New CBaseInfo("BASEINFOTYPE=" & CStr(CEnums.BaseInfoType.Unit), "")
Me.drUnit.DataTextField = "BASEINFODESC"
Me.drUnit.DataValueField = "BASEINFOID"
Me.drUnit.DataSource = oUnit.GetRecords
Me.drUnit.DataBind()

End If



ودر دكمه مربوطه هم طبق گفته شما نوشتم


If Page.IsPostBack Then
Dim j As String
drUnit.AutoPostBack = True
j = drUnit.Text
End If


اما باز هم به جاي مقدار عدد به من برمي گرداند كه اين اعداد مقادير ثبت شده در جدول يعني شماره id فيلدBASEINFOID است در صورتي كه من مقدار انتخاب شده برحسب مقادير ثبت شده در فيلد BASEINFODESC
رامي خواهم :گیج:

online_mansoor2007
شنبه 15 فروردین 1388, 10:17 صبح
پس مشکل شما با مقداری هست که با انتخاب کردن باید برگردونه . خوب از متد های زیر استفاده می کنید و نمیشه ؟ (سوالتون رو اصلاً خوب نمی پرسید !!! )
drcity.selectItem.Text
drcity.selectValue

mandana.k
شنبه 15 فروردین 1388, 10:24 صبح
دوست عزيز ممنون با اين كد جواب گرفتم


If Page.IsPostBack Then
drUnit.AutoPostBack = True
j = drUnit.SelectedItem.Text
End If