Как переместить выбранные строки из одного представления данных в другое представление данных в C #? - PullRequest
0 голосов
/ 07 июня 2018

Я попробовал этот код переместить выбранные строки из datagridview2 в datagridview1. Но когда я нажал кнопку добавления, чтобы переместить выбранные строки из datagridview2.И это также добавило в datagridview 2. Но ошибка произошла из-за исключительной ситуации: « Ссылка на объект не установлена ​​на экземпляр объекта ». Как решить эту проблему.Мой код выглядит следующим образом

 private void button1_Click(object sender, EventArgs e)
    {

        try
        {
            this.dataGridView1.Rows.Clear();
            foreach (DataGridViewRow row in dataGridView2.Rows)
            {
                int n = dataGridView1.Rows.Add();
                bool checkedCell = (bool)dataGridView2.Rows[n].Cells[0].Value;
                if (checkedCell == true)
                {
                    dataGridView1.Rows[n].Cells[0].Value = row.Cells[1].Value;
                    dataGridView1.Rows[n].Cells[1].Value = row.Cells[2].Value;
                    dataGridView1.Rows[n].Cells[3].Value = row.Cells[3].Value;
                }

            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(" Error " + ex.Message);
        }
    }

Мне нужно это сделать. Но данные должны загружаться нажатием кнопки загрузки enter image description here

1 Ответ

0 голосов
/ 07 июня 2018

когда вы добавляете строку в datagridview2, вы должны установить значение логического столбца так же, как:

  dataGridView2.Rows.Add("1", "2", "3", false);

другое решение для этого:

      this.dataGridView1.Rows.Clear();
        foreach (DataGridViewRow row in dataGridView2.SelectedRows.Cast<DataGridViewRow>().ToList())
        {
            this.dataGridView1.Rows.Add(row.Cells[0].Value, row.Cells[1].Value, row.Cells[2].Value);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...