کنترل DropDownList :
صفحه 1 از 1
کنترل DropDownList :
این کنترل کاملاً شبیه به RadioButtonList است با این تفاوت که جای کمتری را روی صفحه اشغال می کند. بنابراین، DropDownList هم برای ارائه چند گزینه بکار می رود که از میان آن ها فقط یکی را می توان انتخاب کرد، منتها بر خلاف RadioButtonList این گزینه ها در یک باکس تک خطی باز شدنی به نمایش گذاشته می شوند.
برای افزودن گزینه ها در DropDownList سه راه پیش رو داریم:
1. معرفی گزینه ها به هنگام تعریف کنترل
2. افزودن مستقیم آیتم ها به کلکسیون Items
3. مقید کردن کنترل به یک منبع داده ای
*به دلیل اینکه کنترل های DropDownList ، CheckBoxList و RadioButtonList تقریباً شبیه هم هستند از دادن توضیحاتی در مورد چگونگی افزودن گزینه ها و شناسایی آیتم انتخاب شده در DropDownList صرفه نظر می کنم.*
تعیین مقدار و متن متفاوت برای یک DropDownList :
فرض کنید بخواهیم با استفاده از یک DropDownList یک سری گزینه مثلاً رنگ های مختلف را نمایش بدهیم و فرض کنید بخواهیم هنگام انتخاب یک گزینه ID آن را به دست بیاوریم نه اسم کامل آن رنگ را. برای این منظور، از خصوصیت Value در این کنترل استفاده می کنیم.
مثلاً در هنگامی که با یک منبع داده ای سروکار داریم و بخواهیم مقدار Text با Value متفاوت باشد، باید از خصوصیت DataTextField و DataValueField استفاده کنیم.
برنامه زیر با استفاده از خصوصیات فوق و همچنین خصوصیت AutoPostBack کد رنگی را که کاربر انتخاب کرده است نمایش می دهد.
کد:
DropDownListDataValue.aspx
<script runat="server">
Public Class Color
Private _strColorName,_strColorCode As String
Sub New(strColorName As String, strColorCode As String )
_strColorName = strColorName
_strColorCode = strColorCode
End Sub
Public ReadOnly Property ColorName As string
Get
Return _strColorName
End Get
End Property
Public ReadOnly Property ColorCode As string
Get
Return _strColorCode
End Get
End Property
End Class
Sub Page_Load
Dim colColors as New ArrayList
If Not IsPostBack Then
colColors.Add( New Color( "Red", "F70505" ) )
colColors.Add( New Color( "Blue", "0905FA" ) )
colColors.Add( New Color( "Black", "000000" ) )
DropColors.DataSource = colColors
DropColors.DataTextField = "ColorName"
DropColors.DataValueField = "ColorCode"
DropColors.DataBind()
lblMessage.Text=DropColors.SelectedItem.Value
End If
End Sub
Sub DropColors_SelectedIndexChanged( s As Object, e As EventArgs )
lblMessage.Text=DropColors.SelectedItem.Value
End Sub
</script>
<html>
<head><title>DropDownListDataValue</title></head>
<body>
<form runat="server">
<asp:DropDownList
Id="DropColors"
AutoPostBack="True"
OnSelectedIndexChanged="DropColors_SelectedIndexChanged"
Runat="server"/><hr>
<span>DropDownList value is :</span>
<asp:Label
Id="lblMessage"
Runat="server"/>
<form>
</body></html>
برای افزودن گزینه ها در DropDownList سه راه پیش رو داریم:
1. معرفی گزینه ها به هنگام تعریف کنترل
2. افزودن مستقیم آیتم ها به کلکسیون Items
3. مقید کردن کنترل به یک منبع داده ای
*به دلیل اینکه کنترل های DropDownList ، CheckBoxList و RadioButtonList تقریباً شبیه هم هستند از دادن توضیحاتی در مورد چگونگی افزودن گزینه ها و شناسایی آیتم انتخاب شده در DropDownList صرفه نظر می کنم.*
تعیین مقدار و متن متفاوت برای یک DropDownList :
فرض کنید بخواهیم با استفاده از یک DropDownList یک سری گزینه مثلاً رنگ های مختلف را نمایش بدهیم و فرض کنید بخواهیم هنگام انتخاب یک گزینه ID آن را به دست بیاوریم نه اسم کامل آن رنگ را. برای این منظور، از خصوصیت Value در این کنترل استفاده می کنیم.
مثلاً در هنگامی که با یک منبع داده ای سروکار داریم و بخواهیم مقدار Text با Value متفاوت باشد، باید از خصوصیت DataTextField و DataValueField استفاده کنیم.
برنامه زیر با استفاده از خصوصیات فوق و همچنین خصوصیت AutoPostBack کد رنگی را که کاربر انتخاب کرده است نمایش می دهد.
کد:
DropDownListDataValue.aspx
<script runat="server">
Public Class Color
Private _strColorName,_strColorCode As String
Sub New(strColorName As String, strColorCode As String )
_strColorName = strColorName
_strColorCode = strColorCode
End Sub
Public ReadOnly Property ColorName As string
Get
Return _strColorName
End Get
End Property
Public ReadOnly Property ColorCode As string
Get
Return _strColorCode
End Get
End Property
End Class
Sub Page_Load
Dim colColors as New ArrayList
If Not IsPostBack Then
colColors.Add( New Color( "Red", "F70505" ) )
colColors.Add( New Color( "Blue", "0905FA" ) )
colColors.Add( New Color( "Black", "000000" ) )
DropColors.DataSource = colColors
DropColors.DataTextField = "ColorName"
DropColors.DataValueField = "ColorCode"
DropColors.DataBind()
lblMessage.Text=DropColors.SelectedItem.Value
End If
End Sub
Sub DropColors_SelectedIndexChanged( s As Object, e As EventArgs )
lblMessage.Text=DropColors.SelectedItem.Value
End Sub
</script>
<html>
<head><title>DropDownListDataValue</title></head>
<body>
<form runat="server">
<asp:DropDownList
Id="DropColors"
AutoPostBack="True"
OnSelectedIndexChanged="DropColors_SelectedIndexChanged"
Runat="server"/><hr>
<span>DropDownList value is :</span>
<asp:Label
Id="lblMessage"
Runat="server"/>
<form>
</body></html>
taherehfelegari- کاربر متوسط
- تعداد پستها : 27
تاريخ التسجيل : 2009-10-26
مواضيع مماثلة
» چگونه مي توان مقدار موجود در بانک اطلاعاتي را به يک DropDownList نسبت داد
» کنترل RequiredFieldValidator :
» کنترل RegularExpressionValidator :
» کنترل CompareValidation
» کنترل TextBox
» کنترل RequiredFieldValidator :
» کنترل RegularExpressionValidator :
» کنترل CompareValidation
» کنترل TextBox
صفحه 1 از 1
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد