ToDoアプリを作成しようと試みており、
やることのフォームに書き込んだ内容が登録ボタンをおすことでdatagridviewのやることのcellの部分に追加される内容となっております。
今回datagridviewの、期限およびやることの部分に書いてあるテキストを保存ボタンをおすことで、txtファイルに書き込みたいのですがいざ実行してファイルを作成しても、以下の図のようになにも表示されません。
ソースコードの中で間違っている部分をご指摘いただきたく今回質問させていただきます。
以下 テキストをファイルに書き込むソースコードです。
dataGridViewの名前をdataGridViewToDo、saveFileDialogToDoはツールボックスの中にあるコントロールです。
ーーーーーーーーーーーーーーーーーーーーーーー
if (saveFileDialogToDo.ShowDialog() == DialogResult.OK) { // ファイルの生成 string file = saveFileDialogToDo.FileName; StreamWriter sw = new StreamWriter(file, false, Encoding.GetEncoding("utf-8")); // ファイルの保存(メソッドの呼び出し) sw.Write(dataGridViewToDo.Text); // ファイルの書き込み、ファイルを閉じる(メソッド呼び出し) sw.Close(); }
ーーーーーーーーーーーーーーーーーーーーーーーー
datagridviewのcellにかいてある値を取得する記述方法がわからず、sw.Write(dataGrideViewToDo.Text)のように記述しました。
おそらく()の中のdataGridViewToDoの部分の指定が間違っているのではないかと考えているのですが、こちらはまちがっておりませんでしょうか?間違っている場合正しくはどのように記述すべきでしょうか?
つたない文章で恐れ入りますが、よろしくお願いいたします。
以下作成したいものの全ソースコードです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } /// <summary> /// 登録クリック処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonRegister_Click(object sender, EventArgs e) { // 期限 string date = dateTimePickerDeadline.Text; // やること string toDo = textBoxToDo.Text; // 行追加 dataGridViewToDo.Rows.Add(false, date, toDo); } private void ButtonDelete_Click(object sender, EventArgs e) { // 行全削除 dataGridViewToDo.Rows.Clear(); } private void DataGridViewToDo_CellContentClick(object sender, DataGridViewCellEventArgs e) { // 条件分岐でチェックをつけたり消したり // これはどこのサイトからとってきたのか DataGridViewCheckBoxCell cell = (DataGridViewCheckBoxCell)dataGridViewToDo[0, e.RowIndex]; if (cell.Value.ToString() == "False") { dataGridViewToDo.Rows[e.RowIndex].SetValues(true); } else { dataGridViewToDo.Rows[e.RowIndex].SetValues(false); } } private void ButtonSave_Click(object sender, EventArgs e) { // テキストをファイルに書き込む // https://www.ipentec.com/document/csharp-text-save-to-file#section_10 このサイトからとってきた if (saveFileDialogToDo.ShowDialog() == DialogResult.OK) { // ファイルの生成 string file = saveFileDialogToDo.FileName; StreamWriter sw = new StreamWriter(file, false, Encoding.GetEncoding("utf-8")); // ファイルの保存(メソッドの呼び出し) string ToDoData = dataGridViewToDo.Text; sw.Write(ToDoData); // ファイルの書き込み、ファイルを閉じる(メソッド呼び出し) sw.Close(); }
}