第130回 DataGridView の使い方(ToDoリストの作成)
公開日:2014-12-25 更新日:2019-05-13
1. 概要
独り言によるプログラミング講座「第130回 DataGridView の使い方(ToDoリストの作成)」です。
ToDoリストを作成しながら、DataGridView の使い方を説明しています。
ToDoリストを作成しながら、DataGridView の使い方を説明しています。
2. 動画
3. 動画中に書いたソース
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Serialization;
namespace grid
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//★独り言によるプログラミング講座
//■DataGridView の使い方(ToDoリストの作成)
//ToDoリスト
//日付
//優先順位
//内容
load();
}
//保存ボタンクリック
private void btnSave_Click(object sender, EventArgs e)
{
List<ToDo> list = new List<ToDo>();
//DataGridView -> List<ToDo>
for (int row = 0; row < grid.RowCount - 1; row++)
{
ToDo obj = new ToDo();
obj.日付 = grid[0, row].Value.ToString();
obj.優先順位 = grid[1, row].Value.ToString();
obj.内容 = grid[2, row].Value.ToString();
list.Add(obj);
}
//List<ToDo> -> XMLファイル
XmlSerializer serializer =
new XmlSerializer(typeof(List<ToDo>));
using (var fs = new FileStream("todo.xml", FileMode.Create))
{
serializer.Serialize(fs, list);
}
}
private void load()
{
List<ToDo> list;
//XMLファイル -> List<ToDo>
XmlSerializer serializer =
new XmlSerializer(typeof(List<ToDo>));
using (var fs = new FileStream("todo.xml", FileMode.Open))
{
list = (List<ToDo>)serializer.Deserialize(fs);
}
//List<ToDo> -> DataGridView
grid.RowCount = list.Count() + 1;
for (int row = 0; row < grid.RowCount - 1; row++)
{
ToDo obj = list[row];
grid[0, row].Value = obj.日付;
grid[1, row].Value = obj.優先順位;
grid[2, row].Value = obj.内容;
}
}
private void button1_Click(object sender, EventArgs e)
{
grid.AllowUserToAddRows = false;
grid.ReadOnly = false;
grid.Columns[0].HeaderText = "てすと";
grid.Rows[0].HeaderCell.Value = "1";
grid.Rows[1].HeaderCell.Value = "2";
grid.Rows[2].HeaderCell.Value = "3";
}
}
public class ToDo
{
public String 日付;
public String 優先順位;
public String 内容;
}
}