9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
プログラミング講座

第130回 DataGridView の使い方(ToDoリストの作成)

公開日:2014-12-25
更新日:2019-05-13

1. 概要

独り言によるプログラミング講座「第130回 DataGridView の使い方(ToDoリストの作成)」です。
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 内容;
    }

}

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