掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.NET DataGrid カレント行の値を全て取得するには? (ID:106272)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Y2さん、どうもありがとうございます。 非常に申し訳ないんですが、すっごくオバカな間違いを犯していますた。 実は、RowFilterで抽出しなくても、その前のSelectCaseの部分でクリックされたデータ行は取得しているので、回りくどくする必要はなかったみたいです。 現状ではRowFilterにより抽出したレコードを別のものに格納し、そこのインデックスが0の値をひっぱってきているのですが、インデックス値に取得した行の情報を入れてやることで解決しました。 つまりRowFilterの部分は使用しません。 以下コード ===================================================================== Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown Dim myGrid As DataGrid = CType(sender, DataGrid) Dim hti As System.Windows.Forms.DataGrid.HitTestInfo = myGrid.HitTest(e.X, e.Y) Dim TID As String = "-1" Select Case hti.Type Case System.Windows.Forms.DataGrid.HitTestType.Cell TID = myGrid.Item(hti.Row, 0) myGrid.Select(hti.Row) Case System.Windows.Forms.DataGrid.HitTestType.RowHeader TID = myGrid.Item(hti.Row, 0) End Select If Not TID = "-1" Then TextBox1.Text = DataView1(hti.Row)("Num") End If End Sub ===================================================================== 説明下手ですいませんでした;; ちなみに、RowFilter使う場合なんですが、どうやらこれも自分でものすごい失敗をしていて・・・ DataView1.RowFilter = "Num='" & TID & "'" TextBox1.Text = DataView1(0)("Num") の部分でNumというのをほかのデータにすればそれが引き出せる。とまではよかったのですが、わけもわからずFilter部の"Num"まで変えてしまったがためにデータを抽出できずにエラーとなっていました。 お恥ずかしい限りです^^; Y2さんのご教授くださった方法も試してみようと思います。 ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.