سلام
یک دیتاگرید دارم که دوتاستون دارد که یک از آنها بصورت چک باکس است حال می خواهم بصورت آنلاین این دیتا گرید را پر کنم (مثلا5تا ستون را جک باکس را true کردم ) هنگامیکه از دیتاگرید خارج یمشودم می خواهم تعداد ستون های true شده را برگرداند 4تابرمی گرداند آخری را محاسبه نمیکند چگونه باید کد خودرا اصلاح کنم
private void dataGridView1_Leave(object sender, EventArgs e) { int a = 0; for (int i = 0; i < dataGridView1.RowCount; i++) { if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[1].Value) == true) { a++; } } MessageBox.Show(a.ToString()); }
باتشکر
یعنی یک خط کمتر محاسبه میکند ؟
RowCount را + 1 کنید
سلام
نه خط کمتر محاسبه نمی کند سطر اخری که true شده است را null می خواند
دلیلش اینه که وقتی چک باکس رو علامت میزنید تا وقتی از اون سطر خارج نشدید تغییرات اون سطر اعمال نمیشه برای حل مشکل قبل از دستوراتی که نوشتید دستور زیر رو وارد کنید :
dbGridView1.CurrentCell = dbGridView1[dbGridView1.CurrentCellAddress.X, dbGridView1.CurrentCellAddress.Y + 1];
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)