我有一个带有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传递给另一个类而不是主类呢?
答案 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)
{
//导出代码
}