C# 循环以读取datagridview列,即使是不可见的列

C# 循环以读取datagridview列,即使是不可见的列,c#,datagridview,visible,C#,Datagridview,Visible,您好,这里有一段代码,我在datagridview中循环遍历每行的列。我只是导出一个CSV类型的文件。此代码正在写入该文件 using (StreamWriter sw = new StreamWriter(logFile)) { for (int i = 0; i < runGrid.Rows.Count; i++) { StringBuilder sb = new StringBuilder(); for (int j = 0;

您好,这里有一段代码,我在datagridview中循环遍历每行的列。我只是导出一个CSV类型的文件。此代码正在写入该文件

using (StreamWriter sw = new StreamWriter(logFile))
   {
    for (int i = 0; i < runGrid.Rows.Count; i++)
       {
       StringBuilder sb = new StringBuilder();
       for (int j = 0; j < runGrid.Columns.Count; j++)
       {
          if (runGrid.Rows[i].Cells[j].Value != null)
          {
               sb.Append(runGrid.Rows[i].Cells[j].Value.ToString() + ",");
          }
          else
          {
          sb.Append(",");
          }
        }
     sw.WriteLine(sb);
      }
    sw.Close();
 }
使用(StreamWriter sw=新StreamWriter(日志文件))
{
对于(int i=0;i

问题是,我的第一列是不可见的(实际上只是一个索引),接下来将很少有其他不可见的。当我在
runGrid.Columns.Count中循环时,它不包括不可见的列。有没有办法将它们包括在内?除了使所有列可见,运行此代码,然后使这些个人返回到
visible=false

它与隐藏列无关之外,我还测试了它以确定。还有别的问题

注意:StringBuilder应在行循环之前实例化,并在列循环之前清除

sb.Clear()

也许您不知何故从columns集合中删除了此列。很好。是的,看起来read/load函数没有读取足够的列。不过已经修好了,谢谢。