Discussion:
Bloquear Fila en un datagrid
(demasiado antiguo para responder)
ArraY
2005-10-29 10:13:01 UTC
Hola Comunidad,

Me gustaria bloquear una fila o filas determinada de un datagrid
enlazado con un adodc cuando una columna del grid (que esta oculta) sea
true por ejemplo.(Cuando digo bloquear me refiero que salga
deshabilitada..vamos que no la pueda ni borrar, ni modificar, ni
meterme dentro de cualquier celda de esa fila o filas)

Ademas si se cumple esa condicion pues que esa fila, me la muestre con
un color.

Toy superdesesperado ya que con esto puedo mantener un historico de lo
metido en mi base de datos y con ello un nuevo usuario que no haya
metido los datos anteriores, no lo pueda modificar ni borrar y sí sus
nuevos datos que el mismo meta pues si los puede manejar.

Un saludo,

Gracias
Javier (Clevertec)
2005-10-29 10:59:02 UTC
Como es evidente que lo que planteas no se puede hacer, y a la espera de que
algún cofrade te recomiende algún otro control, te apuntaré una posible
solución, aunque incompleta para lo que pretendes:

Utilizando el control MSHFlexGrid, que no puede editarse, podrás impedir que
otro usuario modifique la base de datos de forma general.

Para habilitar la edición de las celdas que tú quieres, puedes usar un
control TextBox que se vaya superponiendo en el espacio ocupado por las
sucesivas celdas, con BorderSize=0, Visible=False y el mismo Font que el
HFlexGrid.

Puede ayudarte la explicación "Editar celdas en una hoja de cálculo del
control Hierarchical FlexGrid" que aparece en el MSDN de Visual Basic 6.0.
--
Javier Muñoz
Post by ArraY
Hola Comunidad,
Me gustaria bloquear una fila o filas determinada de un datagrid
enlazado con un adodc cuando una columna del grid (que esta oculta) sea
true por ejemplo.(Cuando digo bloquear me refiero que salga
deshabilitada..vamos que no la pueda ni borrar, ni modificar, ni
meterme dentro de cualquier celda de esa fila o filas)
Ademas si se cumple esa condicion pues que esa fila, me la muestre con
un color.
Toy superdesesperado ya que con esto puedo mantener un historico de lo
metido en mi base de datos y con ello un nuevo usuario que no haya
metido los datos anteriores, no lo pueda modificar ni borrar y sí sus
nuevos datos que el mismo meta pues si los puede manejar.
Un saludo,
Gracias
ArraY
2005-10-30 15:59:50 UTC
Gracias, por todo,

pero vamos siguo sin resolver el problema :(

Un saludo
"Leonardo Azpurua [mvp vb]" <l e o n a r d o (arroba) m v p s (punto) o r g>
2005-10-31 00:30:17 UTC
"ArraY" <***@hotmail.com> escribi� en el mensaje news:***@g44g2000cwa.googlegroups.com...
Hola Comunidad,

Me gustaria bloquear una fila o filas determinada de un datagrid
enlazado con un adodc cuando una columna del grid (que esta oculta) sea
true por ejemplo.(Cuando digo bloquear me refiero que salga
deshabilitada..vamos que no la pueda ni borrar, ni modificar, ni
meterme dentro de cualquier celda de esa fila o filas)
----------------

Hola "ArraY"

Para impedir que se edite el contenido de una celda, interceptas el evento
BeforColEdit del datagrid, y devuelves True en el parametro Cancel si la
columna en cuestion contiene True.

Para impedir que se eleimine, haces lo mismo con el evento BeforeDelete.

Para obtener el texto de una columna en la fila activa, usas la propiedad
Text del objeto Column correspondiente:

If DataGrid.Cols(4).Text = False Then...

----------------------
Ademas si se cumple esa condicion pues que esa fila, me la muestre con un
color.
----------------------
Ahi si es verdad que no te puedo ayudar: nunca he cambiado el color de nada.

Salud!