Ngày gửi: 05/02/2010 lúc 3:33 chiều | Đã khóa IP
|
|
|
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");
} 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;
}
}
}
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.
Nguồn: Xcross87 (forums.congdongcviet.com)
__________________
YM: DUCVINH83
0912 822334
|