datagridview单击以重新分配第一行而不会干扰数据集中的信息

时间:2016-06-15 03:12:59

标签: c# visual-studio-2012 datagridview beyondcompare3

美好的一天,新手在这里寻求帮助。

我使用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作为基准,但现在我很难创建这样的功能。

0 个答案:

没有答案