For Each r As DataGridViewRow In DataGridView1.SelectedRows
〜〜
Next r
で、選択したデータグリッドビューの値を取得しているのですが、複数行を選択した場合、表の下→上の順で取得してしまいます。
表に表示されている順序で取得したいのですが、どうすればよいでしょうか?
> 表の下→上の順で取得してしまいます。
そうとは限らないと思いますよ。Ctrl を押しながら飛び飛びに選択すると、
7 → 1 → 4 → 9 → 12 といった順番になることもありますし。
> 表に表示されている順序で取得したいのですが、どうすればよいでしょうか?
行番号で並び替えて取得するか…
Dim q = From r As DataGridViewRow In DataGridView1.SelectedRows Order By r.Index
For Each r In q
' :
' :
Next
もしくは、For〜Next で選択行を拾うとか、かな?
For rowIndex = 0 To DataGridView1.Rows.Count
Dim r = DataGridView1.Rows(rowIndex)
If Not r.Selected Then Continue For
' :
' :
Next
お返事ありがとうございます。
無事解決しました。
たびたびですが、DataGridViewで別の問題にあたりましたので、新規に質問
させていただきます。
ツイート | ![]() |