Trong chương này chúng ta sẽ nghiên cứu các điều khiển trình bày danh sách như DropDownList, RadioButtonList, CheckBoxList … Điểm chung cho tất cả các Control này gồm 3 thuộc tính chính. Chúng ta có thể đưa dữ liệu vào các Control này từ màn hình thiết kế giao diện hoặc bằng dòng lệnh (nếu bằng dòng lệnh dữ liệu đưa vào có thể là một mảng danh sách hoặc dữ liệu từ cơ sở dữ liệu).
Thuộc tính quan trọng:
DataSource: Chỉ đến nguồn dữ liệu
DataTextField: Trường dữ liệu được hiển thị
DataValueField: Trường dữ liệu thiết lập giá trị.
Items: Tập hợp các item trong danh sách
SelectedItem: Lấy ra item được chọn trong danh sách
SelectedIndex: Thứ tự của item được chọn
SelectedValue: Giá trị của item được chọn
1. Điều khiển DropDownList
Cho phép hiển thị một danh sách các lựa chọn, người sử dụng chỉ chọn một lựa chọn một lần.
VD: Tạo DropDownList lựa chọn quyền sử dụng hệ thống
Bằng giao diện thiết kê
<asp:DropDownList ID="DDLSystemRight" runat="server"> <asp:ListItem Value="1">User</asp:ListItem> <asp:ListItem Value="2">Manager</asp:ListItem>
<asp:ListItem Value="3">Administrator</asp:ListItem> </asp:DropDownList>
Bằng dòng lệnh
Code HTML
<asp:DropDownList ID="DDLSystemRight" runat="server" />
Code Behide
Private Sub LoadSystemRight()
Dim arr(2) As String
arr(0) = "User" arr(1) = "Manager" arr(2) = "Administrator" For i = 0 To 2 DDLSystemRight.Items.Add(arr(i)) DDLSystemRight.Items.Item(i).Value = i + 1 Next End Sub Từ cơ sở dữ liệu
Private Sub LoadSystemRight()
Dim conn As SqlConnection
Dim strConn = "<Chuỗi kết nối đến Server>"
conn = New SqlConnection() conn.ConnectionString = strConn conn.Open()
Dim command As New SqlCommand() command = conn.CreateCommand()
With command
.CommandType = CommandType.StoredProcedure|Text .CommandText = "<Lệnh|Thủ tục SQL>"
' Nếu là thủ tục thì có thêm dòng lệnh sau
.Parameters.Add("@<Biến>", SqlDbType.<Type>, [Size]) .Parameters("@<Biến>").Value = "<Input value>"
End With
Dim da As New SqlDataAdapter(command)
Dim ds As New DataSet
da.Fill(ds, "<Table Name>")
DDLSystemRight.DataSource = ds.Tables("<Table Name>") DDLSystemRight.DataBind()
DDLSystemRight.DataTextField = "SystemRightName"
DDLSystemRight.DataValueField = "SystemRightID"
End Sub
Sự kiện SelectedIndexChanged: Xảy ra khi người dùng thay đổi lựa chọn phần tử của DropDownList.
Ghi chú: Để sử dụng được sự kiện này, ta phải khai báo thêm thuộc tính AutoPostBack="True" của DropDownList
2. Điều khiển ListBox
Là điều khiển giống với DropDownList nhưng có thể hiển thị một danh sách trên trang và chúng ta có thể lựa chọn một hoặc nhiều phần tử cùng một lúc.
Thuộc tính
Rows: Quy định số dòng được hiển thị ra màn hình
SelectionMode: Quy định lựa chọn
Single: Cho phép chọn một dòng trong ListBox
Multiple: Cho phép chọn nhiều dòng trong ListBox cùng một lúc Cách đưa dữ liệu vào Control giống tương tự như DropDownList.
3. Điều khiển RadioButtonList
Cho phép hiển thị một danh sách các lựa chọn, người sử dụng chỉ chọn một lựa chọn một lần.
Thuộc tính
RepeatColumns: Cho phép các lựa chọn lặp lại bao nhiêu cột
RepeatDirection: Quy định hướng hiển thị của các lựa
Horizontal: Hiển thị theo hàng ngang
Vertical: Hiển thị theo hàng dọc (Default Value)
VD: Tạo danh sách gồm 5 mục chọn
<asp:RadioButtonList runat="server" RepeatColumns="2"> <asp:ListItem Value="1">Muc so 1</asp:ListItem> <asp:ListItem Value="2">Muc so 2</asp:ListItem> <asp:ListItem Value="3">Muc so 3</asp:ListItem> <asp:ListItem Value="4">Muc so 4</asp:ListItem> <asp:ListItem Value="5">Muc so 5</asp:ListItem> </asp:RadioButtonList>
Cách đưa dữ liệu vào Control giống tương tự như DropDownList.
4. Điều khiển CheckBoxList
Giống lựa chọn RadioButtonList, nhưng cho phép người dùng chọn nhiều giá trị cùng một lúc
Thuộc tính
RepeatColumns: Cho phép các lựa chọn lặp lại bao nhiêu cột
RepeatDirection: Quy định hướng hiển thị của các lựa
Horizontal: Hiển thị theo hàng ngang
Vertical: Hiển thị theo hàng dọc (Default Value) Cách đưa dữ liệu vào Control giống tương tự như DropDownList.
Bài 6