با سلام .
من یه دیتا گرید دارم که ردیف ها را با یک چک باکس انتخاب می کنم بعد از سرچ تیک هایی که زدم از بین میره
یه بنده خدایی گفت با گد زیر استفاده کنم.
میشه راهنمایی کنید که ایا کد زیر صحیح است و در صورت صحیح بود به چه صورت توی فرمم بزارم
//ایجاد یک لیست برای ذخیره //id (هر فیلدی که یکتا باشد) List<string> _myList = new List<string>(); foreach (DataGridViewRow row in radGridView1.Rows) { if (Convert.ToBoolean(row.Cells["Col1"].Value.ToString())) { _myList.Add(row.Cells["Col2"].Value.ToString()); } } //حالا بعد از لود مجدد اطلاعات: foreach (string str in _myList) { foreach (DataGridViewRow row in radGridView1.Rows) { if (str == row.Cells["Col2"].Value.ToString()) { //تیک زدن مجدد ردیفها row.Cells["Col1"].Value = true; }
اینم کد دیتا گریدم هست
radGridView1.Columns.Add(new DataGridViewCheckBoxColumn() { Name = "Col1", HeaderText = "انتخاب", Width = 50 }); radGridView1.Columns.Add(new DataGridViewTextBoxColumn() { Name = "Col2", HeaderText = "ردیف", DataPropertyName = "ID", Width = 70 });
اگر به دیتاسورس گرید مدل داده اید, با linq براحتی آیدی زدیف هایی که انتخاب شده است رو نگهدارید.
و سپس بعد از بارگذاری مجدد دوباره اعمال کنید. ( البته یکی از روش ها اینه )
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)