none
DataGridView1の項目名の取得 RRS feed

  • 質問

  • VB2005 + SQLServer2005 を使用しています。

    DataGridView1 のコラムのクリックについて質問です:
    以下のようにすると、インデックスは取得できるのがわかったのですが、
    クリックされた項目名そのものを取得するにはどのようにすればよいのでしょうか?

    Private Sub DataGridView1_ColumnHeaderMouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick
        Dim ColumnIndex As Integer = e.ColumnIndex
    End Sub

    2007年6月12日 4:42

回答

すべての返信

  • DataGridView1(e.ColumnIndex, e.RowIndex) がDataGridViewCellを返します。
    あとは、わかりますね。

     

    DataGridViewCell メンバ
      http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridviewcell_members(VS.80).aspx

     

    #項目名ってひょっとして列名?

     

    DataGridViewのヘッダーセルを取得する
     http://dobon.net/vb/dotnet/datagridview/headercell.html

    2007年6月12日 5:05
    モデレータ
  • trapemiya さんの補足になりますが、以下の方法もあります。
    場合によっては以下の2つは異なりますので、今回どちらを取得されたかったのかで使い分けてください。

    グリッドのヘッダ文字 … DataGridView1.Columns(e.ColumnIndex).HeaderText
    バインドした列名 … DataGridView1.Columns(e.ColumnIndex).DataPropertyName

    # 逆に、HeaderCell.Value って知らなかった(^^;

    2007年6月12日 5:30
  • trapemiya様、ありがとうございます。

     

    以下のようにして、クリックしたセルのデータを取得することができました。

    これも知りたいことでした。

     

          Dim DGVC As DataGridViewCell
            DGVC = DataGridView1(e.ColumnIndex, e.RowIndex)
            Dim CellData As String = DGVC.Value

     

    >#項目名ってひょっとして列名?

    失礼しました。そういう意味で質問しました。

    実は、クリックした列名の文字列を取得したいと思います。

    方法がありましたらお教えください。

    2007年6月12日 5:33
  • trapemiya 様。

    すみません、DataGridViewのヘッダーセルを取得するを確認しないで返信しました。


     

    2007年6月12日 5:38
  • TH01様、ありがとうございます。

     

          Dim HeaderName1 As String = DataGridView1.Columns(e.ColumnIndex).HeaderText
       を使用して列名を取得できました。

     

          Dim HeaderName As String = DataGridView1.Columns(e.ColumnIndex).HeaderCell.Value
             trapemiya様の教えでも列名を取得できました。

      

      TH01様、trapemiya様、ありがとうございました。

    2007年6月12日 5:49