データをdatagridviewに入力して保存ボタンを押した後、実行時に2つのボタン(1つは毎回新しいファイルを保存するため、もう1つは既存のファイルをロードするため)でdatagridviewを使用していますが、ロードを押すと新しいファイルが作成されます(これは問題ありません)ボタンをクリックしてファイルを選択し、編集して保存ボタンを押すと、新しいファイルが再び作成されます。しかし、そのファイルを上書きしたいです(以前に保存された古いファイルに新しく追加されたデータで)。私のコードを修正してください。
namespace DGVIEW_FILING
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string fn = string.Format(@" {0}.txt", DateTime.Now.Ticks);
FileStream FS = new FileStream(fn, FileMode.Create);
// write the text from streamwriter.....
// write the text from streamwriter.....
TextWriter view = new StreamWriter(FS);
int rc = dataGridView1.Rows.Count;
for (int i = 0; i < rc - 1; i++)
{
view.WriteLine(dataGridView1.Rows[i].Cells[0].Value.ToString() + "\t" +
dataGridView1.Rows[i].Cells[1].Value.ToString() + "\t" +
dataGridView1.Rows[i].Cells[2].Value.ToString());
}
view.Close(); // for close the fs file which created earlier......
MessageBox.Show("DATA SAVED!! ");
}
private void button2_Click(object sender, EventArgs e)
{
DialogResult obj = new DialogResult();
//obj = openFileDialog1.ShowDialog();
obj= DialogResult.OK;
// Read the text from text file....
if ( openFileDialog1.ShowDialog() == obj )
{
TextReader done = new StreamReader(openFileDialog1.FileName );
// FileStream fileStream = new FileStream(@" {0}.txt", FileMode.Open, FileAccess.Write);
int row = 0;
string line;
while ((line = done.ReadLine()) != null)
{
string[] columns = line.Split('\t');
dataGridView1.Rows.Add();
for (int i = 0; i < columns.Length; i++)
{
dataGridView1[i, row].Value = columns[i];
}
row++;
}
MessageBox.Show(done.ReadToEnd());
done.Close();
}
}
}
}