apex_item parte 1
apex_item parte 2
como integrar alertify / plugin
Link demo: user: demo/ pass: demo
Video explicacion:
Lo primero es crear un interactive report con la siguiente consulta, donde ya he creado mis apex_item de datepicker, lista de valores y entrada de texto.
select e.empno , e.ename --, e.deptno --, e.sal --, e.hiredate -- apex items , apex_item.hidden( p_idx => 1 , p_value => e.empno) || apex_item.date_popup2(p_idx => 2 , p_value => e.hiredate , p_date_format => :APP_DATE_TIME_FORMAT , p_size => 20) hiredate , apex_item.select_list_from_lov(p_idx => 3 , p_value => e.deptno , p_lov => 'DEPARTAMENTOS' , p_attributes => 'style="width: 200px;"' , p_show_null => 'NO') deptno , apex_item.text(p_idx => 4 , p_value => e.sal , p_size => 5) sal from emp e
Luego crearemos una accion dinamica para capturar el cambio de algun apex item en la region del reporte.
#empleados_ir tr:gt(1) actualizarEmpleado(this.triggeringElement);
Creamos la funcion en la definicion de la pagina y hacemos el llamado al proceso ajax.
var empno, hiredate, deptno, sal; function actualizarEmpleado(elem){ empno = $(elem).find("input[name='f01']").val(); hiredate = $(elem).find("input[name='f02']").val(); deptno = $(elem).find("select[name='f03']").val(); sal = $(elem).find("input[name='f04']").val();
console.log(empno + ' / ' + hiredate + ' / ' + deptno + ' / ' + sal);
ajax_process_actualizar(empno,hiredate,deptno,sal); } function ajax_process_actualizar(empno,hiredate,deptno,sal){ apex.server.process("ActualizarEmpleado", { x01: empno , x02: hiredate , x03: deptno , x04: sal } , {success: function(pData){ if (pData.ind_error == 1){ alertify.error(pData.mensaje); apex.event.trigger( "#empleados_ir", "apexrefresh" ); } else { alertify.success(pData.mensaje); } } } //, {dataType: "text"} ); }
Creamos el proceso ajax callback, que retorna el mensaje de actualizacion correcta o de error.
begin update emp set hiredate = to_date(apex_application.g_x02,:APP_DATE_TIME_FORMAT) , deptno = apex_application.g_x03 , sal = apex_application.g_x04 where empno = apex_application.g_x01; apex_json.open_object; apex_json.write(p_name => 'mensaje', p_value=> 'Actualizado correctamente'); apex_json.write(p_name => 'ind_error', p_value=> 0); apex_json.close_object; exception when others then apex_json.open_object; apex_json.write(p_name => 'mensaje', p_value=> 'Error al actualizar'); apex_json.write(p_name => 'ind_error', p_value=> 1); apex_json.close_object; end;
0 comentarios:
Post a Comment