1. Giới thiệu
DataView là một trong những đối tượng của ADO được dùng để xử lý dữ liệu như filter, sort,… Sử dụng DataView sẽ giúp ứng dụng giảm tải trên server và cho ứng dụng được chạy nhanh hơn
2. Thiết kế
Thiết kế một ứng dụng gồm các control như sau:
- Griview Control có id gvData
- TextBox control có id txtLastName
- Button control có id btnSearch và Text Tìm kiếm
3. Coding
Tiến hành coding như sau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| protected void Page_Load(object sender, EventArgs e) { LoadEmployee(); } private void LoadEmployee() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string GetEmployee = "Select EmployeeID,LastName,FirstName,Title From Employees" ; SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); gvData.DataSource = dtEmployee; gvData.DataBind(); } protected void btnSearch_Click(object sender, EventArgs e) { DataView dv = new DataView(); string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string GetEmployee = "Select EmployeeID,LastName,FirstName,Title From Employees" ; SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); dv = dtEmployee.DefaultView; dv.RowFilter = " LastName like '%" +txtLastName.Text+ "%' " ; gvData.DataSource = dv; gvData.DataBind(); } |
4. Giải thích
- Viết function LoadEmployee để load các field cần thiết trong database
1
2
3
4
5
6
7
8
9
10
11
| private void LoadEmployee() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string GetEmployee = "Select EmployeeID,LastName,FirstName,Title From Employees" ; SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); gvData.DataSource = dtEmployee; gvData.DataBind(); } |
- Và gọi hàm load ở sự kiện page_load
1
2
3
4
| protected void Page_Load(object sender, EventArgs e) { LoadEmployee(); } |
- Tại sự kiện click của nút “tìm kiếm” bạn viết hàm search như sau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| protected void btnSearch_Click(object sender, EventArgs e) { DataView dv = new DataView(); string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string GetEmployee = "Select EmployeeID,LastName,FirstName,Title From Employees" ; SqlDataAdapter daCustomer = new SqlDataAdapter(GetEmployee, sqlCon); DataTable dtEmployee = new DataTable(); daCustomer.Fill(dtEmployee); dv = dtEmployee.DefaultView; dv.RowFilter = " LastName like '%" +txtLastName.Text+ "%' " ; gvData.DataSource = dv; gvData.DataBind(); } |
- Điều kiện lọc
1
| dv.RowFilter = " LastName like '%" +txtLastName.Text+"%' |
5. Kết quả
Kết quả trả về khi ta nhập vào kí tự “d” và click nút “tìm kiếm”
Comments[ 0 ]
Đăng nhận xét