在主类之外的另一个类中读取datagridview

时间:2015-09-11 05:07:22

标签: c# winforms function class datagridview

我有一个带有datagridview的表单,我想在另一个类中使用它,从中导出数据。

我有这个导出功能:

public void exportWebsite(DataGridView gridIn, string outputFile)
{
    //test to see if the DataGridView has any rows
    if (gridIn.RowCount > 0)
    {
        string value = "";
        DataGridViewRow dr = new DataGridViewRow();
        StreamWriter swOut = new StreamWriter(outputFile);

        swOut.Write(gridIn.Columns[9].HeaderText);

        swOut.WriteLine();

        //write DataGridView rows to csv
        for (int j = 0; j <= gridIn.Rows.Count - 1; j++)
        {
            if (j > 0)
            {
                swOut.WriteLine();
            }

            dr = gridIn.Rows[j];


            if (dr.Cells[9].Value.ToString() == " " || dr.Cells[9].Value.ToString() == null || dr.Cells[9].Value.ToString() == "")
            {
                value = " ";
            }
            else
            {
                value = dr.Cells[9].Value.ToString();
            }
            swOut.Write(value);

        }
        swOut.Close();
    }
}

那是在Form的同一个类中,但我想从&#34;外部&#34;进行导出。上课,不同于主要课程。如何在那里调用datagridview?我尝试使用外围&#34; DataGridView dgv&#34;在课堂定义中,但它并不存在这样的事情。

所以,我的问题是如何将datagridview传递给另一个类而不是主类呢?

1 个答案:

答案 0 :(得分:-1)

private void yourButton_Click(object sender,EventArgs e)
{

CustomExternalClass CEC = new CustomExternalClass();

CEC.ExportDataGridViewData(DGV);

}

在CustomExternalClass中你需要在参数中指定完整的命名空间路径,它可能还需要为GAC的Datagridview dll路径提供参考路径

public void ExportDataGridViewData(System.Windows.Forms.DataGridViewDataGridView dgv)
{

//导出代码

}