所以我有一个datagridProducts,我可以导出到文本文件,但我不希望datasource
的所有列都导出,我不能选择应该去的列textfile,这就是我现在所拥有的
DataGridView
答案 0 :(得分:0)
要更正当前代码,只需在第二个if
循环中添加for
语句,然后绕过您不需要的列,例如if(col==1 || col==3) continue;
。
此处还有另一个选项,使用linq
选择所需的列并使用System.IO.File
将其保存到文件中:
var columns = new int[] { 0, 2 }; /* desired column indexes*/
var rows = dgv.Rows.Cast<DataGridViewRow>().Where(r => !r.IsNewRow)
.Select(r => columns.Select(c => string.Format("{0}", r.Cells[c].Value)));
var headers = string.Join(";", columns.Select(i => dgv.Columns[i].HeaderText));
var lines = rows.Select(x => string.Join(";", x)).ToList();
lines.Insert(0, headers);
System.IO.File.WriteAllLines(@"d:\file.txt", lines);