
Seteo de datos masivos en un For
Publicado por Luis Miguel Lopez Subauste (13 intervenciones) el 21/10/2013 17:10:35
Buenos Días estoy tratando de setear setear unos datos en un Grid con mas de 30 mil registros y esta demorando, queria saber si alguien tiene otra opción o un truco para hacerlo rapidamente.
Cuando simplemente recorro el Grid demora un segundo pero ya colocando el setitem demora demasiado .
Este es el código.
Saludos!
long ll_row, ll_size,ll_contador
string ls_tarcod, ls_cencos, ls_cendes, ls_msg
ll_size = dw_detalle.rowcount()
FOR ll_row = 1 TO ll_size
ls_tarcod = dw_detalle.getitemstring(ll_row, "prefactura_detalle1_ccosto_tarcod")
ls_cencos = dw_detalle.getitemstring(ll_row, "cencos_n")
ls_cendes = dw_detalle.getitemstring(ll_row, "cendes_n")
IF ls_cencos <> '000000000000000' THEN
dw_detalle.setitem(ll_row, "cencos", ls_cencos)
dw_detalle.setitem(ll_row, "cendes",ls_cendes)
END IF
hpb_progress.position = ll_row / ll_size * 100
NEXT
messagebox("",string(ll_row))
Cuando simplemente recorro el Grid demora un segundo pero ya colocando el setitem demora demasiado .
Este es el código.
Saludos!
long ll_row, ll_size,ll_contador
string ls_tarcod, ls_cencos, ls_cendes, ls_msg
ll_size = dw_detalle.rowcount()
FOR ll_row = 1 TO ll_size
ls_tarcod = dw_detalle.getitemstring(ll_row, "prefactura_detalle1_ccosto_tarcod")
ls_cencos = dw_detalle.getitemstring(ll_row, "cencos_n")
ls_cendes = dw_detalle.getitemstring(ll_row, "cendes_n")
IF ls_cencos <> '000000000000000' THEN
dw_detalle.setitem(ll_row, "cencos", ls_cencos)
dw_detalle.setitem(ll_row, "cendes",ls_cendes)
END IF
hpb_progress.position = ll_row / ll_size * 100
NEXT
messagebox("",string(ll_row))
Valora esta pregunta


0