Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将datagridview1行发送到datagridview2_C# - Fatal编程技术网

C# 如何将datagridview1行发送到datagridview2

C# 如何将datagridview1行发送到datagridview2,c#,C#,我有两个datagridviewdatagridview1和datagridview2datagridview1从db获取所有值,工作正常。我想要的是;在某些情况下,我需要将datagridview1行发送到datagridview2 我的代码是这样的 DataTable table = new DataTable(); dataGridView1.DataSource = table; baglantı = new SqlConnection(); baglantı.ConnectionStr

我有两个datagridview
datagridview1
datagridview2
datagridview1
从db获取所有值,工作正常。我想要的是;在某些情况下,我需要将
datagridview1
行发送到
datagridview2

我的代码是这样的

DataTable table = new DataTable();
dataGridView1.DataSource = table;
baglantı = new SqlConnection();
baglantı.ConnectionString = 

"Server=asdsa;Database=asdsasd;User Id=asdsa;password=adsadsas";
baglantı.Open();

komut = new SqlDataAdapter("SELECT * FROM table" , baglantı);
ds = new System.Data.DataSet();
komut.Fill(ds, "table");
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.Columns[0].HeaderText = "SATICI ADI";
dataGridView1.Columns[1].HeaderText = "ALICI ADI";
dataGridView1.Columns[2].HeaderText = "URUN";
dataGridView1.Columns[3].HeaderText = "ADET";
dataGridView1.Columns[4].HeaderText = "SATICI PUANI";
dataGridView1.Columns[5].HeaderText = "ALICI PUANI";
dataGridView1.Columns[6].HeaderText = "TARIH";

dataGridView2.Columns.Add("Column", "SATICI ADI");
dataGridView2.Columns.Add("Column", "ALICI ADI");
dataGridView2.Columns.Add("Column", "URUN");
dataGridView2.Columns.Add("Column", "ADET");
dataGridView2.Columns.Add("Column", "SATICI PUANI");
dataGridView2.Columns.Add("Column", "ALICI PUANI");
dataGridView2.Columns.Add("Column", "TARIH");

int i = 0;

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    if (i != 20496)
    {
        if (dataGridView1.Rows[i].Cells[0].Value.ToString() == dataGridView1.Rows[i + 1].Cells[0].Value.ToString() && dataGridView1.Rows[i].Cells[1].Value.ToString() == dataGridView1.Rows[i + 1].Cells[1].Value.ToString() && dataGridView1.Rows[i].Cells[2].Value.ToString() == dataGridView1.Rows[i + 1].Cells[2].Value.ToString() && dataGridView1.Rows[i].Cells[3].Value.ToString() == dataGridView1.Rows[i + 1].Cells[3].Value.ToString() && dataGridView1.Rows[i].Cells[4].Value.ToString() == dataGridView1.Rows[i + 1].Cells[4].Value.ToString() && dataGridView1.Rows[i].Cells[5].Value.ToString() == dataGridView1.Rows[i + 1].Cells[5].Value.ToString() && dataGridView1.Rows[i].Cells[6].Value.ToString() == dataGridView1.Rows[i + 1].Cells[6].Value.ToString())
        {
            CurrencyManager currencyManager1 = (CurrencyManager)BindingContext[dataGridView1.DataSource];
            currencyManager1.SuspendBinding();
            dataGridView1.Rows[i].Visible = false;
            currencyManager1.ResumeBinding();

            i = i + 1;
        }
        else
        {
            i = i + 1;
        }
    }
}
这种情况是,

dataGridView1.Rows[i].Visible = false;

在这种情况下,我需要将dataGridView1.Rows[I]发送到dataGridView2.Rows

当您说“发送”时,您的意思是将一行从
dataGridView1
添加到
dataGridView2


您是否考虑过将
dataGridView2
绑定到
BindingList
您可以
Add()
到?

从您之前的评论中,您可以轻松地直接从数据库中获取不同或重复的值,这将更快


此外,查找重复值的逻辑不正确,您正在比较每个连续行的值,但循环需要两个值

只需使用
datagridView2.rows.Add(dataGridview1.rows[i].Cell[0].value,dataGridview1.rows[i].Cell[1].value,…)

İt将修复您的问题

dataGridView2.Rows.Add(dataGridView1.Rows[i])?它表示“提供的行已经属于DataGridView控件。”定义“发送”!它是复制还是移动?将
表2
添加到您的
数据集中,不带任何行,将其绑定到
dataGridView2
,然后将适当的行添加到
表2
,并将其从
表中删除(旧的)。当您说“发送”时,您的意思是表面上将一行从dataGridView1添加到dataGridView2吗?是的,我想看看你的其他评论,如果只是表面的,我想你必须从旧的
DataGridViewRow
中创建一个新的
Add()
。在我的代码中,我试图找到重复的值,当我找到它时,我使用这个代码dataGridView1.Rows[I].Visible=false;因此,当我找到这个重复值时,我需要在datagridview2上查看,因为datagridview1是不同的值,datagridview2是重复的值