سلام
من یک دیتا گرید در WPF دارم که می خوام بر اساس ورودی های کاربر سطر های اون رو فیلتر کنم همانطور که در این تصویر مشاهده می کنید می خوام ورودی هایی در دیتا گرید نمایش داده بشه ، که کاربر در کادر "Filter by" وارد می کنه ، حالا بر اساس درخواست کاربر همه این ورودی ها یا تعدادی از آنها رو که کاربر مشخص می کنه بشه بر روی سطرهای دیتا گرید اعمال کرد ، فرض کنید کاربر می خواد سطر هایی که نام خانوادگی آنها "کشاورز" و تاریخ عضویت آنها "1400/06/08" است را نمایش بده (حالا در این نمونه کاربر 2 تا ورودی داده ، تعداد این فیلتر ها بر اساس در خواست کاربر می تونه تغییر کنه همانطور که در این تصویر مشاهده می کنید بیشینه ورودی 8 تا TextBox است).
من از کوئری select در پنجره ای دیگه برای انتخاب اطلاعات و پیوند اون به TextBox ها استفاده کردم و به درستی کار می کنه اما این کارو نتونستم بر روی دیتا گرید انجام بدم در ضمن نمی خوام از Entity Framework استفاده کنم چون فکر میکنم در این صورت باید دوباره چیزی به پروژه اضافه بشه یا اینکه قسمتی هایی از پروژه باز نویسی بشه ، توجه داشته باشید پایگاه داده پروژه من ، Access است ، این هم لینک سوال من در docs.microsoft شاید به کارتون بیاد.
مطلب آخر اینکه هر فردی که بتونه پاسخ این سوال رو کامل و درست با همین شرایط که گفتم ارسال کنه و من اون پاسخ رو خودم امتحان کنم و جواب بگیرم در این صورت شماره کارت برام ارسال کنه مبلغ 50 هزار تومان برای ایشون واریز می کنم (شاید کم باشه معذرت دیگه).
روشی مانند کد زیر باشه برای من قابل فهم تر است:
OleDbCommand OleDCmd = new OleDbCommand("Select * From MemberTable Where LastName='" +
LastName_TextBox.Text.Trim() + "'And NumberOfBooksBorrowed='" +
NumberOfBooksBorrowed_TextBox.Text.Trim() + "'And LoanDate='"+LoanDate_TextBox.Text.Trim()+ "'",
OleDbConnect);
OleDCmd.CommandType = System.Data.CommandType.Text;
OleDbConnect.Open();
OleDbDataReader DataReader = OleDCmd.ExecuteReader();
while (DataReader.Read())
{
//از کدهایی شبیه به این کدها برای پیوند سطرهای جدول به کادرهای متن استفاده کردم اما در دیتا گرید نتونستم
//MemberDataGrid.Rows[0] = DataReader[All].ToString();
}
با تشکر