Tak jak w temacie - mam problem z dodaniem komórek wiersza datagridview do listy... Oto kod:
private void button2_Click(object sender, EventArgs e)
{
List<string> tabLinia = new List<string>();
string line;
using (StreamWriter sw = new StreamWriter("cennik.txt"))
{
for (int i=0; i<dataGridView1.Rows.Count; i++)
{
for (int c = 0; c < dataGridView1.Columns.Count; c++)
{
tabLinia.Add(dataGridView1[c,i].Value.ToString());
}
line = String.Join("|",tabLinia);
sw.WriteLine(line);
}
}
}
Mając dwa wiersze w datagridview(wiersz pierwszy-a b a a v, drugi-2 3 4 5 6 ), do pliku zapisuje się to w następujący sposób:
a|b|a|a|v
a|b|a|a|v|2|3|4|5|6
Udało mi się znaleźć błąd, brakowało wyczyszczenia listy... ;) Poprawiony kod:
private void button2_Click(object sender, EventArgs e)
{
List<string> tabLinia = new List<string>();
string line;
using (StreamWriter sw = new StreamWriter("cennik.txt"))
{
for (int i=0; i<dataGridView1.Rows.Count; i++)
{
tabLinia.Clear(); // <= tu był pies pogrzebany... :)
for (int c = 0; c < dataGridView1.Columns.Count; c++)
{
tabLinia.Add(dataGridView1[c,i].Value.ToString());
}
line = String.Join("|",tabLinia);
sw.WriteLine(line);
}
}
}
Nie usuwałem tematu, bo może komuś się przyda... :P