• 締切済み

C#2010でのdatagridviewについて

C#2010でプログラミング中です。 DetaGridViewに登録済みの内容から任意の1行の内容(文字列)を取得したいのです。 セルを1個ずつ指定して取得することは現在可能です。 ですが、 rows.addで1行を設定できるのだから、1行を配列変数に一気に取得できるのではと考えています。 できるなら、どう言った記述をすれば可能になるのでしょうか(もしかしたら無理)。 どうぞよろしくお願いします。

みんなの回答

noname#251971
noname#251971
回答No.1

質問内容は、 データソースの指定は行わずに 直接DataGridViewにデータを追加する利用方法をしていて、 後でまたDataGridViewから直接データ(文字列)を取得したい。 ループ等で1セルづつ取り出すのはできるが、 もっと簡単に一括取得したい。 という意図かと解釈いたしました。 (間違っていたらすみません) 直接そのような取得を行うメソッドやプロパティはありませんが、 ループの代わりにLINQのメソッドを利用して たとえば以下のような形でstringの配列として取得することは可能です。 var dataRow = dataGridView1.Rows[0]; var rowStrings = dataRow.Cells.Cast<DataGridViewCell>().Select(cell => cell.Value.ToString()).ToArray(); DataGridViewへの追加できるデータは文字列や数値だけではありませんので、 常に上記で良いとは限りませんが、質問内容からはデータが文字列のみとお見受けしました。 # 質問内容とはずれますが、 # DataGridViewを利用するならばやはりデータソースを指定して利用するのが良いかとは思われます。 # 作ろうとしているものの規模や用途などによるかとは思いますが。 # 適切なデータソースを設定していれば、データ自体は弄らずにソートや条件によるフィルタもできますし、 # データ管理と表示の分離にもなります。

関連するQ&A