Member 14895792 Ответов: 2

Как добавить значения строк и ячеек из одного datagridview в другой


у них есть два вида datagridview; dgOne и dgTwo,
отображение данных sql в dgOne.
и добавьте checkedlistbox, чтобы выбрать столбец, который нам нужно скопировать.
когда выберите строки и выберите столбец из checkedlistbox.
проблема в том, что cels и строки копируются правильно, но строки и столбцы пусты, значения dgOne не отображаются на dgTwo. ниже приведен код, который я пробовал.

Что я уже пробовал:

else if (chekAll.Checked == false)
                {

                    try
                    {
                        List<string> list = new List<string>();
                        
                        foreach (var item in checkedListBox1.CheckedItems)
                        {
                            list.Add(item.ToString());
                        }

                        DataTable table = new DataTable();

                        for (int i = 0; i < list.Count; i++)
                        {
                            table.Columns.Add(list[i].ToString(), typeof(string));
                        }

                        foreach (DataGridViewRow row in dgOne.Rows)
                        {
                            bool isSelected = Convert.ToBoolean(row.Cells["Column0"].Value);

                            if (isSelected)
                            {

                                DataRow rowitem = table.NewRow();

                                for (int i = 0; i < list.Count; i++)
                                {
                                    int count;
                                    if ("Serial No" == list[i]) {
                                        count = 1;
                                    }
                                    else if ("Register No" == list[i])
                                    {
                                        count = 2;
                                    }
                                    else if ("Acedemic Year" == list[i])
                                    {
                                        count = 3;
                                    }
                                    else if ("Full Name" == list[i])
                                    {
                                        count = 4;
                                    }
                                    else if ("Name with Initial" == list[i])
                                    {
                                        count = 5;
                                    }

                                    else if ("Course" == list[i])
                                    {
                                        count = 6;
                                    }

                                    else if ("Address" == list[i])
                                    {
                                        count = 7;
                                    }

                                    else if ("Telephpne No" == list[i])
                                    {
                                        count = 8;
                                    }

                                    else if ("Province" == list[i])
                                    {
                                        count = 9;
                                    }

                                    else if ("District" == list[i])
                                    {
                                        count = 10;
                                    }

                                    else if ("AGA Division" == list[i])
                                    {
                                        count = 11;
                                    }

                                    else if ("Base of Recruitment" == list[i])
                                    {
                                        count = 12;
                                    }

                                }
                                table.Rows.Add(rowitem);
                            }
                            dgTwo.DataSource = table;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + ex.ToString());
                    }


                }

2 Ответов

Рейтинг:
2

Sandeep Mewara

Вот, взгляните на этот ранее ответленный запрос: Как я могу скопировать выбранные данные столбца и строки из одного datagridview в другой в C# с помощью checkedlistbox.[^]

Кстати, для обучения, взгляните на это: Скопируйте строку datagridview в другой datagridview[^]


Maciej Los

5ed!

Sandeep Mewara

:большой палец вверх:

Рейтинг:
0

Member 14895792

else if (chekAll.Checked == false)
                {

                    try
                    {
                        List<string> list = new List<string>();
                        
                        foreach (var item in checkedListBox1.CheckedItems)
                        {
                            list.Add(item.ToString());
                        }

                        DataTable table = new DataTable();

                        for (int i = 0; i < list.Count; i++)
                        {
                            table.Columns.Add(list[i].ToString(), typeof(string));
                        }

                        foreach(DataGridViewRow row in dgOne.Rows)
                        {
                            bool isSelected = Convert.ToBoolean(row.Cells["Column0"].Value);

                            if (isSelected)
                            {

                                DataRow rowitem = table.NewRow();
                                int count = 0;


                                for (int i = 0; i < list.Count; i++)
                                {
                                    //rowitem[list[i]] = row.Cells[list[i]].ToString();

                                    if ("Serial No" == list[i])
                                    {
                                        count = 1;
                                    }
                                    else if ("Register No" == list[i])
                                    {
                                        count = 2;
                                    }
                                    else if ("Exam No" == list[i])
                                    {
                                        count = 3;
                                    }
                                    else if ("Acedemic Year" == list[i])
                                    {
                                        count = 4;
                                    }
                                    else if ("Full Name" == list[i])
                                    {
                                        count = 5;
                                    }
                                    else if ("Name with Initial" == list[i])
                                    {
                                        count = 6;
                                    }

                                    else if ("Course" == list[i])
                                    {
                                        count = 7;
                                    }

                                    else if ("Address" == list[i])
                                    {
                                        count = 8;
                                    }

                                    else if ("Telephpne No" == list[i])
                                    {
                                        count = 9;
                                    }

                                    else if ("Province" == list[i])
                                    {
                                        count = 10;
                                    }

                                    else if ("District" == list[i])
                                    {
                                        count = 11;
                                    }

                                    else if ("AGA Division" == list[i])
                                    {
                                        count = 12;
                                    }

                                    else
                                    {
                                        count = 13;
                                    }
                                    rowitem[i] = row.Cells[count].Value.ToString();
                                }
                                table.Rows.Add(rowitem);
                            }
                            dgTwo.DataSource = table;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + ex.ToString());
                    }


                }


Maciej Los

Разве это ответ?

Member 14895792

да это работает