[英]Re-using a DataGridView
我有一个带有TabControl
和DataGridView
的自定义控件,该TabControl
已添加到名称为“ 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
的方法,或者找到一种更好的方法来完成我想要的事情。
签出DataSet类,然后向其中添加数据。 将您的datagrid视图绑定到一个数据集,并使用dgvs的任意组合来编辑,选择,修改和传递所选值等
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.