Bài giảng Phát triển web nâng cao - Chương VII: Kết gán dữ liệu
DataGridCommandEventArgs chứa thông tin của dòng sẽ được hiệu chỉnh
Thuộc tính DataKeyField thiết lập khóa chính
Sự kiện UpdateCommand, truy xuất tập các DataKeys để thao tác trên khóa chính
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Phát triển web nâng cao - Chương VII: Kết gán dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Phát triển web nâng cao - Chương VII: Kết gán dữ liệu
CHƯƠNG VII: KẾT GÁN DỮ LIỆU Lý thuyết : 3 tiết Thực hành 12 tiết Data Controls DataGrid =Table(động được tạo trên server) Repeater DataList GridView Các properties của Data Controls Properties DataList DataGrid Column Layout(sắp xếp theo cột) X Paging(Hiển thị số trang) X Select/Edit/Delete X X Sort X Style Properties(Kiểu c á ch) X X Table Layout(Hiển thị kiểu Bảng) X Template(Sử dụng khuôn mẫu) X X DataGrid Ý nghĩa: Cung cấp một dạng bảng tính dữ liệu từ data source Gồm tập các cột, một header, một footer. Các cột có thể tự động tạo hoặc tường minh Thuộc tính: 03CDTH632 . 03CDTH892 Student ID DataField . DataField HeadText Properties Descriptions AutoGenerateColumns Tạo column tự động() Column (Design & Coding) Bound Column Cột dữ liệu Button Column Cột dạng Button HyperLink Column Cột dạng Liên Kết Template Column Cột tự thiết kế EditItemStyle Định dạng cho Item Header Style(Show Footer: true) Định dạng Header Footer Style(Show Header: true) Định dạng Footer GridLines Hiển thị dạng lưới Ví dụ: Tạo điều khiển (Design) Ràng buộc vào DataReader/Dataset: (Coding) dgAuthors.DataSource = dr; dgAuthors.DataBind(); dgAuthors.DataSource = ds.Table[0]; dgAuthors.DataBind(); DataGrid – Ví dụ <asp:DataGrid ID="DataGrid1" runat="server" Style="z-index: 100; left: 55px; position: absolute;top: 15px"> DataGrid Editing Sử dụng EditCommandColumn Thuộc tính EditItemIndex (-1 ->không có dòng nào được hiệu chỉnh) EditCommandColumn hiển thị 3 liên kết tương ứng 3 sự kiện: OnEditCommand, OnUpdateCommand, OnCancelCommand DataGrid Editing DataGridCommandEventArgs chứa thông tin của dòng sẽ được hiệu chỉnh Thuộc tính DataKeyField thiết lập khóa chính Sự kiện UpdateCommand , truy xuất tập các DataKeys để thao tác trên khóa chính GridView các sự kiện OnEditCommand =“ FunctionEdit " OnCancelCommand =“ FunctionCancel “ OnPageIndexChanged =“ FunctionPage " OnDeleteCommand =“ FunctionDelete " OnItemCommand =“ FunctionCommand " Gán dữ liệu Access vào DataGrid protected void Page_Load(object sender, EventArgs e) { String strCon = "Provider=Microsoft.Jet.OleDb.4.0;Data Source = "; strCon = strCon + Server.MapPath(".") + "\\App_Data\\SV.mdb"; OleDbConnection con = new OleDbConnection(strCon); con.Open(); String strOLE = "select * from tblSinhVien"; OleDbDataAdapter adap = new OleDbDataAdapter(strOLE, con); DataSet ds = new DataSet(); adap.Fill(ds); DataGrid1.DataSource = ds; //kết gán dl với GridView có id là GridView1 DataGrid1.DataBind(); } // lưu ý using System.Data.OleDb; Gán dữ liệu SQL vào DataGrid protected void Page_Load(object sender, EventArgs e) { string strconn = "server=TRUCLY-PC\\SQL2005;database=SINHVIEN;uid=sa;pwd=sa"; SqlConnection conn = new SqlConnection(strconn); string sql = "SELECT * FROM tblsinhvien"; SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); SqlDataAdapter adap=new SqlDataAdapter(sql,conn); DataSet ds = new DataSet(); adap.Fill(ds); DataGrid1.DataSource = ds; //kết gán dl với DataGrid1 DataGrid1.DataBind(); } Hiệu chỉnh dữ liệu - DataGrid Hiệu chỉnh DataGrid – Mã lệnh protected override void OnLoad(EventArgs e) { if (!IsPostBack) BindGrid(); base .OnLoad(e); } public void gd1_Edit( object src, DataGridCommandEventArgs e) { gd1.EditItemIndex = ( int )e.Item.ItemIndex; BindGrid(); } public void gd1_Cancel( object src, DataGridCommandEventArgs e) { gd1.EditItemIndex = -1; BindGrid(); } Đặc điểm khác của DataGrid Tùy biến giao diện GridView ButtonColumn : hiển thị nút nhấn nhằm thực thi một lệnh nào đó. Thuộc tính AllowSorting : hiển thị tiêu đề cột như một siêu liên kết. Thuộc tính SortField : chỉ ra field được sắp xếp. PROPERTY DATAGRID Định dạng Datagrid Thực hành: Sử dụng DataGrid Tạo một OleDbConnection Tạo một OleDbCommand Tạo a DataReader Kéo một DataGrid vào Web Form Ràng buộc DataSource vào DataGrid Repeater Ý nghĩa: Ràng buộc dữ liệu từ danh sách các item. Hiển thị dữ liệu dựa trên các phần tử HTML Templates: DataBinder Phân tích và đánh giá biểu thức ràng buộc dữ liệu Tính toán biểu thức ràng buộc dữ liệu để rút trích dữ liệu đúng trong template Container.DataItem trả về đối tượng Object DataBinder.Eval() là hàm tĩnh sử dụng Reflection Không quan tâm đến kiểu của nguồn dữ liệu (data source) DataBinder – Ví dụ A Repeater control in use DataList Sử dụng DataList hiển thị dữ liệu từ data source Sử dụng khi hiển thị dữ liệu dạng danh sách (tương tự dạng Table) Đơn giản hơn DataGrid Ít nhất có ItemTemplate Mỗi template có kiểu dáng riêng (HeaderStyle và ItemStyle) DataList – Ví dụ Datalist Ràng buộc dữ liệu từ Data Reader Thiết lập thuộc tính Gọi phương thức DataBind Id.DataSource = dr; dgEmp.DataBind(); Thuộc tính Mô tả DataSource Nguồn dữ liệu DataTextField Field trong DataTable được hiển thị DataValueField Field trong DataTable trở thành giá trị của item Minh họa: Điều khiển DataGrid Sử dụng AutoFormat Thiết lập Tiêu đề cột Phân trang Sắp xếp OleDb Server 2000 DataSet DataTable DataTable Thiết bị lưu trữ OleDb Database OleDbDataAdapter OleDbConnection DataTable Bộ nhớ OleDbDataAdapter OleDbConnection Dataset là gì? Truy cập dữ liệu với ADO.NET Database Trả DataSet cho Client Client thao tác dữ liệu Tạo đối tượng kết nối OleDbConnection và OleDbDataAdapter Điền dữ liệu vào DataSet từ DataAdapter, đóng kết nối OleDbDataAdapter OleDbConnection List-Bound Control Yêu cầu từ Client 1 2 3 4 5 Cập nhật DataSet Sử dụng OleDbDataAdapter để mở OleDbConnection, cập nhật cơ sở dữ liệu và đóng kết nối 6 7 Client Web server DataSet
File đính kèm:
- bai_giang_phat_trien_web_nang_cao_chuong_vii_ket_gan_du_lieu.ppt