1. Giới thiệu về đối tượng select một record trong gridview
Trong quá trình thực thi dữ liệu, chắc chắn một điều là chúng ta sẽ tương tác thường xuyên với các dữ liệu bằng các hành động như: select, insert, update, delete. Để tương tác với bất kỳ record (mẫu tin) nào thì phải chọn record đó, đối tượng select trong gridview sẽ giúp bạn giải quyết vấn đề đó
2. Thiết kế
Tạo trang mới đặt tên là selectRecord.aspx và thiết kế các control như sau
3. Coding
1
2
3
4
5
6
7
| protected void gvData_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { txtEmployeeID.Text = gvData.Rows[e.NewSelectedIndex].Cells[1].Text; txtLastName.Text = gvData.Rows[e.NewSelectedIndex].Cells[2].Text; txtFirstName.Text = gvData.Rows[e.NewSelectedIndex].Cells[3].Text; txtTitle.Text = gvData.Rows[e.NewSelectedIndex].Cells[4].Text; } |
4. Giải thích
Function loadEmployee()
- Gridview control có id: gvData
- 5 Textbox control lần lượt có các id là: txtEmloyeeID, txtLastName, txtFirstName, txtTitle, txtCity
- Quan trọng: sử dụng đối tượng select trong gridview bằng cách chọn AutoGenerateSelectButton = true
1234567891011private
void LoadEmployee()
{
string conn =
"Data Source=.;Initial Catalog=Northwind;Integrated Security=True"
;
SqlConnection sqlCon =
new
SqlConnection(conn);
string GetEmployee =
"Select top 10 * From Employees"
;
SqlDataAdapter daCustomer =
new
SqlDataAdapter(GetEmployee, sqlCon);
DataTable dtEmployee =
new
DataTable();
daCustomer.Fill(dtEmployee);
gvData.DataSource = dtEmployee;
gvData.DataBind();
}
- Viết một phương thức loadEmployee() để load 10 records trong bảng Employees
- Kết quả được hiển thị như sau:
- Tạo một events (sự kiện) SelectedIndexChanging của đối tượng gridView và thực hiện coding như sau:
- 1
string conn =
"Data Source=.;Initial Catalog=Northwind;Integrated Security=True"
- Đoạn mã trên là chuỗi kết nối dữ liệu đến database là Northwind trong hệ quản trị dữ liệu SQL Server
- Tạo đối tượng SQL Connection SqlCon
- 1
SqlConnection sqlCon =
new
SqlConnection(conn);
- Đoạn mã truy vấn dữ liệu
- 1
string GetEmployee =
" Select EmployeeID,LastName,FirstName,Title From Employees"
;
- Đối tượng dùng xử lý dữ liệu
- 1
SqlDataAdapter daCustomer =
new
SqlDataAdapter(GetEmployee, sqlCon);
- Tạo đối tượng DataTable chứa dữ liệu
- 1
DataTable dtEmployee =
new
DataTable();
- Fill dữ liệu vào DataTable
- 1
daCustomer.Fill(dtEmployee);
- Và cuối cùng là hiển thị dữ liệu
- 12
gvData.DataSource = dtEmployee;
gvData.DataBind();
Sự kiện gvData_SelectedIndexChanging của gridview như sau
1
2
3
4
| txtEmployeeID.Text = gvData.Rows[e.NewSelectedIndex].Cells[1].Text; txtLastName.Text = gvData.Rows[e.NewSelectedIndex].Cells[2].Text; txtFirstName.Text = gvData.Rows[e.NewSelectedIndex].Cells[3].Text; txtTitle.Text = gvData.Rows[e.NewSelectedIndex].Cells[4].Text; |
- e.NewSelectedIndex: là sự kiện xảy ra tại dòng mà chúng ta đang chọn
- gvData.Rows[e.NewSelectedIndex] chính là sự kiện xảy ra tại bất kỳ record nào trên gridview mà bạn chọn nó
- gvData.Rows[e.NewSelectedIndex].Cells[4].Text là lấy giá trị tại ô thứ 4 tương ứng với column bạn chọn
5. Kết quả
Kết quả nhận được tại dòng có employee có giá trị là 3 như sau
Tương tự bạn thử chọn các record tiếp theo để thấy sự thay đổi trên các controls textbox
Comments[ 0 ]
Đăng nhận xét