
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.ươ ứ
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)
{
// 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.ế ề

