Я пытаюсь экспортировать только выбранные элементы-флажки в сетке данных. Текущий код у меня работает, но проблема в том, что он экспортирует все, я могу видеть значения True / False в экспортированном CSV-файле, но я не могу понять, как экспортировать только истинные значения и не все. Пример кода приведен ниже.
private void GetCellData()
{
string data = "";
string userDesktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
TextWriter tw = new StreamWriter(userDesktop + "\\" + "export.csv");
// Count each row in the datagrid
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells["Selection_Box"].Value != null &&
(bool)dataGridView1.Rows[i].Cells["Selection_Box"].Value)
{
foreach (DataGridViewCell cell in dataGridView1.Rows[i].Cells)
{
data += (cell.Value + ",");
}
data += "\n";
}
else
{
continue;
}
}
tw.WriteLine(data, "data");
tw.Close();
}
Флажок в сетке данных «Selection_Box» является DataGridViewCheckBoxColumn. ExampleExport просто связан с кнопкой «Экспорт». Когда пользователь устанавливает флажок в сетке данных и нажимает «Экспорт», файл CSV сбрасывается на рабочий стол со значениями, аналогичными перечисленным ниже.
True , 3,1, Piping, Manual, RTD, 2,45 Ax,
True , 4,1, Piping, Manual, RTD, 2,60 Axe,
True, 5,1, Piping, Manual, RTD, 1,5,45 C,
False, 6,1, Piping, ручной, RTD, 2,45 Axe,
False, 8,1, Piping, Manual, RTD, 1,5,45 C,
False, 29,1, Piping, ручной, RTD, 2,45 C,
РЕДАКТИРОВАТЬ: Спасибо за указание мне в правильном направлении, это очень ценится. В итоге я настроил оператор if на:
if (dataGridView1.Rows[i].Cells["Selection_Box"].Value != null &&
(bool)dataGridView1.Rows[i].Cells["Selection_Box"].Value)
Теперь выводятся выбранные значения.