- ベストアンサー
DataGridViewの複数の指定行を取込む方法
- DataGridViewの特定の行を複数選択して取り込む方法について教えてください。Win2003SERVER(R2)+SRLServer2000+VB.NET2008の組み合わせで行いたいです。
- DataGridView1で表示されているデータのうち、A列の1, 3, 5の行をCtrlキーを押しながら選択しました。その状態でBotan1を押したときに、B列の11, 33, 55を変数に取り込みたいです。
- 1行だけの場合はB(1)=Me.DataGridView1(1, Me.DataGridView1.CurrentCell.RowIndex).Valueというコードを使えば良いと思うのですが、複数行の場合はどうしたら良いでしょうか。ご教授お願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。NoMusicNoLife49 と申します。 私なりに、質問内容を解釈し、サンプルを作成して みました。ご参考ください。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '変数宣言 Dim WkArrayList As ArrayList = Nothing Dim str値取得列名 As String = "B" Dim str選択列名 As String = "A" Dim str値 As String = "" Dim int配列要素数 As Integer = 0 Dim 配列B() As String = Nothing Dim str確認Msg As String = "" Try 'ワークリスト初期化 WkArrayList = New ArrayList 'グリッド行をフェッチ For Each DGVRow As DataGridViewRow In Me.DataGridView1.Rows If DGVRow.Cells(str選択列名).Selected = True Then 'B列の値取得 str値 = DGVRow.Cells(str値取得列名).Value '取得した値をワークリストに登録 WkArrayList.Add(str値) End If Next '要素数を取得 int配列要素数 = WkArrayList.Count - 1 '配列"B"の要素数を変更 配列B = New String(int配列要素数) {} 'ワークリストの内容を一次元配列に設定 WkArrayList.CopyTo(配列B) '確認メッセージ作成 For int要素番号 As Integer = 0 To 配列B.Length - 1 str確認Msg += "配列" + str値取得列名 + "(" + int要素番号.ToString + ")=" + 配列B(int要素番号).ToString + vbCrLf Next If str確認Msg.Count > 0 Then '確認メッセージ出力 MsgBox(str確認Msg) End If Catch ex As Exception str確認Msg = ex.Message MsgBox(str確認Msg, MsgBoxStyle.Critical) End Try End Sub
お礼
返信遅れてすいません。 実際にやってみますので もう少し時間をください。