none
如何點選DataGridView取第一欄值 RRS feed

  • 問題

  • 大家好,想請問各位前輩

    小弟我把SelectionMode 屬性設定為 FullRowSelect

     想一次選取一整列資料,並且抓出該列第一欄資料

    目前找到方式相似為:

    Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseClick
            Label1.Text = DataGridView1.CurrentRow.Cells(0).Value
        End Sub

    可是這必須要點擊列首才能取到值,如果我想要不必再點擊列首,

    而是隨便點擊其中一個欄位,並取得該列的第一欄,要如何寫呢?勞煩各位前輩解答了


    2016年10月8日 上午 09:39

解答

所有回覆

  • 試試看:

    Label1.Text = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(0).Value

    2016年10月8日 上午 11:23
  • 不好意思,更改後還是需要點一下列首才會抓值,不知道是不是我哪裡弄錯了

    Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseClick
            Label1.Text = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(0).Value
        End Sub

    2016年10月8日 下午 12:13
  • 嘗試把:

    1)移除“DataGridView1_RowHeaderMouseClick”,改用“SelectionChanged”事件。

    2)參考代碼:

    DataGridView1.MultiSelect = False;

    Private Sub DataGridView1_SelectionChanged(sender As Object, e as EventArgs)
    {
         DataGridView1.SelectedRows(0).Cells(0).Value……
    }

    ASP.NET Forum
    StackOverFlow
    FreeRice Donate
    Issues to report



    2016年10月8日 下午 12:25
  • 如果CurrentCell沒有值, 可以另行給定預設值, 例如:

    Dim RowIndex As Integer=IIF(DataGridView1.CurrentCell.RowIndex=-1, 0, DataGridView1.CurrentCell.RowIndex)
    ...

    再用以下的程式碼取內容:

    Label1.Text = DataGridView1.Rows(RowIndex).Cells(0).Value
    


    2016年10月10日 上午 04:50