Подсчитайте флажки в DataGridView через Linq - PullRequest
0 голосов
/ 02 декабря 2019

Следующий код дает мне эту ошибку: https://prnt.sc/q4truq

    private void Form1_Load(object sender, EventArgs e)
    {
        MyDataGridView.Columns.Insert(0, new DataGridViewCheckBoxColumn());
        MyDataGridView.Rows.Add(4);
        MyDataGridView.Rows[0].Cells[0].Value = true;
        MyDataGridView.Rows[1].Cells[0].Value = false;
        MyDataGridView.Rows[2].Cells[0].Value = true;
        MyDataGridView.Rows[3].Cells[0].Value = false;
        MyDataGridView.Rows[4].Cells[0].Value = true;

        string strResults = (MyDataGridView.Rows.Cast<DataGridViewRow>()
                           .Where(c => Convert.ToBoolean(r.Cells[0].Value).Equals(true))
                           .Count(s => Convert.ToInt32(t.Cells[0].Value))).ToString();
    }

1 Ответ

0 голосов
/ 02 декабря 2019

Эта ошибка, потому что уже нет переменной с именем r, но есть c, так что это ваше решение, мой друг ^ _ ^

        private void Form1_Load(object sender, EventArgs e)
        {
            MyDataGridView.Columns.Insert(0, new DataGridViewCheckBoxColumn());
            MyDataGridView.Rows.Add(4);
            MyDataGridView.Rows[0].Cells[0].Value = true;
            MyDataGridView.Rows[1].Cells[0].Value = false;
            MyDataGridView.Rows[2].Cells[0].Value = true;
            MyDataGridView.Rows[4].Cells[0].Value = true;

            int strResults = MyDataGridView.Rows.Cast<DataGridViewRow>()
                           .Where(c => Convert.ToBoolean(c.Cells[0].Value).Equals(true)).ToList().Count;
            MessageBox.Show("" + strResults);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...