SlideShare a Scribd company logo
1 of 44
Data Binding
Chương 4
2
Nội dung
 Khái niệm Data Binding
 Simple Data Binding
 Complex Data Binding
 Đồng bộ dữ liệu giữa các control và datasource
 Master – Detail
 Binding Source
 Binding Navigator
3
Khái niệm Data Binding
Data Binding giúp hiển thị dữ liệu trong
Data Source lên control
 Data binding là một giải pháp cho vấn đề liên
kết giữa tập dữ liệu với các controls
 Phân loại: Có 2 loại Data Binding
• Simple Data Binding
• Complex Data Binding
4
Simple Data Binding
 Kết nối 1 property của control (loại property chỉ lưu 1 giá trị
tại 1 thời điểm) với 1 cột (hay property) của data source
 Ví dụ:
• string tenControl.Text
• object tenControl.Tag
• Image picBox.Image
• bool checkBox.Checked
• bool radioButton.Checked
• int trackBar.Value
• …
5
Simple Data Binding
 Cách 1:
DataBinding binding;
binding = new DataBinding("propertyName",
dataSource, "dataMember", true);
tenControl.DataBindings.Add(binding);
tenControl.DataBindings.Add("propertyName",
dataSource, "dataMember", true);
 Cách 2:
6
Complex Data Binding
 Kết nối 1 control có khả năng hiển thị nhiều giá trị
tại 1 thời điểm với 1 cột hay tất cả các cột trong
data source
 Ví dụ:
• DataGridView
• ComboBox
• ListBox
• …
7
Complex Data Binding
 Cách 1
tenControl.DataSource = tenBang;
 Cách 2
tenControl.DataSource = tenDataSet;
tenControl.DataMember = tenBang;
8
Data Binding đến Property
 Data Binding đến thuộc tính Text
