ذخيره و بازيابی داده توسط ADO.NET (بخش پنجم)
آنچه تاکنون گفته شده است :
|
- بخش اول : نحوه ايجاد Connection و Dataset
- بخش دوم : عمليات بر روی يک Dataset
- بخش سوم : نمايش DataSet در يک DataGrid
- بخش چهارم : نمايش DataSet در يک DataList
|
در اين بخش با نحوه نمايش داده موجود در Data Set در کنترل های ListBox , DropDown,CheckBoxList و RadioButtonList آشنا خواهيم شد .
داده موجود در يک DataSet را می توان به هر نوع List Conrol استفاده شده بر روی يک فرم وب ، نسبت داد .کنترل های DataSet و DataList صرفا" دو نمونه متداول به منظور نمايش يک DataSet می باشند. برای نمايش داده موجود در يک DataSet می توان از کنترل های ListBox,DropDownList,CheckBoxList و يا RadioButtonList ، نيز استفاده نمود .
-
کنترل DropDownList : با استفاده از کنترل فوق ، کاربران قادر به انتخاب يک آيتم از ليست Drop-Down می باشند.
-
کنترل ListBox : با استفاده از کنترل فوق ، کاربران قادر به انتخاب يک و يا چندين آيتم از طريق يک ليست از قبل تعريف شده می باشند. با تنظيم خصلت SelectionMode به Multiple امکان انتخاب چندين آيتم در اختيار کاربران قرار خواهد گرفت . ( در صورتی که خصلت فوق مقدار Single را داشته باشد ، صرفا" امکان انتخاب يک آيتم وجود خواهد داشت ) .
-
کنترل CheckBoxList : برای اضافه نمودن Check box بر روی يک فرم وب ، می توان از کنترل CheckBox و يا CheckBoxList ، استفاده کرد. کنترل های فوق ، روشی مناسب به منظور ورود اطلاعات منطقی توسط کاربران را ارائه می نمايند : True/False , yes/no و on/off .
-
کنترل RadioButtonList : برای اضافه نمودن دکمه های Radio button بر روی يک فرم وب ، می توان از کنترل RadioButton و يا RadioButtonList ، استفاده نمود.
برای نمايش داده ازDataSet در يک ListBox,DropDownList,CheckBoxList و يا RadioButtonList ، مراحل زير را دنبال می نمائيم :
-
مقداردهی خصلت DataSource کنترل به نام Data Set
-
مقداردهی خصلت DataText کنترل به يکی از فيلدهای موجود در Data Set (فيلدی که به عنوان خصلت Text ليست نمايش داده خواهد شد).
-
مقداردهی خصلت DataValue کنترل به يکی از فيلدهای موجود در Data Set (مقداری که به عنوان خصلت Value برگردانده خواهد شد ) .
تنظيمات يک کنترل DropDownList نمونه :
VB.NET ::
|
Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill (DataSet11)
DropDownList1.DataBind()
End Sub
|
در زمان اجراء ، کنترل DropDownList ، ليستی از اسامی ( Fname ) را از جدول Contact استخراج و آنان را نمايش خواهد داد.خصلت SelectedItem.Value ، مقدار ID را برمی گرداند . ازفيلد ID ، می توان به عنوان يک کليد به منظور بازيابی ساير اطلاعات استفاده نمود.
کنترل DropDownList صرفا" می تواند شامل يک مقدار برای خصلت های DataText و DataValue مربوط به کنترل باشد .در صورتی که قصد استفاده از نام ( Fname ) و نام خانوادگی ( Lname ) از افراد موجود در جدول Contact را داشته باشيم، می بايست اين کار را از طريق کد انجام داد. روتين مربوط به رويداد Page_Load ، نام خانوادگی ( Lname ) و نام ( Fname ) را به DropDownList اضافه نموده و ID به عنوان خصلت Value برای هر يک از آيتم ها ی موجود در ليست در نظر گرفته خواهد شد :
VB.NET ::
|
Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
If Not IsPostBack Then
SqlDataAdapter1.Fill(DataSet11)
Dim drowItem As DataSet1.ContactRow
For Each drowItem In DataSet11.Contact
Dim lstNew As New ListItem()
lstNew.Text = drowItem.Fname & " ◄ " & drowItem.Lname
lstNew.Value = drowItem.ID()
DropDownList1.Items.Add(lstNew)
Next
End If
End Sub
|
انتخاب رکوردهائی خاص
با توجه به مقدار برگردانده شده توسط DropDownList ، می توان از آن به عنوان کليدی در جهت بازيابی ساير اقلام اطلاعاتی در بانک اطلاعاتی استفاده نمود. ID ، يک کليد منحصر بفرد در جدول Contact بوده و می توان از آن به منظور استخراج و نمايش ساير اطلاعات ، استفاده کرد. کد زير يک DataSet شامل اطلاعات مربوط به فرد انتخاب شده در ليست DropDownList را ايجاد می نمايد.
VB.NET ::DropDownList1_SelectedIndexChanged
|
Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM Contact " &_
"WHERE ID=" & DropDownList1.SelectedItem.Value
DataSet11.Clear( )
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataBind()
End Sub
|
VB.NET ::Page Load Event
|
Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill (DataSet11)
DropDownList1.DataBind()
DropDownList1.SelectedIndex = 0
End Sub
|
در مثال فوق ، از يک کنترل DropDownList و يک DataGrid در فرم وب استفاده شده است . با انتخاب يک آيتم از طريق ليست ارائه شده توسط کنترل DropDownList ، ساير اطلاعات فرد انتخاب شده از بانک اطلاعاتی استخراج ( با توجه به Query اجراء شده ) و پس از خالی نمودن Dataset ( پر شده در مرحله قبل ) ، مقدار DataSet با توجه به Query جديد ، مجددا" تکميل و در نهايت به DataGrid نسبت داده می شود . ( نحوه استفاده از DataGrid در بخش سوم مقاله ، توضيح داده شده است ) .
در بخش ششم اين مقاله با نحوه انجام عمليات بر روی يک بانک اطلاعاتی بيشتر آشنا خواهيم شد.
نظرات شما عزیزان: