Windows FormアプリケーションのDataGridView で行全体を選択できるようにする方法を紹介します。
DataGridViewで行全体を選択できるようにしたい場合があります。
ListViewではFullRowSelectプロパティが用意されていますが、DataGridViewではFullRowSelectプロパティはありません。
DataGridViewで行全体を選択できるようにする場合は、SelectionModeプロパティの値を"FullRowSelect"に変更します。
Windows Formアプリケーションを作成し、フォームにDataGrid Viewを配置します。
今回は静的ファイルを読み込むコードを記述します。詳細はこちらの記事を参照してください。
using System.Data;
namespace DataGridViewSelectDemo
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = LoadData("data.txt");
dataGridView1.DataSource = dt;
}
private DataTable LoadData(string filePath)
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("品名");
dataTable.Columns.Add("価格");
dataTable.Columns.Add("在庫");
using (StreamReader sr = new StreamReader(filePath)) {
while (sr.EndOfStream == false) {
string[] rows = sr.ReadLine().Split(',');
DataRow dr = dataTable.NewRow();
if (3 <= rows.Length) {
for (int i = 0; i <= 2; i++) {
dr[i] = rows[i];
}
dataTable.Rows.Add(dr);
}
}
}
return dataTable;
}
}
}
プロジェクトを実行してDataGridViewにデータを表示します。
デフォルトの設定では選択はセル単位になります。
行ごとの選択にする場合は、デザイナー画面で、DataGridViewを選択し、
プロパティウィンドウの[SelectionMode]の値を変更します。プロパティ名の右側の
ドロップダウンボックスをクリックするとドロップダウンリストが表示されますので、[FullRowSelect]の項目をクリックして選択します。
[SelectionMode]プロパティを[FullRowSelect]に変更できました。
プロジェクトを実行します。DataGridViewにデータを表示します。行が選択されていることがわかります。
他のセルをクリックすると行全体が選択される動作になることが確認できます。
DataGridViewの選択を行全体の選択にできました。