今回は、DataGridViewを使用した、明細を作成する方法を紹介していきます。
それでは、さっそく見ていきましょう。
DataGridView 配置
まずは、DataGridViewをツールボックスから配置してみましょう。
今回の記事は、DataGridViewのIDをそのまま【dataGridView1】としています。
DataGridView 基本機能
ここからは、DataGridViewの列追加、行追加などのよく使用する基本的な動きを紹介していきます。
列の追加
DataGridViewの列を追加してみましょう。
//列の定義
DataGridViewColumn colname = new DataGridViewColumn();
colname.Name = "name";
colname.HeaderText = "名前";
colname.Width = 80;
colname.CellTemplate = new DataGridViewTextBoxCell();
//列追加
dataGridView1.Columns.Add(colname);
「DataGridViewColumn」の設定を行います。
Name:列の名前
HeaderText:ヘッダーに表示される名称
Width:幅
CellTemplate:セルのタイプを選択「テキストボックス ボタン チェックボックスなど」 今回は、テキストボックスを使用していきます。
列の定義が完了したら、Columns.Addで列を追加します。
これを実行すると、このように「名前」という列が追加されました。
行の追加
続いて行の追加をしていきます。
dataGridView1.Rows.Add();
行の追加は簡単で、Rows.Add():で完了です。
実行すると、一行追加されていることが確認できました。
セルの値設定
続いて、追加した列に値を設定してみましょう。
1行目の1列目に「ひろにも」を設定します。
dataGridView1.Rows[0].Cells[0].Value = "ひろにも";
このように、0から始まるので、注意してください。
列の削除
列の削除方法を紹介していきます。
dataGridView1.Columns.Clear();
すべて削除されるので、初期化したいときなど使用しましょう。
行追加の制御
初期設定の状態だと行の追加が自動で行われてしまいます。
個人的には不便なので、制御方法を紹介していきます。
dataGridView1.AllowUserToAddRows = false;
制御すると自分で行を追加した行のみ表示されるようになります。
まとめ
最後にサンプルソースを紹介していきます。
DataGridViewを自由に使いこなせると、できることが増えるので、是非使いこなしましょう。
using System;
using System.Drawing;
using System.Windows.Forms;
namespace c_sharp
{
public partial class frmDataGridView : Form
{
public frmDataGridView()
{
InitializeComponent();
}
private void frmDataGridView_Load(object sender, EventArgs e)
{
//自動行追加 停止
dataGridView1.AllowUserToAddRows = false;
//列の削除
dataGridView1.Columns.Clear();
//列の定義
DataGridViewColumn colname = new DataGridViewColumn();
colname.Name = "name";
colname.HeaderText = "名前";
colname.Width = 80;
colname.CellTemplate = new DataGridViewTextBoxCell();
//列追加
dataGridView1.Columns.Add(colname);
//2列目の定義
colname = new DataGridViewColumn();
colname.Name = "height";
colname.HeaderText = "身長";
colname.Width = 80;
colname.CellTemplate = new DataGridViewTextBoxCell();
//2列目追加
dataGridView1.Columns.Add(colname);
//1行追加
dataGridView1.Rows.Add();
//1行 値設定
dataGridView1.Rows[0].Cells[0].Value = "ひろにも";
dataGridView1.Rows[0].Cells[1].Value = "160";
//2行目
dataGridView1.Rows.Add();
dataGridView1.Rows[1].Cells[0].Value = "たなか";
dataGridView1.Rows[1].Cells[1].Value = "180";
}
}
}
結果