cell readonly no funciona

Iniciado por BlaineMonkey, 24 Febrero 2010, 15:28 PM

0 Miembros y 1 Visitante están viendo este tema.

BlaineMonkey

Tengo un Datagridview que contiene varias columnas.
Quiero que si el valor de una celda es vacío no deje introducir nada. He probado con estableciendo la propiedad readonly a true pero sigue dejando modificar los valores. L única forma para que funcione es en el evento cellformating, pero si lo hago aquí la carga de la tabla se hace muy lenta ya que el evento cellformating es un evento que se ejecuta continuamente. Si modifico la propiedad readonly de las celdas vacías en cellvalidating, cellvalidated, cellvaluechanged no hace caso, sigue dejando modificar.

Me interesa que si alguien quita un valor en una celda y la deja vacía ya no deje modificar esa celda. ¿Cómo puedo hacerlo?

elmaro

Código (vbnet) [Seleccionar]
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i = 1 To 4
            DataGridView1.Columns.Add("Col " & i, "Col " & i)
        Next

        For i = 1 To 10
            DataGridView1.Rows.Add("Row 1-" & i, "Row 2-" & i, "Row 3-" & i, "Row 4-" & i)
        Next
    End Sub

    Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
        If DataGridView1.Item(e.ColumnIndex, e.RowIndex).Value = "" Then
            DataGridView1.Item(e.ColumnIndex, e.RowIndex).ReadOnly = True
        End If
    End Sub

BlaineMonkey

Gracias por tu respuesta.
He tenido que añadir lo mismo para cellclick.