2016-05-20 4 views
0

Я хочу, чтобы только одна ячейка в datagridview была только для чтения, и я пробовал следующие методы, но ни один из них не был успешно выполнен.Read only cell в DataGridView в vb.net

dgv_parametersetting(2, 0).ReadOnly = True 
dgv_parametersetting.Rows(0).Cells(2).ReadOnly = True 

For Each r As DataGridViewRow In dgv_parametersetting.Rows 
     If r.Cells(2).Value = 0 Then 
      r.Cells(2).ReadOnly = True 
     End If 
Next 

Может кто-нибудь пожалуйста, предоставьте мне с синтаксисом, чтобы сделать конкретную ячейку в представлении DataGridView только для чтения.

ответ

0

Вы можете попробовать это - код из кода Проект-:

Private Sub dgv_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles dgv.CellBeginEdit 

If e.RowIndex = 0 And e.ColumnIndex = 1 Then 
    e.Cancel = True 
End If 

End Sub 
+0

это работало, как освобожденный путем предотвращения входа пользователя в ячейку –

0

Никогда не пробовал свойство ReadOnly, но вы могли бы добиться такого же результата через CellValidating-event, я полагаю. Используйте свой код выше + e.Cancel

0

Вы можете Handel событие RowsAdded как:

Private Sub DataGridView1_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) 
Handles DataGridView1.RowsAdded 
If DataGridView1.Rows.Count > 0 AndAlso DataGridView1.ColumnCount >= 2 Then 
    DataGridView1.Rows(e.RowIndex).Cells(2).ReadOnly = True 
End If 
End Sub 
Смежные вопросы