PDA

View Full Version : آموزش: آموزش فیلترینگ و مرتب سازی در پروژه های ADO .NET با کمک کامپوننت BindingSource



tooraj_azizi_1035
سه شنبه 06 تیر 1391, 13:44 عصر
سلام

کامپوننت BindingSource یکی از کامپوننت های بسیار مهم Visual Studio می باشد که به عنوان منبع داده ها برای برخی یا تمام کنترل های روی یک فرم عمل می کند.
در Visual Studio یک کنترل از طریق خاصیت DataBindings به یک BindingSource متصل یا Bind می شود. شما هم می توانید BindingSource را به منبع داد های ساده ای مانند آرایه متصل کنید و هم منبع داده های پیچیده مانند Database.
BindingSource به عنوان یک میانجی که Binding و currency management services (منظور مدیریت اشاره گر رکورد جاری) را فراهم می کند عمل می کند.
در زمان طراحی یا زمان اجرا می توانید با استفاده از خواص DataSourcce و DataMember به جدول و دیتابیس متصل شوید.

جایگاه BindingSource در معماری Data-Bind موجود:


http://i.msdn.microsoft.com/dynimg/IC101482.gif
با وجود خاصیت Filter کامپوننت BindingSource می توانید بسیاری عملیات فیلترینگ را انجام دهید بدون اینکه مجبور باشید کوئری های LINQ بنویسید.

Filtering:


خاصیت Filter را به عبارتی که می خواهید ست کنید. در مثال زیر عبارت یک نام ستون است که به دنبال آن مقداری است که شما می خواهید تنها آن مقدار برای ستون نمایش داده شود:BindingSource1.Filter = "ContactTitle='Owner'";


Sorting:

از خاصیت Sort برای مرتب سازی صعودی (ASC) و یا نزولی (DESC) استفاده کنید. ستون ها را با کاما از یکدیگر جدا کنید:

BindingSource1.Sort = "Country DESC, Address ASC";

مثال

نمونه کد زیر داده ها را از جدول Customers دیتابیس Northwind به داخل یک DataGridView بارگذاری کرده و داده های به نمایش در آمده را فیلتر و مرتب می کند:


private void InitializeSortedFilteredBindingSource()
{
// Create the connection string, data adapter and data table.
SqlConnection connectionString =
new SqlConnection("Initial Catalog=Northwind;" +
"Data Source=localhost;Integrated Security=SSPI;");
SqlDataAdapter customersTableAdapter =
new SqlDataAdapter("Select * from Customers", connectionString);
DataTable customerTable = new DataTable();

// Fill the the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable);

// Set data source for BindingSource1.
BindingSource1.DataSource = customerTable;

// Filter the items to show contacts who are owners.
BindingSource1.Filter = "ContactTitle='Owner'";

// Sort the items on the company name in descending order.
BindingSource1.Sort = "Country DESC, Address ASC";

// Set the data source for dataGridView1 to BindingSource1.
dataGridView1.DataSource = BindingSource1;

}