tenTextBox.DataBindings.Add("Text", tenBang, "tenCot");
tenLabel.DataBindings.Add("Text", tenBang, "tenCot");
tenButton.DataBindings.Add("Text", tenBang, "tenCot");
tenCheckBox.DataBindings.Add("Text", tenBang, "tenCot");
…
tenTextBox.DataBindings.Add(
"Text", tenDS, “tenBang.tenCot");
tenLabel.DataBindings.Add(
"Text", tenDS, “tenBang.tenCot");
tenButton.DataBindings.Add(
"Text", tenDS, “tenBang.tenCot");
tenCheckBox.DataBindings.Add(
"Text", tenDS, “tenBang.tenCot");
…
9
Data Binding đến Property
 Data Binding đến thuộc tính Tag
tenControl.DataBindings.Add("Tag", tenBang, "tenCot");
tenControl.DataBindings.Add(
"Tag", tenDS, “tenBang.tenCot");
10
Data Binding đến Property
 Data Binding đến thuộc tính Checked
tenCheckBox.DataBindings.Add(
"Checked", tenBang, "tenCot");
tenRadio.DataBindings.Add(
"Checked", tenBang, "tenCot");
…
tenCheckBox.DataBindings.Add(
"Checked", tenDS, “tenBang.tenCot");
tenRadio.DataBindings.Add(
"Checked", tenDS, “tenBang.tenCot");
…
11
Data Binding đến Property
 Data Binding đến thuộc tính Value
tenDateTimePicker.DataBindings.Add(
“Value", tenBang, "tenCot");
tenProcessBar.DataBindings.Add(
“Value", tenBang, "tenCot");
tenTrackBar.DataBindings.Add(
“Value", tenBang, "tenCot");
tenNumricUpDown.DataBindings.Add(
“Value", tenBang, "tenCot");
tenVScrollBar.DataBindings.Add(
“Value", tenBang, "tenCot");
tenHScrollBar.DataBindings.Add(
“Value", tenBang, "tenCot");
…
12
Data Binding đến Property
 Data Binding đến thuộc tính Value
tenDateTimePicker.DataBindings.Add(
"Value", tenDS, "tenBang.tenCot");
tenProcessBar.DataBindings.Add(
"Value", tenDS, "tenBang.tenCot");
tenTrackBar.DataBindings.Add(
"Value", tenDS, "tenBang.tenCot");
tenNumricUpDown.DataBindings.Add(
"Value", tenDS, "tenBang.tenCot");
tenVScrollBar.DataBindings.Add(
“Value", tenDS, "tenBang.tenCot");
tenHScrollBar.DataBindings.Add(
“Value", tenDS, "tenBang.tenCot");
…
13
Data Binding đến DataGridView
 Cách 1
tenGrid.DataSource = tenBang;
 Cách 2
tenGrid.DataSource = tenDataSet;
tenGrid.DataMember = "TenBang";
14
Data Binding đến ComboBox
 Cách 1
tenComboBox.DataSource = tenBang;
tenComboBox.DisplayMember = "tenCot1";
tenComboBox.ValueMember = "tenCot2";
 Cách 2
tenComboBox.DataSource = tenDataSet;
tenComboBox.DisplayMember = "tenBang.tenCot1";
tenComboBox.ValueMember = "tenBang..tenCot2";
15
Data Binding đến ListBox
 Cách 1
tenListBox.DataSource = tenBang;
tenListBox.DisplayMember = "tenCot1";
tenListBox.ValueMember = "tenCot2";
 Cách 2
tenListBox.DataSource = tenDataSet;
tenListBox.DisplayMember = "tenBang.tenCot1";
tenListBox.ValueMember = "tenBang..tenCot2";
Đồng bộ dữ liệu giữa các
control và datasource
17
Đồng bộ dữ liệu giữa control và data source
 Khái niệm
 Cơ chế đồng bộ của .NET 1.x
 Các thao tác của đối tượng
CurrencyManager
18
Đồng bộ dữ liệu giữa control và data source
Khái niệm
 Đồng bộ dữ liệu là khả năng cập nhật tức thì
dữ liệu giữa các control hay giữa các control
và Data source
• Ví dụ:
– Khi nhấn button “Next”, chúng ta thấy các
control đều cập nhập dữ liệu của record kế tiếp
– Khi chọn record bằng listbox, chúng ta thấy các
thông tin liên quan tự động xuất hiện trên các
control khác của cùng form
19
Đồng bộ dữ liệu giữa control và data source
Cơ chế đồng bộ của .NET 1.x
 Khả năng đồng bộ trong .NET 1.x không hiện
thực trong ADO.NET (DataSet, DataView
không có thông tin về record nào đang hiện
trên form)
 Khả năng đồng bộ trong .NET 1.x được hiện
thực trong Windows Form thông qua property
BindingContext và lớp CurrencyManager
20
Đồng bộ dữ liệu giữa control và data source
Cơ chế đồng bộ của .NET 1.x
 Khi chúng ta kết nối các control với một data
source, chương trình tự động tạo ra một đối
tượng thuộc lớp CurrencyManager để theo
dõi vị trí của record trong datasource
 Mỗi data source tương ứng có 1 đối tượng
CurrencyManager
 Windows Form lưu tất cả đối tượng
CurrencyManager vào trong mảng
BindingContext
21
Đồng bộ dữ liệu giữa control và data source
Cơ chế đồng bộ của .NET 1.x
22
Đồng bộ dữ liệu giữa control và data source
Các thao tác của đối tượng CurrencyManager
CurrencyManager cm;
cm = (CurrencyManager)this.BindingContext[tenDataSet,"Bảng"];
 Cách 1
CurrencyManager cm;
cm = (CurrencyManager)this.BindingContext[tenBang];
 Cách 2
23
Đồng bộ dữ liệu giữa control và data source
Các thao tác của đối tượng CurrencyManager
 Lớp CurrencyManager
• Property:
– int Position
– int Count
• Method:
– void AddNew()
– void EndCurrentEdit()
– void CancelCurrentEdit()
– void RemoveAt(int index)
24
Đồng bộ dữ liệu giữa control và data source
Các thao tác của đối tượng CurrencyManager
 Next
• cm.Position++;
 Previous
• cm.Position--;
 First
• cm.Position = 0;
 Last
• vt = cm.Count – 1;
• cm.Position = vt;
25
Đồng bộ dữ liệu giữa control và data source
Các thao tác của đối tượng CurrencyManager
CurrencyManager cm;
cm = (CurrencyManager)this.BindingContext[dataTable];
if (cm.Position < cm.Count - 1)
{
cm.Position++;
}
 Những thao tác cơ bản
CurrencyManager cm;
cm = (CurrencyManager)this.BindingContext[dataTable];
if (cm.Position > 0)
{
cm.Position--;
}
26
Đồng bộ dữ liệu giữa control và data source
Các thao tác của đối tượng CurrencyManager
 Insert
• void cm.AddNew();
 Update
• cm.EndCurrentEdit();
da.Update(dataTable);
 Delete
• index = cm.Position
• cm.RemoveAt(index);
 Cancel
• cm.CancelCurrentEdit();
27
Đồng bộ dữ liệu giữa control và data source
Các thao tác của đối tượng CurrencyManager
 Chú ý quan trọng:
• Data source và data member của các control
phải đồng nhất với nhau
– Hoặc cùng dataset
– Hoặc cùng datatable
• Tốt nhất: nên dùng datatable
Master – Detail
29
Master – detail
 Master – detail: dạng quan hệ 1-n trong cơ
sở dữ liệu
30
Master – detail
 Bước 1: fill dữ liệu
• Fill 2 bảng vào dataset (bao gồm khóa chính và khóa ngoại)
 Bước 2: tạo quan hệ
• DataColumn colMaster =
ds.Tables[“tenMaster"].Columns[“cộtPK"];
• DataColumn colDetail = ds.Tables[“tenDetail"].Columns[“cộtFK"];
• DataRelation relation = new DataRelation(“tenquanhe",
colMaster, colDetail);
• ds.Relations.Add(relation);
31
Master – detail
 Bước 3: (cách 1)
• dataGridViewMaster.DataSource = ds;
• dataGridViewMaster.DataMember = “tenMaster";
• dataGridViewDetail.DataSource = ds;
• dataGridViewDetail.DataMember =
“tenMaster.tenquanhe";
32
Master – detail
 Bước 3: (cách 2)
• dataGridViewMaster.DataSource =
ds.Tables[“tenMaster”];
• dataGridViewDetail.DataSource =
ds.Tables[“tenMaster”];
• dataGridViewDetail.DataMember =
“tenquanhe";
33
Binding Source
 Khái niệm
 Tạo đối tượng Binding Source
 Kết nối control với Binding Source
 Các thao tác của đối tượng BindingSource
34
Binding Source
Khái niệm
 Trong .NET 1.X, chỉ cho phép kết nối trực tiếp
giữa Control đến Data Source
 Trong .NET 2.0, cho phép kết nối giữa
Control và Data Source thông qua đối tượng
trung gian Binding Source
 Ưu điểm khi sử dụng Binding Source
• Dễ dàng thay đổi Data Source của các Control
• Cung cấp nhiều sự kiện và các phương thức
35
Binding Source
Khái niệm
Data
source
Binding
Source
36
Binding Source
Khái niệm
BindingSourceBindingSource
DataSetDataSetDataTableDataTable
DataSourceDataSource
DataMemberDataMember
SimpleSimple
ControlControl
ComplexComplex
ControlControl
ColumnColumn
DataBindingDataBinding
PropertyProperty
Thay đổi nộiThay đổi nội
dung bằngdung bằng
navigatornavigator
BindingNavigatorBindingNavigator
BindingSourceBindingSource
DataSourceDataSource
37
Binding Source
Tạo đối tượng Binding Source
 Cách 1:
BindingSource bs;
bs = new BindingSource();
…
bs.DataSource = dataSource;
bs.DataMember = "dataMember";
 Cách 2:
BindingSource bs;
bs = new BindingSource(dataSource, "dataMember");
38
Binding Source
Kết nối control với Binding Source
 Simple Data Binding
tenControl.DataSource = bs;
//tenControl.DataMember = "tenBang";
 Complex Data Binding
tenControl.DataBindings.Add("propertyName",
bs, "dataMember", true);
39
Binding Source
Các thao tác của đối tượng BindingSource
 Next
• bs.MoveNext();
 Previous
• bs.MovePrevious();
 First
• bs.MoveFirst();
 Last
• bs.MoveLast();
40
Binding Source
Các thao tác của đối tượng BindingSource
 Insert
• object bs.AddNew();
 Update
• bs.EndEdit();
da.Update(dataTable);
 Delete
• void bs.RemoveAt(index);
• void bs.RemoveCurrent();
 Cancel
• bs.CancelEdit();
41
Binding Source
Các thao tác của đối tượng BindingSource
 Property
• int bs.Position
• int bs.Count
• CurrencyManager bs.CurrencyManager
• string bs.Filter
• string bs.Sort
 Method
• void bs.ResetBinding(bool metaDataChanged);
• void bs.ResetCurrentItem();
• void bs.ResetItem(int index);
42
Binding Navigator
 Binding Navigator là 1 phiên bản mới của
ToolStrip trong .NET 2.0 bao bọc các chức
năng: MoveNext, MovePrevious, MoveFirst,
MoveLast, AddNew, RemoveCurrent, …
43
Binding Navigator
 Các bước tạo Binding Navigator
• Bước 1: Kéo Binding Navigator vào Form
• Bước 2: Thiết lập BinddingSource
tenNavigator.BindingSource=tenBindingSource;
44
Tóm tắt chương 4

More Related Content

Viewers also liked

Wilson et al (2014) Prompt Dependency Beyond Childhood
Wilson et al (2014) Prompt Dependency Beyond ChildhoodWilson et al (2014) Prompt Dependency Beyond Childhood
Wilson et al (2014) Prompt Dependency Beyond ChildhoodBronwyn M Wilson
 
Survivalkids door Yolanda Burger & Louisa Drost
Survivalkids door Yolanda Burger & Louisa DrostSurvivalkids door Yolanda Burger & Louisa Drost
Survivalkids door Yolanda Burger & Louisa DrostNPCF
 
TK_CorpManagement
TK_CorpManagementTK_CorpManagement
TK_CorpManagementTravis Kita
 
Namghar - A community meeting place
Namghar - A community meeting placeNamghar - A community meeting place
Namghar - A community meeting placeAnkuran Dutta
 
Language arts pacing_guide_first_grade_8-21-09
Language arts pacing_guide_first_grade_8-21-09Language arts pacing_guide_first_grade_8-21-09
Language arts pacing_guide_first_grade_8-21-09Anna Medrano
 
A level component 1 py_53_sample_10_practical
A level component 1 py_53_sample_10_practicalA level component 1 py_53_sample_10_practical
A level component 1 py_53_sample_10_practicalMelanie Powell
 
Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...
Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...
Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...Arniel Ping
 

Viewers also liked (12)

Wilson et al (2014) Prompt Dependency Beyond Childhood
Wilson et al (2014) Prompt Dependency Beyond ChildhoodWilson et al (2014) Prompt Dependency Beyond Childhood
Wilson et al (2014) Prompt Dependency Beyond Childhood
 
Survivalkids door Yolanda Burger & Louisa Drost
Survivalkids door Yolanda Burger & Louisa DrostSurvivalkids door Yolanda Burger & Louisa Drost
Survivalkids door Yolanda Burger & Louisa Drost
 
TK_CorpManagement
TK_CorpManagementTK_CorpManagement
TK_CorpManagement
 
Namghar - A community meeting place
Namghar - A community meeting placeNamghar - A community meeting place
Namghar - A community meeting place
 
Formatos de evaluacion
Formatos de evaluacionFormatos de evaluacion
Formatos de evaluacion
 
Ransomware
RansomwareRansomware
Ransomware
 
Indicadores economicos grado 11
Indicadores economicos grado 11Indicadores economicos grado 11
Indicadores economicos grado 11
 
Language arts pacing_guide_first_grade_8-21-09
Language arts pacing_guide_first_grade_8-21-09Language arts pacing_guide_first_grade_8-21-09
Language arts pacing_guide_first_grade_8-21-09
 
A level component 1 py_53_sample_10_practical
A level component 1 py_53_sample_10_practicalA level component 1 py_53_sample_10_practical
A level component 1 py_53_sample_10_practical
 
Ft 50 manual
Ft 50 manualFt 50 manual
Ft 50 manual
 
Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...
Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...
Media and Information Literacy (MIL) - 10. Media and Information Literate Ind...
 
How to Give a TED Talk
How to Give a TED TalkHow to Give a TED Talk
How to Give a TED Talk
 

Similar to 04 chuong4-databinding-140404115313-phpapp02

03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02huynhtrong774129
 
7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)TI Anh
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
04 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp0204 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp02huynhtrong774129
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01huynhtrong774129
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...MasterCode.vn
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdltruong le hung
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
Android report
Android reportAndroid report
Android reportMinh Đệ
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Hiển Phùng
 

Similar to 04 chuong4-databinding-140404115313-phpapp02 (20)

03 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp0203 chuong3-datasets-140404114719-phpapp02
03 chuong3-datasets-140404114719-phpapp02
 
7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
04 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp0204 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp02
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
04 ado
04 ado04 ado
04 ado
 
01 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp0101 chuong1-gioithieuado-140404114504-phpapp01
01 chuong1-gioithieuado-140404114504-phpapp01
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
Ung dung web chuong 7
Ung dung web  chuong 7Ung dung web  chuong 7
Ung dung web chuong 7
 
Data provider
Data providerData provider
Data provider
 
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
01   chuong 1 - gioi thieu ado.net va ket noi den csdl01   chuong 1 - gioi thieu ado.net va ket noi den csdl
01 chuong 1 - gioi thieu ado.net va ket noi den csdl
 
C# co ban 10
C# co ban 10C# co ban 10
C# co ban 10
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
Android report
Android reportAndroid report
Android report
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2
 
Bai th 03
Bai th 03Bai th 03
Bai th 03
 
Aspnet 3.5 _05
Aspnet 3.5 _05Aspnet 3.5 _05
Aspnet 3.5 _05
 

More from huynhtrong774129

1.SoạnThaoVanBan_Word.pptx
1.SoạnThaoVanBan_Word.pptx1.SoạnThaoVanBan_Word.pptx
1.SoạnThaoVanBan_Word.pptxhuynhtrong774129
 
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp0104 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01huynhtrong774129
 
04.report 120625040327-phpapp02
04.report 120625040327-phpapp0204.report 120625040327-phpapp02
04.report 120625040327-phpapp02huynhtrong774129
 
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp0202 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02huynhtrong774129
 
Storedprocedure 140411073406-phpapp02
Storedprocedure 140411073406-phpapp02Storedprocedure 140411073406-phpapp02
Storedprocedure 140411073406-phpapp02huynhtrong774129
 

More from huynhtrong774129 (7)

1.SoạnThaoVanBan_Word.pptx
1.SoạnThaoVanBan_Word.pptx1.SoạnThaoVanBan_Word.pptx
1.SoạnThaoVanBan_Word.pptx
 
3.BangTinh_Excel.pptx
3.BangTinh_Excel.pptx3.BangTinh_Excel.pptx
3.BangTinh_Excel.pptx
 
C3.Excel.ppt
C3.Excel.pptC3.Excel.ppt
C3.Excel.ppt
 
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp0104 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
04 chuong4-sapxeptimkiemlocdulieu-140404115538-phpapp01
 
04.report 120625040327-phpapp02
04.report 120625040327-phpapp0204.report 120625040327-phpapp02
04.report 120625040327-phpapp02
 
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp0202 chuong2-laydulieutheocachconnected-140404114611-phpapp02
02 chuong2-laydulieutheocachconnected-140404114611-phpapp02
 
Storedprocedure 140411073406-phpapp02
Storedprocedure 140411073406-phpapp02Storedprocedure 140411073406-phpapp02
Storedprocedure 140411073406-phpapp02
 

Recently uploaded

QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 

Recently uploaded (19)

QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 

04 chuong4-databinding-140404115313-phpapp02

  • 2. 2 Nội dung  Khái niệm Data Binding  Simple Data Binding  Complex Data Binding  Đồng bộ dữ liệu giữa các control và datasource  Master – Detail  Binding Source  Binding Navigator
  • 3. 3 Khái niệm Data Binding Data Binding giúp hiển thị dữ liệu trong Data Source lên control  Data binding là một giải pháp cho vấn đề liên kết giữa tập dữ liệu với các controls  Phân loại: Có 2 loại Data Binding • Simple Data Binding • Complex Data Binding
  • 4. 4 Simple Data Binding  Kết nối 1 property của control (loại property chỉ lưu 1 giá trị tại 1 thời điểm) với 1 cột (hay property) của data source  Ví dụ: • string tenControl.Text • object tenControl.Tag • Image picBox.Image • bool checkBox.Checked • bool radioButton.Checked • int trackBar.Value • …
  • 5. 5 Simple Data Binding  Cách 1: DataBinding binding; binding = new DataBinding("propertyName", dataSource, "dataMember", true); tenControl.DataBindings.Add(binding); tenControl.DataBindings.Add("propertyName", dataSource, "dataMember", true);  Cách 2:
  • 6. 6 Complex Data Binding  Kết nối 1 control có khả năng hiển thị nhiều giá trị tại 1 thời điểm với 1 cột hay tất cả các cột trong data source  Ví dụ: • DataGridView • ComboBox • ListBox • …
  • 7. 7 Complex Data Binding  Cách 1 tenControl.DataSource = tenBang;  Cách 2 tenControl.DataSource = tenDataSet; tenControl.DataMember = tenBang;
  • 8. 8 Data Binding đến Property  Data Binding đến thuộc tính Text tenTextBox.DataBindings.Add("Text", tenBang, "tenCot"); tenLabel.DataBindings.Add("Text", tenBang, "tenCot"); tenButton.DataBindings.Add("Text", tenBang, "tenCot"); tenCheckBox.DataBindings.Add("Text", tenBang, "tenCot"); … tenTextBox.DataBindings.Add( "Text", tenDS, “tenBang.tenCot"); tenLabel.DataBindings.Add( "Text", tenDS, “tenBang.tenCot"); tenButton.DataBindings.Add( "Text", tenDS, “tenBang.tenCot"); tenCheckBox.DataBindings.Add( "Text", tenDS, “tenBang.tenCot"); …
  • 9. 9 Data Binding đến Property  Data Binding đến thuộc tính Tag tenControl.DataBindings.Add("Tag", tenBang, "tenCot"); tenControl.DataBindings.Add( "Tag", tenDS, “tenBang.tenCot");
  • 10. 10 Data Binding đến Property  Data Binding đến thuộc tính Checked tenCheckBox.DataBindings.Add( "Checked", tenBang, "tenCot"); tenRadio.DataBindings.Add( "Checked", tenBang, "tenCot"); … tenCheckBox.DataBindings.Add( "Checked", tenDS, “tenBang.tenCot"); tenRadio.DataBindings.Add( "Checked", tenDS, “tenBang.tenCot"); …
  • 11. 11 Data Binding đến Property  Data Binding đến thuộc tính Value tenDateTimePicker.DataBindings.Add( “Value", tenBang, "tenCot"); tenProcessBar.DataBindings.Add( “Value", tenBang, "tenCot"); tenTrackBar.DataBindings.Add( “Value", tenBang, "tenCot"); tenNumricUpDown.DataBindings.Add( “Value", tenBang, "tenCot"); tenVScrollBar.DataBindings.Add( “Value", tenBang, "tenCot"); tenHScrollBar.DataBindings.Add( “Value", tenBang, "tenCot"); …
  • 12. 12 Data Binding đến Property  Data Binding đến thuộc tính Value tenDateTimePicker.DataBindings.Add( "Value", tenDS, "tenBang.tenCot"); tenProcessBar.DataBindings.Add( "Value", tenDS, "tenBang.tenCot"); tenTrackBar.DataBindings.Add( "Value", tenDS, "tenBang.tenCot"); tenNumricUpDown.DataBindings.Add( "Value", tenDS, "tenBang.tenCot"); tenVScrollBar.DataBindings.Add( “Value", tenDS, "tenBang.tenCot"); tenHScrollBar.DataBindings.Add( “Value", tenDS, "tenBang.tenCot"); …
  • 13. 13 Data Binding đến DataGridView  Cách 1 tenGrid.DataSource = tenBang;  Cách 2 tenGrid.DataSource = tenDataSet; tenGrid.DataMember = "TenBang";
  • 14. 14 Data Binding đến ComboBox  Cách 1 tenComboBox.DataSource = tenBang; tenComboBox.DisplayMember = "tenCot1"; tenComboBox.ValueMember = "tenCot2";  Cách 2 tenComboBox.DataSource = tenDataSet; tenComboBox.DisplayMember = "tenBang.tenCot1"; tenComboBox.ValueMember = "tenBang..tenCot2";
  • 15. 15 Data Binding đến ListBox  Cách 1 tenListBox.DataSource = tenBang; tenListBox.DisplayMember = "tenCot1"; tenListBox.ValueMember = "tenCot2";  Cách 2 tenListBox.DataSource = tenDataSet; tenListBox.DisplayMember = "tenBang.tenCot1"; tenListBox.ValueMember = "tenBang..tenCot2";
  • 16. Đồng bộ dữ liệu giữa các control và datasource
  • 17. 17 Đồng bộ dữ liệu giữa control và data source  Khái niệm  Cơ chế đồng bộ của .NET 1.x  Các thao tác của đối tượng CurrencyManager
  • 18. 18 Đồng bộ dữ liệu giữa control và data source Khái niệm  Đồng bộ dữ liệu là khả năng cập nhật tức thì dữ liệu giữa các control hay giữa các control và Data source • Ví dụ: – Khi nhấn button “Next”, chúng ta thấy các control đều cập nhập dữ liệu của record kế tiếp – Khi chọn record bằng listbox, chúng ta thấy các thông tin liên quan tự động xuất hiện trên các control khác của cùng form
  • 19. 19 Đồng bộ dữ liệu giữa control và data source Cơ chế đồng bộ của .NET 1.x  Khả năng đồng bộ trong .NET 1.x không hiện thực trong ADO.NET (DataSet, DataView không có thông tin về record nào đang hiện trên form)  Khả năng đồng bộ trong .NET 1.x được hiện thực trong Windows Form thông qua property BindingContext và lớp CurrencyManager
  • 20. 20 Đồng bộ dữ liệu giữa control và data source Cơ chế đồng bộ của .NET 1.x  Khi chúng ta kết nối các control với một data source, chương trình tự động tạo ra một đối tượng thuộc lớp CurrencyManager để theo dõi vị trí của record trong datasource  Mỗi data source tương ứng có 1 đối tượng CurrencyManager  Windows Form lưu tất cả đối tượng CurrencyManager vào trong mảng BindingContext
  • 21. 21 Đồng bộ dữ liệu giữa control và data source Cơ chế đồng bộ của .NET 1.x
  • 22. 22 Đồng bộ dữ liệu giữa control và data source Các thao tác của đối tượng CurrencyManager CurrencyManager cm; cm = (CurrencyManager)this.BindingContext[tenDataSet,"Bảng"];  Cách 1 CurrencyManager cm; cm = (CurrencyManager)this.BindingContext[tenBang];  Cách 2
  • 23. 23 Đồng bộ dữ liệu giữa control và data source Các thao tác của đối tượng CurrencyManager  Lớp CurrencyManager • Property: – int Position – int Count • Method: – void AddNew() – void EndCurrentEdit() – void CancelCurrentEdit() – void RemoveAt(int index)
  • 24. 24 Đồng bộ dữ liệu giữa control và data source Các thao tác của đối tượng CurrencyManager  Next • cm.Position++;  Previous • cm.Position--;  First • cm.Position = 0;  Last • vt = cm.Count – 1; • cm.Position = vt;
  • 25. 25 Đồng bộ dữ liệu giữa control và data source Các thao tác của đối tượng CurrencyManager CurrencyManager cm; cm = (CurrencyManager)this.BindingContext[dataTable]; if (cm.Position < cm.Count - 1) { cm.Position++; }  Những thao tác cơ bản CurrencyManager cm; cm = (CurrencyManager)this.BindingContext[dataTable]; if (cm.Position > 0) { cm.Position--; }
  • 26. 26 Đồng bộ dữ liệu giữa control và data source Các thao tác của đối tượng CurrencyManager  Insert • void cm.AddNew();  Update • cm.EndCurrentEdit(); da.Update(dataTable);  Delete • index = cm.Position • cm.RemoveAt(index);  Cancel • cm.CancelCurrentEdit();
  • 27. 27 Đồng bộ dữ liệu giữa control và data source Các thao tác của đối tượng CurrencyManager  Chú ý quan trọng: • Data source và data member của các control phải đồng nhất với nhau – Hoặc cùng dataset – Hoặc cùng datatable • Tốt nhất: nên dùng datatable
  • 29. 29 Master – detail  Master – detail: dạng quan hệ 1-n trong cơ sở dữ liệu
  • 30. 30 Master – detail  Bước 1: fill dữ liệu • Fill 2 bảng vào dataset (bao gồm khóa chính và khóa ngoại)  Bước 2: tạo quan hệ • DataColumn colMaster = ds.Tables[“tenMaster"].Columns[“cộtPK"]; • DataColumn colDetail = ds.Tables[“tenDetail"].Columns[“cộtFK"]; • DataRelation relation = new DataRelation(“tenquanhe", colMaster, colDetail); • ds.Relations.Add(relation);
  • 31. 31 Master – detail  Bước 3: (cách 1) • dataGridViewMaster.DataSource = ds; • dataGridViewMaster.DataMember = “tenMaster"; • dataGridViewDetail.DataSource = ds; • dataGridViewDetail.DataMember = “tenMaster.tenquanhe";
  • 32. 32 Master – detail  Bước 3: (cách 2) • dataGridViewMaster.DataSource = ds.Tables[“tenMaster”]; • dataGridViewDetail.DataSource = ds.Tables[“tenMaster”]; • dataGridViewDetail.DataMember = “tenquanhe";
  • 33. 33 Binding Source  Khái niệm  Tạo đối tượng Binding Source  Kết nối control với Binding Source  Các thao tác của đối tượng BindingSource
  • 34. 34 Binding Source Khái niệm  Trong .NET 1.X, chỉ cho phép kết nối trực tiếp giữa Control đến Data Source  Trong .NET 2.0, cho phép kết nối giữa Control và Data Source thông qua đối tượng trung gian Binding Source  Ưu điểm khi sử dụng Binding Source • Dễ dàng thay đổi Data Source của các Control • Cung cấp nhiều sự kiện và các phương thức
  • 37. 37 Binding Source Tạo đối tượng Binding Source  Cách 1: BindingSource bs; bs = new BindingSource(); … bs.DataSource = dataSource; bs.DataMember = "dataMember";  Cách 2: BindingSource bs; bs = new BindingSource(dataSource, "dataMember");
  • 38. 38 Binding Source Kết nối control với Binding Source  Simple Data Binding tenControl.DataSource = bs; //tenControl.DataMember = "tenBang";  Complex Data Binding tenControl.DataBindings.Add("propertyName", bs, "dataMember", true);
  • 39. 39 Binding Source Các thao tác của đối tượng BindingSource  Next • bs.MoveNext();  Previous • bs.MovePrevious();  First • bs.MoveFirst();  Last • bs.MoveLast();
  • 40. 40 Binding Source Các thao tác của đối tượng BindingSource  Insert • object bs.AddNew();  Update • bs.EndEdit(); da.Update(dataTable);  Delete • void bs.RemoveAt(index); • void bs.RemoveCurrent();  Cancel • bs.CancelEdit();
  • 41. 41 Binding Source Các thao tác của đối tượng BindingSource  Property • int bs.Position • int bs.Count • CurrencyManager bs.CurrencyManager • string bs.Filter • string bs.Sort  Method • void bs.ResetBinding(bool metaDataChanged); • void bs.ResetCurrentItem(); • void bs.ResetItem(int index);
  • 42. 42 Binding Navigator  Binding Navigator là 1 phiên bản mới của ToolStrip trong .NET 2.0 bao bọc các chức năng: MoveNext, MovePrevious, MoveFirst, MoveLast, AddNew, RemoveCurrent, …
  • 43. 43 Binding Navigator  Các bước tạo Binding Navigator • Bước 1: Kéo Binding Navigator vào Form • Bước 2: Thiết lập BinddingSource tenNavigator.BindingSource=tenBindingSource;

Editor's Notes

  1. Cách 1: DataMember = null
  2. Property DisplayMember: chứa dữ liệu hiển thị Property ValueMember: chứa dữ liệu kèm thêm Chúng ta có thể nhận dữ liệu đã chọn: SelectedValue
  3. Property DisplayMember: chứa dữ liệu hiển thị Property ValueMember: chứa dữ liệu kèm thêm Chúng ta có thể nhận dữ liệu đã chọn: SelectedValue
  4. Filter Gets or sets the expression used to filter which rows are viewed. Sort Gets or sets the column names used for sorting, and the sort order for viewing the rows in the data source. ResetBindings Causes a control bound to the BindingSource to reread all the items in the list and refresh their displayed values. ResetCurrentItem Causes a control bound to the BindingSource to reread the currently selected item and refresh its displayed value. ResetItem Causes a control bound to the BindingSource to reread the item at the specified index, and refresh its displayed value.
  5. Thieu phan: luu dữ liệu