Как я могу получить значение из CheckBoxColumn с помощью C # 3.0? - PullRequest
0 голосов
/ 07 мая 2009

Я могу получить текущую выбранную строку следующим образом:

 private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e){

//Cells[0] cause CheckBoxColumn is in that index (first column)
DataGridViewCheckBoxCell temp = (DataGridViewCheckBoxCell)dgv.Rows[e.RowIndex].Cells[0];
}

Итак, теперь я хочу получить все строки, которые были проверены пользователем:

 foreach (var row_ in DataGridView1.Rows.OfType<DataGridViewRow>().
                                        Select(o => o.Cells.OfType<DataGridViewCheckBoxCell>().
                                         Where(r => r.Value.Equals(true))).FirstOrDefault()){

}

Я получаю null reference от отладчика.

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 08 мая 2009

Я подозреваю, что вы ошибаетесь, и что вы действительно хотели написать, это:

foreach (var row_ in
    DataGridView1.Rows.OfType<DataGridViewRow>().
    Where(o => o.Cells.OfType<DataGridViewCheckBoxCell>().
    Any(r => r.Value.Equals(true))))
{

}

Но я не уверен.

0 голосов
/ 08 мая 2009

Это ответ, Хоупс помогает (спасибо mquander за любую идею):

        foreach (var _row in dgvpendientepago.Rows.OfType<DataGridViewRow>().
            Where(o => o.Cells.OfType<DataGridViewCheckBoxCell>().
                Any(r => r.EditedFormattedValue.Equals(true))))
        {
          // do stuff like the following : 
          lst4Pay.Add(new Cobranzaciaseguro
          {
            numeroatencion = Convert.ToInt16(_row.Cells[3].Value),
            estado = 'P'
          });
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...