2

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

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

4

0 回答 0