我使用了以下代码:
int count = DB.Rows.Count;
for (int row = 0; row < count; row++)
{
int colCount = DB.Rows[row].Cells.Count;
for (int col = 0; col < colCount; col++)
{
filewrite.Write(DB.Rows[row].Cells[col].Value + " ");
}
filewrite.WriteLine("");
}
我想要的是将其重写为foreach循环,但是我得到了这个例外:
'System.Windows.Forms.DataGridViewRowCollection'不包含 'Cells'的定义,没有扩展方法'Cells'接受a 类型的第一个参数 可以找到'System.Windows.Forms.DataGridViewRowCollection'(是 你错过了使用指令或程序集引用?)
我的代码:
foreach (DataGridView row in this.DB.Rows)
{
foreach (DataGridView col in this.DB.Columns)
{
filewrite.Write(DB.Rows.Cells + " ");
}
filewrite.WriteLine("");
}
任何人都可以帮助我或给我一个提示吗?
修改
几乎搞定了!,现在我需要这个循环来读取作为空行自动生成的最后一行:
foreach (DataGridViewRow item in this.DB.Rows)
{
foreach (DataGridViewCell item2 in item.Cells)
{
if(item2.Value != null)
filewrite.Write(item2.Value.ToString() + " ");
}
filewrite.WriteLine("");
}
如何省略最后一个空行?
答案 0 :(得分:0)
尝试使用此代码:
foreach (DataGridViewRow row in this.DB.Rows)
{
// Add this to break the loop when row is last blank row
if (row.IsNewRow)
break;
foreach (DataGridViewCell cell in row.Cells)
{
if (cell.Value != null)
filewrite.Write(cell.Value.ToString() + " ");
}
file.WriteLine();
}
我假设您正在尝试将每行中单元格的所有值打印到文本文件中。如果是这种情况,这应该完成任务。