我有一个带有TabControl和DataGridView的自定义控件,我已经将其添加到名为"DGV“的WinForm中,并在该控件上编写了两个方法,如下所示:
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);
}
}
}这样做只有一个tabPage会拥有DataGridView中的所有数据。在循环中创建新的DataGridViews,然后将它们添加到TabControl中可以做到这一点,但问题是我想要管理DataGridView单元格中的选定项,因此,我需要找到一种方法将循环数据正确地添加到相应的tabPage DataGridView中。希望有人能帮助我找到一种方法,以重用每个标签的DataGridView或找到一个更好的方法来做我想要的。
发布于 2014-03-14 10:33:36
查看DataSet类并将您的数据添加到其中。将数据网格视图绑定到一个数据集,并使用dgv的任意组合来编辑、选择、修改和传递选定的值等
https://stackoverflow.com/questions/22394697
复制相似问题