2014-03-04 3 views
2

DataGridViewLinkColumn에 문제가 있습니다. 특정 columnIndex을 클릭하면 링크 열 텍스트를 변경하고 싶습니다. 내가 SAVE에 클릭 텍스트를합니다 (하나를 강조 표시) 변경하려면, 위의 예에서 enter image description here방법 : 클릭 할 때 DataGridview LinkColumn 텍스트 변경

(아래 예 참조).
참고가 : 변화 만 내가 datagridViewColumn 여기에 사용

특정 행과 열 인덱스에 수행해야 내 코드입니다 : (링크 열 표시를 데이터 테이블에 바인딩 한 다음 데이터 그리드에 표시 할 때.)

 Dim da As New SqlDataAdapter("SELECT DateReq AS [Date Requested],NoHrs AS [# OT Hrs.],status,approved_by FROM tableName" _ 
      & "WHERE requested_by='" & lbluserid.Text & "'" _ 
      & " ORDER BY date_request ASC", Constr) 
     Dim dt As New DataTable 

     ds.Clear() 
     da.Fill(dt) 


     dg.DataSource = dt 

     dg.Columns.Add(lnkEdit) 
     lnkEdit.HeaderText = "" 
     lnkEdit.Name = "edit" 
     lnkEdit.Text = "Edit" 
     lnkEdit.UseColumnTextForLinkValue = True 
     dg.Columns(4).Width = 45 
     dg.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter 

     dg.Columns.Add(lnkCancel) 
     lnkCancel.HeaderText = "" 
     lnkCancel.Name = "cancel" 
     lnkCancel.Text = "Cancel" 
     lnkCancel.UseColumnTextForLinkValue = True 
     dg.Columns(5).Width = 45 
     dg.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter 

답변

2

' If your DataGridView is named dataGridView1: ' 
Private Sub dataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dataGridView1.CellContentClick 
    dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = "Saved" 
End Sub 

참고 문제가이다 :

그냥 값의 올바른 세포를 얻을 수는 CellContentClick 이벤트를 처리 및 설정은 Value (UseColumnTextForLinkValue == false 일 때) 중 하나를 표시하거나 DataGridViewLinkColumn (UseColumnTextForLinkValue == true 일 때) 중 Text을 표시합니다.

따라서 링크의 텍스트를 런타임에 변경하려면 UseColumnTextForLinkValue = false을 설정하고 사전에 Edit이라는 텍스트로 셀을 채워야합니다. 예 :

For Each row in dg.Rows 
    row(your_link_column).Value = "Edit" 
Next 
+0

응답 해 주셔서 감사합니다. 작동하지 않습니다. 나는 위의 게시물을 업데이 트합니다. 업데이트 된 게시물을 참조하십시오. – Unknownymous

+0

너와 같음 .. 위 .. 너의 샘플 코드 .. – Unknownymous

+0

그 양식에 단 하나의 DataGrid가 있고 CellContentClick을 두 번 클릭했지만 ... 여전히 작동하지 않습니다. – Unknownymous