SlideShare a Scribd company logo
1 of 4
Một số thao tác với Data Binding Author : Xcross87 2007
Page 1 of 4
Data Binding là cách mapping các thành phần của một data source vào một thành
phần GUI và tự động làm việc với dữ liệu. Ví dụ có thể bind một cột (col) vào một
TextBox qua thuộc tính Text hoặc có thể bind cả một table vào DataGrid như
DataGridView.
Có 2 cách bìn WinForm control vào dữ liệu :
Simple
Complex
Simple Data Binding
Là cách liên kết một-một giữa một thuộc tính của control và một thành phần của
data source, và sử dụng control để hiển thị duy nhất một giá trị một lần.
Thử một ví dụ :
Tạo Winform App project, tại Form1 bạn cho thêm 2 textbox vào.
Sau đó trong sự kiện : Form1_Load bạn chèn thêm đoạn code sau :
[code]
private void Form1_Load(object sender, EventArgs e)
{
string connString = @"Server = .SQLEXPRESS;
Integrated Security = true;
Database = Northwind";
string sql = @"SELECT * FROM employees ";
SqlConnection conn = new SqlConnection(connString);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "employees");
textBox1.DataBindings.Add("text", ds,
"employees.firstname");
textBox2.DataBindings.Add("text", ds,
"employees.lastname");
}
[/code]
Sau đó run thì thấy textbox1 là giá trị firstname đầu tiên trong record và textbox là
giá trị lastname tương ứng.
Một số thao tác với Data Binding Author : Xcross87 2007
Page 2 of 4
Complex Data Binding
Là liên kết một control với một hoặc nhiều thành phần data của data source, có thể
hiển thị nhiều hơn 1 giá trị một lần.
Tạo một WinForm App project. Thêm vào một DataGridView, sau đó hiện ra
DataGridView Task chọn Choose Data Source -> Add Project -> chọn Database ->
New Connection -> SQL Server, Northwind Database -> Next đến khi nào thấy
mục chọn Table cho DataSet thì chọn table : Customers rồi Finish
Build -> Ctrl + F5 xem kết quả thu được
Binding Manager Class
Tạo một WinForm App project.
Đặt vào 2 textbox và 2 button
Trong phần code của Form1.cs bạn chèn code sau :
[code]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace SQLServerManger
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Tạo BindingManager
private BindingManagerBase bMgr;
// Sự kiện Form1_Load
private void Form1_Load(object sender, EventArgs e)
{
Một số thao tác với Data Binding Author : Xcross87 2007
Page 3 of 4
// Tạo connection string
string connString = @"Server = .SQLEXPRESS;
Integrated Security = true;
Database = Northwind";
// Tạo Sql Query
string sql = @"SELECT * FROM employees ";
// Tạo connectioon
SqlConnection conn = new SqlConnection(connString);
// Tạo Adapter
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
// Tạo DataSet
DataSet ds = new DataSet();
// Lấp đầy DataSet
da.Fill(ds, "employees");
// Bind giá trị cột firstname vào textbox1
textBox1.DataBindings.Add("text", ds,
"employees.firstname");
// Bind giá trị cột lastname vào textbox2
textBox2.DataBindings.Add("text", ds,
"employees.lastname");
// Cài Binding Manager vào DataSet để quản lý
bMgr = this.BindingContext[ds, "employees"];
}
// Lấy record tiếp theo
private void button2_Click(object sender, EventArgs e)
{
bMgr.Position += 1;
}
// Trở lại record trước
private void button1_Click(object sender, EventArgs e)
{
bMgr.Position -= 1;
}
}
}
[/code]
Phần này mình chằng có gì biết nhiều hết chỉ thế thôi. Đừng nghĩ là Data Binding
dễ nhé, phức tạp lắm đó. Chẳng qua là code của Data Binding được Generate tự
dộng nên mình có thể làm thao tác đơn giản thế này. Nhưng nếu thế này thì cũng
không hay lắm vì không hiểu cách thức làm việc của nó. Tóm lại là sao cũng được.
Kết thúc về Data Binding.
Một số thao tác với Data Binding Author : Xcross87 2007
Page 4 of 4

More Related Content

Similar to 7 databinding-120306231825-phpapp02(1)

6.adapterset
6.adapterset6.adapterset
6.adapterset
Dao Uit
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
ANHMATTROI
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
ledoanduc
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2
Hiển Phùng
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
Dao Uit
 
4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu
Dao Uit
 

Similar to 7 databinding-120306231825-phpapp02(1) (20)

Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
Ung dung web chuong 6
Ung dung web  chuong 6Ung dung web  chuong 6
Ung dung web chuong 6
 
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...
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
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...
 
Grid view
Grid viewGrid view
Grid view
 
Cập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vbCập nhật csdl ngay trên datagridview trong vb
Cập nhật csdl ngay trên datagridview trong vb
 
Asp.net 3.5 _8
Asp.net 3.5 _8Asp.net 3.5 _8
Asp.net 3.5 _8
 
63 2601
63 260163 2601
63 2601
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
Trong bài viết hôm nay
Trong bài viết hôm nayTrong bài viết hôm nay
Trong bài viết hôm nay
 
