Buen dia, resolvi esto pero lo vi como medio trabajoso, con un array no hay problema, pero cuando es directo sobre el query, entonces grabe en la tabla y actualice el query, pero si el cliente cancela, entonces tengo que hacer un reccorrido del query para dejar la tabla como estaba antes que el usuario TILDARA. Habra alguna otra forma de hacerlo.? si alguien puede compartir su experiencia o forma de hacerlo haber si es mas corta, practica y menos trabajose de como lo hago, gracias, saludos...
DEFINICION DE LA COLUMNA
oBrw:aCols[4]:bEditValue := {|| IIF( oQryADJ:LastRec() == 0, SPACE(10) ,;
( IIF( oQryADJ:adj_adjudicar==0, .f., .t. ) ) ) }
oBrw:aCols[4]:SetCheck() // COLOCA CHECK BOX EN TODA LA COLUMNA, CAMPO DEBE SER LOGICO(.t.,.f.)
EL DOBLE CLICK O SPACIADORA
:bLDblClick := {|nRow|IIF( oQryADJ:adj_adjudicar = 0 ,;
( oQryADJ:adj_adjudicar := 1 ) ,;
( oQryADJ:adj_adjudicar := 0 ) ) ,;
act_check( oQryAdj ) ,;
oQryADJ:REFRESH(), oBrw:REFRESH() }
FUNCION act_check DONDE HAGO EL JUEGO DE ACTUALIZACION TABLA/QUERY
cSql := "UPDATE cronograma SET "
cSql += "adj_adjudicar=" + ClipValue2SQL( IF( oQryAdj:adj_adjudicar == 0, 1, 0 ) )
cSql += " WHERE adj_insc = '" + ClipValue2SQL( oQryAdj:adj_insc ) + "' "
Dios no está muerto...
Gracias a mi Dios ante todo!