none
DataGridViewの値の取得方法 RRS feed

  • 質問

  • こんにちは。寒くなってきたのでキーを打つ指が冷たいです。

     

    VB2005を使用しています。

    質問の内容ですが、「DataGridViewの値の取得方法」です。

    ・DataGridViewのselectionModeはFullRowSelectにしてあります。

        DataGridViewのある列をクリックすると、その列のCell(10)の値を取得という動作ですが、Rowsにクリックした列の値がうまく入りません。

    他の質問も閲覧しましたがHitTestの使い方がいまいち理解できません。

    とりあえず作ってみたコードです。

    Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown
            Dim search As String

      ‘CELL10の値を取得
            Dim hit As DataGridView.HitTestInfo
            DataGridView1.HitTest(e.X, e.Y)
            If hit.Type = DataGridViewHitTestType.Cell Then
                search = DataGridView1.Rows(hit.RowIndex).Cells(10).Value
            End If


            Me.WebBrowser1.Navigate(search)
        End Sub

    ご教授お願いいたします。

     

    2006年12月4日 13:24

回答

  • わざわざ Hittest 使わなくても、イベント引数にマウス操作されたセルの行・列のインデックスは渡されていると思いますが?
    2006年12月4日 13:58
  •     Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown

            Dim search As String
            Dim rInd As Integer = DataGridView1.CurrentRow.Index
            search = DataGridView1(10, rInd).Value

        End Sub

    これだけで 良い筈です

    2006年12月5日 5:58

すべての返信

  • わざわざ Hittest 使わなくても、イベント引数にマウス操作されたセルの行・列のインデックスは渡されていると思いますが?
    2006年12月4日 13:58
  •     Private Sub DataGridView1_CellMouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDown

            Dim search As String
            Dim rInd As Integer = DataGridView1.CurrentRow.Index
            search = DataGridView1(10, rInd).Value

        End Sub

    これだけで 良い筈です

    2006年12月5日 5:58
  • できました!

    難しく考えていたみたいです。

    ありがとうございます。

    2006年12月11日 12:49