Asp.net 3.5 _7
Asp.net 3.5 _7Asp.net 3.5 _7
Asp.net 3.5 _7
 
Bai th 03
Bai th 03Bai th 03
Bai th 03
 
Hdth.chuong5 ado.netv2.0
Hdth.chuong5 ado.netv2.0Hdth.chuong5 ado.netv2.0
Hdth.chuong5 ado.netv2.0
 
Ung dung web chuong 7
Ung dung web  chuong 7Ung dung web  chuong 7
Ung dung web chuong 7
 
Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2Lap trinhcosodulieuvoi c-sharp_phan-2
Lap trinhcosodulieuvoi c-sharp_phan-2
 
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
 
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#2.gioi thieu co ban ado.net cho nguoi lap trinh c#
2.gioi thieu co ban ado.net cho nguoi lap trinh c#
 
access
accessaccess
access
 
4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu4.thuc thi menh lenh voi co so du lieu
4.thuc thi menh lenh voi co so du lieu
 

7 databinding-120306231825-phpapp02(1)

  • 1. Một số thao tác với Data Binding Author : Xcross87 2007 Page 1 of 4 Data Binding là cách mapping các thành phần của một data source vào một thành phần GUI và tự động làm việc với dữ liệu. Ví dụ có thể bind một cột (col) vào một TextBox qua thuộc tính Text hoặc có thể bind cả một table vào DataGrid như DataGridView. Có 2 cách bìn WinForm control vào dữ liệu : Simple Complex Simple Data Binding Là cách liên kết một-một giữa một thuộc tính của control và một thành phần của data source, và sử dụng control để hiển thị duy nhất một giá trị một lần. Thử một ví dụ : Tạo Winform App project, tại Form1 bạn cho thêm 2 textbox vào. Sau đó trong sự kiện : Form1_Load bạn chèn thêm đoạn code sau : [code] private void Form1_Load(object sender, EventArgs e) { string connString = @"Server = .SQLEXPRESS; Integrated Security = true; Database = Northwind"; string sql = @"SELECT * FROM employees "; SqlConnection conn = new SqlConnection(connString); SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds, "employees"); textBox1.DataBindings.Add("text", ds, "employees.firstname"); textBox2.DataBindings.Add("text", ds, "employees.lastname"); } [/code] Sau đó run thì thấy textbox1 là giá trị firstname đầu tiên trong record và textbox là giá trị lastname tương ứng.
  • 2. Một số thao tác với Data Binding Author : Xcross87 2007 Page 2 of 4 Complex Data Binding Là liên kết một control với một hoặc nhiều thành phần data của data source, có thể hiển thị nhiều hơn 1 giá trị một lần. Tạo một WinForm App project. Thêm vào một DataGridView, sau đó hiện ra DataGridView Task chọn Choose Data Source -> Add Project -> chọn Database -> New Connection -> SQL Server, Northwind Database -> Next đến khi nào thấy mục chọn Table cho DataSet thì chọn table : Customers rồi Finish Build -> Ctrl + F5 xem kết quả thu được Binding Manager Class Tạo một WinForm App project. Đặt vào 2 textbox và 2 button Trong phần code của Form1.cs bạn chèn code sau : [code] using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; namespace SQLServerManger { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // Tạo BindingManager private BindingManagerBase bMgr; // Sự kiện Form1_Load private void Form1_Load(object sender, EventArgs e) {
  • 3. Một số thao tác với Data Binding Author : Xcross87 2007 Page 3 of 4 // Tạo connection string string connString = @"Server = .SQLEXPRESS; Integrated Security = true; Database = Northwind"; // Tạo Sql Query string sql = @"SELECT * FROM employees "; // Tạo connectioon SqlConnection conn = new SqlConnection(connString); // Tạo Adapter SqlDataAdapter da = new SqlDataAdapter(sql, conn); // Tạo DataSet DataSet ds = new DataSet(); // Lấp đầy DataSet da.Fill(ds, "employees"); // Bind giá trị cột firstname vào textbox1 textBox1.DataBindings.Add("text", ds, "employees.firstname"); // Bind giá trị cột lastname vào textbox2 textBox2.DataBindings.Add("text", ds, "employees.lastname"); // Cài Binding Manager vào DataSet để quản lý bMgr = this.BindingContext[ds, "employees"]; } // Lấy record tiếp theo private void button2_Click(object sender, EventArgs e) { bMgr.Position += 1; } // Trở lại record trước private void button1_Click(object sender, EventArgs e) { bMgr.Position -= 1; } } } [/code] Phần này mình chằng có gì biết nhiều hết chỉ thế thôi. Đừng nghĩ là Data Binding dễ nhé, phức tạp lắm đó. Chẳng qua là code của Data Binding được Generate tự dộng nên mình có thể làm thao tác đơn giản thế này. Nhưng nếu thế này thì cũng không hay lắm vì không hiểu cách thức làm việc của nó. Tóm lại là sao cũng được. Kết thúc về Data Binding.
  • 4. Một số thao tác với Data Binding Author : Xcross87 2007 Page 4 of 4