datagridview нажмите, чтобы переназначить первую строку, не нарушая информацию в наборе данных

Добрый день, новичок прошу помощи.

Я создавал сравнительную диаграмму, используя Visual Studio 2012 и C#.

Требуемая функция состоит в том, чтобы иметь возможность сравнивать исходные файлы csv размером два мегабайта, отображать информацию в табличной форме, которую я бы использовал для двух datagridview, а именно datagridview1 и datagridview2.

Поскольку инструмент работает с источником, связанным со временем, пользовательский запрос был обновлен, чтобы включить возможность повторного выбора первой строки из обеих таблиц, чтобы повторно выровнять первые захваченные сигналы, которые могут, и в большинстве случаев, произошло в разное время.

Код теста 1

    private void realigndataGridView1_MouseDown(object sender, MouseEventArgs e)
    {
        int count = 0;

        if (dataGridView1.Rows.Count > 1)
        {
            if (dataGridView1.Rows[dataGridView1.CurrentRow.Index].IsNewRow != true)
            {
                do
                {
                    dataGridView1.Rows.Remove(dataGridView1.Rows[count]);
                    count ++;
                } while (dataGridView1.Rows[count].Index < dataGridView1.Rows[dataGridView1.CurrentRow.Index].Index);
            }
        }
    }     

Тестовый код 2

    private void btnDelete_Click(object sender, EventArgs e)
    {
        delete_DGV1_selectedrows();
        delete_DGV2_selectedrows();

    }

    private void delete_DGV1_selectedrows()
    {
        List<DataGridViewRow> selectedRows = new List<DataGridViewRow>();

        foreach (DataGridViewRow row_i1 in dataGridView1.SelectedRows)
            selectedRows.Add(row_i1);

        //now delete rows:
        foreach (DataGridViewRow row_i1 in selectedRows)
            dataGridView1.Rows.Remove(row_i1);
    }

    private void delete_DGV2_selectedrows()
    {
        List<DataGridViewRow> selectedRows = new List<DataGridViewRow>();

        foreach (DataGridViewRow row_i2 in dataGridView2.SelectedRows)
            selectedRows.Add(row_i2);

        foreach (DataGridViewRow row_i2 in selectedRows)
            dataGridView2.Rows.Remove(row_i2);
    }

Я попытался использовать идею удаления предыдущих строк перед выбранной строкой, как показано выше. Но чтобы избежать случайного удаления полезных строк, в настоящее время разрабатывается функция отмены.

//=======================================================================//

Мне нужен совет по изменению отображения исключительно на диаграммах datagridview, но изменение не должно касаться задействованных BindingSource.datasource(s).

Я взял Beyond Compare в качестве эталона, но мне сейчас очень сложно создать такую ​​функцию.


person Rickleus B.H. Yoon    schedule 15.06.2016    source источник
comment
Взгляните на некоторые ответы в этой теме.   -  person Arman Peiravi    schedule 15.06.2016