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.