Pod przyciskiem mam taka funkcje zapisującą zawartość DataGridView do pliku:
saveFileDialog1->Filter = "Pliki programu Steel (*.steel)|*.txt|Wszystkie pliki (*.*)|*.*";
int col=0, row=0;
int i, j;
String^ linia;
col = Convert::ToInt32(dataGridView1->ColumnCount);
row = Convert::ToInt32(dataGridView1->RowCount);
if ( saveFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) {
StreamWriter^ plik = gcnew StreamWriter(saveFileDialog1->FileName,0,System::Text::Encoding::Default);
for (row=0; row<dataGridView1->RowCount; row++) {
for (col=0; col<dataGridView1->ColumnCount; col++) {
linia += Convert::ToString(dataGridView1->Rows[0]->Cells[col]->Value);
if (col<dataGridView1->ColumnCount) {
linia += " ; ";
}
}
linia += System::Environment::NewLine;
}
plik->WriteLine(linia);
plik->Close();
}
Problem w tym, ze jesli mam grida powiedzmy:
200 | 200 | 0 | 50 | 20 | 70 | 100 | 150 | 250
to nie wszystkie dane znajda się w pliku. Mianowicie wpis ma postac " ; ; ; 50 ; 20 ; ; 100 ; 150 ; " gdyż te wartości wpisałem klikając w komórki. Reszta to albo jako dane przy tworzeniu nowego wiersza albo wysumowanie kilku komórek w wierszu. Nie wiem teraz czy jest to dobra metoda zapisu zawartości do pliku.