C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: データグリッドビュー


(過去ログ 55 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■31312 / inTopicNo.1)  データグリッドビュー
  
□投稿者/ メタボ (1回)-(2009/01/20(Tue) 13:41:32)

分類:[VB.NET/VB2005 以降] 

VB2005で開発しています。

データグリッドビューで選択された行の値を
配列として取得できなくて詰まっています。
何か方法はあるでしょうか?
引用返信 編集キー/
■31315 / inTopicNo.2)  Re[1]: データグリッドビュー
□投稿者/ まさる (52回)-(2009/01/20(Tue) 14:30:28)
まさる さんの Web サイト
No31312 (メタボ さん) に返信
> VB2005で開発しています。
>
> データグリッドビューで選択された行の値を
> 配列として取得できなくて詰まっています。
> 何か方法はあるでしょうか?

どのような目的のために配列として取得したいのでしょうか。

普通は配列としてではなく、DataRowなりDataRowViewなりで扱う物だと思うのですが、
なにか不都合があるのでしょうか?
引用返信 編集キー/
■31318 / inTopicNo.3)  Re[2]: データグリッドビュー
□投稿者/ メタボ (2回)-(2009/01/20(Tue) 14:45:01)
> どのような目的のために配列として取得したいのでしょうか。
>
> 普通は配列としてではなく、DataRowなりDataRowViewなりで扱う物だと思うのですが、
> なにか不都合があるのでしょうか?

選択した行を引数として次の画面に渡したいのです。
DataRow、DataRowViewで選択行を引数として渡せますか?
引用返信 編集キー/
■31329 / inTopicNo.4)  Re[3]: データグリッドビュー
□投稿者/ 魔界の仮面弁士 (969回)-(2009/01/20(Tue) 15:16:12)
No31318 (メタボ さん) に返信
> 選択した行を引数として次の画面に渡したいのです。
DataGridView.SelectedRows プロパティを試してみてください。
Dim rows As DataGridViewSelectedRowCollection = Me.DataGridView1.SelectedRows

この場合、「行選択」が必要なので、DataGridView1.SelectionMode を
FullRowSelect または RowHeaderSelect にしておいてください。


> DataRow、DataRowViewで選択行を引数として渡せますか?
上記方式の場合、DataRow を得るためには、
 For Each row As DataGridViewRow In rows
  Dim rowView As DataRowView = TryCast(row.DataBoundItem, DataRowView)
  If rowView IsNot Nothing Then
   Dim rawRow As DataRow = rowView.Row

  End If
 Next
という処理になります。


ただしデータバインドしていない場合、たとえば
 DataGridView1.DataSource = Nothing
 DataGridView1.RowCount = 10
 DataGridView1.ColumnCount = 5
に設定されていたような場合には、元となる DataRow が無いため、
DataBoundItem は Nothing を返します。
引用返信 編集キー/
■31335 / inTopicNo.5)  Re[4]: データグリッドビュー
□投稿者/ メタボ (3回)-(2009/01/20(Tue) 15:40:25)
>>選択した行を引数として次の画面に渡したいのです。
> DataGridView.SelectedRows プロパティを試してみてください。
> Dim rows As DataGridViewSelectedRowCollection = Me.DataGridView1.SelectedRows
>
> この場合、「行選択」が必要なので、DataGridView1.SelectionMode を
> FullRowSelect または RowHeaderSelect にしておいてください。
>

上記の方法で解決しました。
お二方、ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -