繁体   English   中英

重用DataGridView

[英]Re-using a DataGridView

我有一个带有TabControlDataGridView的自定义控件,该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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM