مستر کد
mrcode.wikibix.ir

فیلتر دیتاگریدویو در سی شارپ

نویسنده : محمد پارسایی | زمان انتشار : 29 تیر 1400 ساعت 00:06

جهت انجام پروژه های دانشجویی و یا تمرین‌های برنامه نویسی رشته کامپیوتر میتوانید به آی دی تلگرام زیر پیام دهید

@AlirezaSepand



فیلتر کردن DataGridView بدون تغییر در منبع داده

ابتدا دیتابیس Northwind را دانلود کرده و آن را حالت زیپ خارج کرده و در درایو C کپی کنید :

سپس یک دیتاگریدویو و یک TextBox به فرم اضافه کرده و مراحل زیر را برای اضافه ارتباط با بانک طی کنید:


برای به دست آوردن رشته اتصال با بانک هم ابتدا به صورت زیر بانک را انتخاب کرده و سپس مقدار موجود در خاصیت Connetcyion String را کپی کنید :

در مرحله بعد بر روی فرم دوبار کلیک کرده و کدهای زیر را در رویداد Load آن بنویسید :

private void Form1_Load(object sender, EventArgs e)
{
    using (SqlConnection SqlConnection1 = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\NORTHWND.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True"))
    {
        SqlConnection1.Open();             
        using (SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter("SELECT * FROM Employees", SqlConnection1))
        {
            DataTable DataTable1 = new DataTable();
            SqlDataAdapter1.Fill(DataTable1);
            dataGridView1.DataSource = DataTable1;
        }
    }
}  

سپس بر روی TextBox دو بار کلیک کرده و در رویداد TextChanged آن کد زیر را بنویسید:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Format("LastName = '{0}'", textBox1.Text); 
} 

در کد بالا فرض بر این است که می خواهیم دیتاگرید را بر اساس مقادیر ستون LastName فیلتر کنیم. برنامه را اجرا کرده و نتیجه را مشاهده نمایید :


منبع: www.w3-farsi.com