none
請問我要如何取得DataGridView目前選取的某一列的某一欄的值 RRS feed

  • 問題

  • 您好:

        開發環境:vs2008 

    請問我要如何取得DataGridView目前選取的某一列的某一欄的值
    我是這樣寫的(此時我是停留在rowindex=0)
    textbox1.text = Me.DataGridView1.Item(Me.DataGridView1.CurrentRow.Index, 0).ToString
    但是textbox1.text 的值是  "DataGridViewTextBoxCell { ColumnIndex=0, RowIndex=0 }"
    只抓的到這個cell的index,但抓不到寫的值,如:1001

    但當我停留在除了rowindex=0 的列,如rowindex=6時,就會出現下列錯誤訊息:

    「索引超出範圍。必須為非負數且小於集合的大小。 參數名稱: index」

    不知道是哪裡寫錯了呢?

    謝謝您 ^^


    2009年11月10日 上午 07:49

解答

  • DataGridView1.Rows(1).Cells(1).Value.ToString()

    DataGridView1.CurrentRow.Cells(1).Value.ToString()

    把MSDN文件相關好好看一遍
    [DataGridView 類別 ]
    [DataGridViewCell 類別 ]
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月10日 上午 08:30
    版主

所有回覆

  • DataGridView1.Rows(1).Cells(1).Value.ToString()

    DataGridView1.CurrentRow.Cells(1).Value.ToString()

    把MSDN文件相關好好看一遍
    [DataGridView 類別 ]
    [DataGridViewCell 類別 ]
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年11月10日 上午 08:30
    版主
  •     Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
    
            If e IsNot Nothing Then
                If e.Value IsNot Nothing Then
                    Try
                        Me.TextBox2.Text = e.Value.ToString
    
                    Catch ex As FormatException
                        MsgBox("{0} is not a valid date.", e.Value.ToString())
                    End Try
                End If
            End If
    
        End Sub

    逐步解說:建立未繫結的 Windows Form DataGridView 控制項

    這個也可試試,不曉得是您要的嗎...
    2009年11月10日 上午 08:43