Повторное использование 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 для редактирования, выбора, изменения и передачи выбранных значений и т. Д.