目次
経緯
C#でDataGridView
を使ったアプリケーションを作成している中で、「行に連続して名前を追加したい」と考え、今回その方法を学習しました。
具体的には、「森」「小森」「中森」「大森」といった文字列を、1行に繰り返し並べる処理を作成します。
行に文字列をループで追加する実装例
今回の目的は、「空の1行を用意し、その行に対して連続して文字列を追加していく」ことです。以下がそのサンプルコードです。
// カラム数を指定する
int columnCount = 100;
// 表示させたい文字列の配列
string[] names = new string[] { "森", "小森", "中森", "大森" };
// 空の行を1行追加
dataGridView1.Rows.Add();
// 0行目の各セルにnames配列の値を順に入れる(ループ処理)
for (int i = 2, j = 0; i < columnCount && j < names.Length; i++)
{
dataGridView1.Rows[0].Cells[i].Value = names[j];
j = (j + 1) % names.Length;
}
コードの解説
columnCount
:DataGridViewの列数を指定しています。今回は100列を想定しています。names
:追加したい名前を配列で定義します。順に繰り返し表示したい文字列をここに格納します。Rows.Add()
:DataGridViewに空の行を1行追加します。for
文:i
はセルの列インデックスです(2列目から開始)。j
はnames
配列のインデックスです。j = (j + 1) % names.Length
によって、配列の末尾まで到達したら先頭に戻るようにしています(ループ処理)。
この処理を実行すると、DataGridViewの1行目に以下のような繰り返しが表示されます:
森 小森 中森 大森 森 小森 中森 大森 ……
実行時の注意点
i = 2
からループを開始しているのは、1列目・2列目を別用途に使う前提があったためです。必要に応じてi = 0
から開始して問題ありません。DataGridView
の列数が事前に追加されていないと、セルへのアクセス時に例外が発生します。あらかじめ列数の設定または追加を行ってください。
まとめ
本記事では、C#のDataGridView
に対して、1行分に繰り返し文字列を挿入する方法をご紹介しました。
ループと配列、そして%
(剰余)演算子を組み合わせることで、柔軟なパターン表示が可能になります。
このような方法は、日付や時間帯、ユーザー名など、規則的にデータを表示したい場面でも応用できます。
ぜひ、ご自身のプロジェクトでも活用してみてください。
最後までお読みいただき、ありがとうございました。