Power Builder - Crostab editable, inhabilitar columna

   
Vista:

Crostab editable, inhabilitar columna

Publicado por Paco (23 intervenciones) el 20/11/2009 17:18:24
Hola a todos, tengo un problemita con un dw crostab.
la cosa es asi.
tengo un dw editable que lo utilizo para hacer el ingreso de montos mensuales por año,
(el crostab me muestras los meses, en los que se ingresan montos), pero se me pide que si en determinados meses se inhabilitan para no modificar los montos ya ingresados,
no me permita modificarlo o ingresar un valor.

el valor del monto lo manejo como fila columna y cuando lo recorro hago algo asi.

//Recorrer el Datawindow
If idw_activa.RowCount()>0 Then
idw_activa.Object.DataWindow.Crosstab.StaticMode='yes'
End If
la_total_columna=idw_activa.Object.DataWindow.Column.Count
ll_total_columna=Long(la_total_columna)

FOR ll_fila = 2 TO idw_activa.RowCount()

ls_valor1 = idw_activa.object.det_prg_x_subactividad_ch_codi_bien_serv[ll_fila]
ls_descripcion = idw_activa.object.vc_desc_producto[ll_fila]


//Recorrido por columnas, de acuerdo a la fila actual
For ll_columna = 9 To ll_total_columna
idw_activa.SetColumn(ll_columna)
// valor de la fila. vs columna(primera fila) // valor del mes(01,02,03,04...12)
ls_valor2 = String(idw_activa.GetItemnumber(1,ll_columna,Primary!,true),'00')

// obtengo la cantidad de lo ingresado
// valor de la cantidad actual ingresada(inicial o modificada)
ldc_cantidad2=idw_activa.GetItemNumber(ll_fila,ll_columna)
If IsNull(ldc_cantidad2) Then ldc_cantidad2 = 0.00

Next
NEXT


como ven aqui voy leyendo cada valor que se ponen en cada uno de los meses,
pero no este tipo de dw no tiene o almenos desconozco una propiedad que que al campo por fila,columna lo inhabilite a ser modificado.
si alguien sabe como hacer esto, se lo voy a agradecer.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crostab editable, inhabilitar columna

Publicado por Luis (44 intervenciones) el 28/11/2009 12:08:11
puedes hacerlo algo así como idw_activa.Modify(<columna>.enabled="0") más o menos, el caso es que esto sería para todas las filas, por lo que podrías crear una columna no visible y darle por ejemplo el valor 1, cada vez que modifiques el campo de esa fila, y entonces, le modify sería, en vez de 0 detrás del igual del enabled, el siguiente valor: If(<columnanueva>=1,0,1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar