Повторное использование DataGridView

У меня есть пользовательский элемент управления с TabControl и DataGridView что я добавил к WinForm с именем "DGV" и написал 2 метода для этого элемента управления, которые выглядят так:

public void addTabs(string str)
{
    tabControl1.TabPages.Add(str, str);
    tabControl1.TabPages[str].Controls.Add(dataGridView1);
}

public void fillDataGrid(string Name, long Size1, long Size2)
{
    int cols = dataGridView1.Rows.Add();
    DataGridViewRow row = dataGridView1.Rows[cols];
    row.Cells["FileName"].Value = Name;
    row.Cells["Size"].Value = Size1 + " Kb";
    row.Cells["CompressedSize"].Value = Size2 + " Kb";
    row.Cells["Format"].Value = "Zip";
}

Итак, в моей форме я делаю это:

foreach (FileInfo f in dInfo.GetFiles("*.zip"))
{
    string n = Path.GetFileNameWithoutExtension(f.Name);
    Dgv.addTabs(n);

    string totalPath = Tx.Text + "\\" + f;

    using (ZipFile zip = ZipFile.Read(totalPath))
    {
        foreach (ZipEntry zp in zip)
        {
            Dgv.fillDataGrid(zp.FileName, zp.CompressedSize, zp.UncompressedSize);
        }
    }
}

При этом только вкладка будет иметь все данные в DataGridView, Создание нового DataGridViews внутри цикла, а затем добавить их в TabControl добьется цели, но проблема в том, что я хочу управлять выбранными элементами в DataGridView ячейки, поэтому мне нужно найти способ правильно добавить данные цикла в соответствующую вкладку DataGridView, Надеюсь, что кто-то может помочь мне найти способ повторно использовать DataGridView за вкладку или найти лучший способ сделать то, что я хочу.

1 ответ

Проверьте класс DataSet и добавьте свои данные к этому. Свяжите свои представления таблицы данных с одним набором данных и используйте любую комбинацию dgvs для редактирования, выбора, изменения и передачи выбранных значений и т. Д.

Другие вопросы по тегам