こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C#2010でのdatagridviewについて

C#2010でプログラミング中です。
DetaGridViewに登録済みの内容から任意の1行の内容(文字列)を取得したいのです。


セルを1個ずつ指定して取得することは現在可能です。

ですが、

rows.addで1行を設定できるのだから、1行を配列変数に一気に取得できるのではと考えています。
できるなら、どう言った記述をすれば可能になるのでしょうか(もしかしたら無理)。

どうぞよろしくお願いします。

投稿日時 - 2013-01-26 14:56:35

QNo.7911876

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.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を利用するならばやはりデータソースを指定して利用するのが良いかとは思われます。
# 作ろうとしているものの規模や用途などによるかとは思いますが。
# 適切なデータソースを設定していれば、データ自体は弄らずにソートや条件によるフィルタもできますし、
# データ管理と表示の分離にもなります。

投稿日時 - 2013-02-16 01:26:49

あなたにオススメの質問