martes, 31 de mayo de 2016

C# - Conservar rows seleccionados en grilla JQUERY paginada., y al Procesar, Guardar

(en rojo los que convierten a la grilla en PAGINADA)


var selectedRows = {};  //ARREGLO para preservar la selección
        var objectSelectedRows = []; //OBJETO para preservar ROWS seleccionados

        // Grilla Consulta
        function defineGridConsulta() {
            try {
                var agentsGrid = $('#grid2');
                $("#grid2").jqGrid({
                    caption: "Factura Pagos",
                    datatype: "local",
                    colNames: ['Correlativo', 'RUT Cliente', 'Nombre Cliente', 'Operacion', 'Cuota', 'Fecha Pago', 'Total Iva', 'Total Pagado', 'Fecha Facturacion'],
                    colModel: [{ name: 'correlativo_pago', index: 'correlativo_pago', width: '150px', align: 'center' },
                                { name: 'rut_cliente', index: 'rut_cliente', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'nombre', index: 'nombre', width: '450px', align: 'Left', editable: false, hidden: false },
                                { name: 'operacion', index: 'operacion', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'num_cuota_format', index: 'num_cuota_format', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'fecha_pago', index: 'fecha_pago', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'total_iva', index: 'total_iva', width: '150px', editable: false, align: 'right', hidden: false, formatter: 'currency', formatoptions: { decimalPlaces: 0} },
                                { name: 'total_pagado', index: 'total_pagado', width: '150px', align: 'right', editable: false, hidden: false, formatter: 'currency', formatoptions: { decimalPlaces: 0} },
                                { name: 'facturaa', index: 'facturaa', width: '150px', align: 'center', editable: false, hidden: true}],
                    multiselect: true,
                    loadtext: 'Cargando datos...',
                    emptyrecords: 'No hay resultados encontrados o el ciclo de facturación no corresponde',
                    toppager: true,
                    gridview: true,
                    //rownumbers: true,
                    autoencode: true,
                    ignoreCase: true,
                    sortname: 'correlativo_pago',
                    sortorder: 'desc',
                    pager: $('#pager3'),
                    rowNum: 50,
                    rowList: [25, 50, 100, 150, 200, 250], //se puede comentar al paginar
                    //pgtext: null,
                    viewrecords: true,
                    width: 950,
                    shrinkToFit: true,
                    autowidth: false,
                    forceFit: true,
                    height: 950,
                    editurl: jutils.pageName(),
                    pgbuttons: true,
                    footerrow: true,
                    userDataOnFooter: true,
                    altRows: true,
                    //JC  Para preservar estado de la selección
                    onSelectAll: function (rowIds, status) {
                        if (status === true) {

                            for (var l = 0; l < rowIds.length; l++) {
                                //preservo estado de la selección por pantalla del usuario
                                selectedRows[rowIds[l]] = true;
                                //preservo estado de la selección por pantalla del usuario


                                //Obtengo el(los)row seleccionados y los guardo en mi OBJETO, recorriendo el OBJETO para no repetir los registros al paginar
                                var rowEntradaFor = $("#grid2").jqGrid('getRowData', rowIds[l]);
                                var correlativoEntradaFor = rowEntradaFor["correlativo_pago"];
                                var existe = 0;

                                if (objectSelectedRows.length > 0) {
                                    for (var k = 0; k < objectSelectedRows.length; k++) {
                                        var rowInObject = objectSelectedRows[k];

                                        if (rowInObject != null && rowInObject !== 'undefined')
                                            var correlativoInObject = rowInObject["correlativo_pago"];

                                        if (correlativoInObject === correlativoEntradaFor) {
                                            existe = 1;
                                        }
                                    }
                                    if (existe === 0) {
                                        objectSelectedRows.push(rowEntradaFor);
                                    }
                                } else {
                                    objectSelectedRows.push(rowEntradaFor);
                                }
                                //FIN Obtengo el(los)row seleccionados y los guardo en mi OBJETO, recorriendo el OBJETO para no repetir los registros al paginar
                            }
                        } else {
                            for (var i = 0; i < rowIds.length; i++) {
                                //preservo estado de la selección por pantalla del usuario
                                delete selectedRows[rowIds[i]];
                                //preservo estado de la selección por pantalla del usuario

                                var rowDel = $("#grid2").jqGrid('getRowData', rowIds[i]);
                                var correlativoToEliminar = rowDel["correlativo_pago"];

                                //con este ciclo obtengo el indice a eliminar!
                                for (var j = 0; j < objectSelectedRows.length; j++) {
                                    var rowInObjectDel = objectSelectedRows[j];

                                    if (rowInObjectDel != null && rowInObjectDel !== 'undefined') {
                                        var correlativoInObjectDel = rowInObjectDel["correlativo_pago"];
                                    }

                                    if (correlativoToEliminar === correlativoInObjectDel) {
                                        delete objectSelectedRows[j];
                                    }
                                }
                            }
                        }
                    },
                    onSelectRow: function (rowId, status, e) {
                        if (status === false) {
                            //preservo estado de la selección por pantalla del usuario
                            delete selectedRows[rowId];
                            //preservo estado de la selección por pantalla del usuario

                            var rowDel = $("#grid2").jqGrid('getRowData', rowId);
                            var correlativoToEliminar = rowDel["correlativo_pago"];

                            //con este ciclo obtengo el indice a eliminar!
                            for (var j = 0; j < objectSelectedRows.length; j++) {
                                var rowInObjectDel = objectSelectedRows[j];

                                if (rowInObjectDel != null && rowInObjectDel !== 'undefined')
                                    var correlativoInObjectDel = rowInObjectDel["correlativo_pago"];

                                if (correlativoToEliminar === correlativoInObjectDel) {
                                    delete objectSelectedRows[j];
                                }
                            }

                        } else {
                            //preservo estado de la selección por pantalla del usuario
                            selectedRows[rowId] = status;
                            //preservo estado de la selección por pantalla del usuario


                            //obtengo el row seleccionados y los guardo en un OBJETO
                            var row = $("#grid2").jqGrid('getRowData', rowId);
                            var correlativoEntrada = row["correlativo_pago"];
                            var existe = 0;

                            //recorro el OBJETO para no agregar dos veces el mismo row seleccionado en pantalla por usuario o al moverse en paginación
                            if (objectSelectedRows.length > 0) {
                                for (var i = 0; i < objectSelectedRows.length; i++) {
                                    var rowInObject = objectSelectedRows[i];

                                    if (rowInObject != null && rowInObject !== 'undefined')
                                        var correlativoInArray = rowInObject["correlativo_pago"];

                                    if (correlativoInArray === correlativoEntrada) {
                                        existe = 1;
                                    }
                                }
                                if (existe === 0) {
                                    objectSelectedRows.push(row);
                                }
                            } else {
                                objectSelectedRows.push(row);
                            }
                            //recorro el OBJETO para no agregar dos veces el mismo row seleccionado en pantalla por usuario o al moverse en paginación
                        }
                    },
                    gridComplete: function () {
                        for (var rowId in selectedRows) {
                            agentsGrid.setSelection(rowId, true);
                        }
                    }
                    //FIN JC  Para preservar estado de la selección
                });
                $("#grid2").jqGrid('filterToolbar', { stringResult: false, searchOnEnter: false, defaultSearch: 'cn' });
                $("#grid2").jqGrid('navGrid', "#pager3", { edit: false, add: false, del: false, refresh: false });
                $("#grid2").jqGrid('navButtonAdd', '#pager3', { buttonicon: 'ui-icon-transferthick-e-w', onClickButton: function () { Procesar(); }, caption: 'Facturar Pagos', position: 'last', title: 'Facturar Pagos', cursor: 'pointer' });

            } catch (e) {
                showMessage('Error al momento de buscar datos', 'Información');
                return;
            }
        }

jueves, 26 de mayo de 2016

C# - Conservar rows seleccionados en grilla JQUERY paginada.-

 // Grilla Consulta
        function defineGridConsulta() {
            try {
                var selectedRows = {};
                var agentsGrid = $('#grid2');
                $("#grid2").jqGrid({
                    caption: "Factura Pagos",
                    datatype: "local",
                    colNames: ['Correlativo', 'RUT Cliente', 'Nombre Cliente', 'Operacion', 'Cuota', 'Fecha Pago', 'Total Iva', 'Total Pagado', 'Fecha Facturacion'],
                    colModel: [{ name: 'correlativo_pago', index: 'correlativo_pago', width: '150px', align: 'center' },
                                { name: 'rut_cliente', index: 'rut_cliente', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'nombre', index: 'nombre', width: '450px', align: 'Left', editable: false, hidden: false },
                                { name: 'operacion', index: 'operacion', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'num_cuota_format', index: 'num_cuota_format', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'fecha_pago', index: 'fecha_pago', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'total_iva', index: 'total_iva', width: '150px', editable: false, align: 'right', hidden: false, formatter: 'currency', formatoptions: { decimalPlaces: 0} },
                                { name: 'total_pagado', index: 'total_pagado', width: '150px', align: 'right', editable: false, hidden: false, formatter: 'currency', formatoptions: { decimalPlaces: 0} },
                                { name: 'facturaa', index: 'facturaa', width: '150px', align: 'center', editable: false, hidden: true}],
                    multiselect: true,
                    loadtext: 'Cargando datos...',
                    emptyrecords: 'No hay resultados encontrados o el ciclo de facturación no corresponde',
                    toppager: true,
                    gridview: true,
                    //rownumbers: true,
                    autoencode: true,
                    ignoreCase: true,
                    sortname: 'correlativo_pago',
                    sortorder: 'desc',
                    pager: $('#pager3'),
                    rowNum: 50,
                    rowList: [25, 50, 100, 150, 200, 250],
                    //pgtext: null,
                    viewrecords: true,
                    width: 950,
                    shrinkToFit: true,
                    autowidth: false,
                    forceFit: true,
                    height: 950,
                    editurl: jutils.pageName(),
                    pgbuttons: true,
                    footerrow: true,
                    userDataOnFooter: true,
                    altRows: true,
                    //JC  Para preservar estado de la selección
                    onSelectAll: function (rowIds, status) {
                        if (status === true) {
                            for (var i = 0; i < rowIds.length; i++) {
                                selectedRows[rowIds[i]] = true;
                            }
                        } else {
                            for (var i = 0; i < rowIds.length; i++) {
                                delete selectedRows[rowIds[i]];
                            }
                        }
                    },
                    onSelectRow: function (rowId, status, e) {
                        if (status === false) {
                            delete selectedRows[rowId];
                        } else {
                            selectedRows[rowId] = status;
                        }

                    },

                    gridComplete: function () {
                        for (var rowId in selectedRows) {
                            agentsGrid.setSelection(rowId, true);
                        }
                    }
                    //FIN JC  Para preservar estado de la selección
                });
                $("#grid2").jqGrid('filterToolbar', { stringResult: false, searchOnEnter: false, defaultSearch: 'cn' });
                $("#grid2").jqGrid('navGrid', "#pager3", { edit: false, add: false, del: false, refresh: false });
                $("#grid2").jqGrid('navButtonAdd', '#pager3', { buttonicon: 'ui-icon-transferthick-e-w', onClickButton: function () { Procesar(); }, caption: 'Facturar Pagos', position: 'last', title: 'Facturar Pagos', cursor: 'pointer' });

            } catch (e) {

                showMessage('Error al momento de buscar datos', 'Información');
                return;
            }
        }

jueves, 5 de mayo de 2016

C# - Convertir Grilla en DataTable

 protected DataTable ConvertToDataTable(ASPxGridView _gvDeudas)
        {
            DataTable dt = new DataTable();


            for (int i = 0; i < _gvDeudas.VisibleRowCount; i++)
            {
                DataRow dr;
                dr = dt.NewRow();

                dr["CodigoConcepto"] = _gvDeudas.GetRowValues(i, "CodigoConcepto");
                dr["Rol"] = _gvDeudas.GetRowValues(i, "Rol");
                dr["CodigoComuna"] = _gvDeudas.GetRowValues(i, "CodigoComuna");
                dr["Periodo"] = _gvDeudas.GetRowValues(i, "CodigoComuna");
                dr["Operacion"] = _gvDeudas.GetRowValues(i, "Operacion");
                dr["FechaGasto"] = _gvDeudas.GetRowValues(i, "FechaGasto");
                dr["MontoPesos"] = _gvDeudas.GetRowValues(i, "MontoPesos");
                dr["TipoDocumento"] = _gvDeudas.GetRowValues(i, "TipoDocumento");
                dr["NumeroDocumento"] = _gvDeudas.GetRowValues(i, "NumeroDocumento");
                dr["RutProveedor"] = _gvDeudas.GetRowValues(i, "RutProveedor");
                dr["NombreProveedor"] = _gvDeudas.GetRowValues(i, "NombreProveedor");
                dr["EsElectronico"] = _gvDeudas.GetRowValues(i, "EsElectronico");
                dr["TipoPago"] = _gvDeudas.GetRowValues(i, "TipoPago");

                dt.Rows.Add(dr);
            }

            return dt;


        }

C# - validar tipo de datos de un DataTable

*Por  ejemplo para carga de datos desde un EXCEL.

 private bool ValidaTipoDatoEntrada(DataTable dt,  ref string msjValidaEntrada)
        {
            //97 : CargaDeudaHonorarios 26 : CargaDeudaSeguroCliente

            var columnaError = string.Empty;
            try
            {
                foreach (DataRow row in dt.Rows)
                {
                    if (!string.IsNullOrEmpty(row[0].ToString()))
                    {
                        columnaError = @"Patente Rol - valor: " + row[0];
                        var patenteRol = row[0].ToString();
                    }

                    if (!string.IsNullOrEmpty(row[1].ToString()))
                    {
                        columnaError = @"Operación - valor: " + row[1];
                        var operacion = Convert.ToDecimal(row[1]);
                    }

                    if (!string.IsNullOrEmpty(row[2].ToString()))
                    {
                        columnaError = @"Código Material - valor: " + row[2];
                        var codMaterial = Convert.ToInt32(row[2]);
                    }

                    if (!string.IsNullOrEmpty(row[3].ToString()))
                    {
                        columnaError = @"Fecha - valor: " + row[3];
                        var fecha = Convert.ToDateTime(row[3]);
                    }

                    if (!string.IsNullOrEmpty(row[4].ToString()))
                    {
                        columnaError = @"Monto - valor: " + row[4];
                        var monto = Convert.ToSingle(row[4]);
                    }

                    if (!string.IsNullOrEmpty(row[5].ToString()))
                    {
                        columnaError = @"Tipo Documento - valor: " + row[5];
                        var tipoDocumento = Convert.ToInt32(row[5]);
                    }

                    if (!string.IsNullOrEmpty(row[6].ToString()))
                    {
                        columnaError = @"Numero Documento - valor: " + row[6];
                        var numDocum = Convert.ToDecimal(row[6]);
                    }

                    if (!string.IsNullOrEmpty(row[7].ToString()))
                    {
                        columnaError = @"Rut Beneficiario - valor: " + row[7];
                        var rutBeneficiario = Convert.ToInt32(row[7]);
                    }

                    if (!string.IsNullOrEmpty(row[8].ToString()))
                    {
                        columnaError = @"Nombre Beneficiario - valor: " + row[8];
                        var nombreBeneficiario = row[8].ToString();
                    }

                    if (!string.IsNullOrEmpty(row[9].ToString()))
                    {
                        columnaError = @"Es Docto Electronico - valor: " + row[9];
                        var esDoctoElectronico = row[9].ToString();
                    }

                    if (!string.IsNullOrEmpty(row[10].ToString()))
                    {
                        columnaError = @"Glosa - valor: " + row[10];
                        var glosa = row[10].ToString();
                    }

                    if (!string.IsNullOrEmpty(row[11].ToString()))
                    {
                        columnaError = @"Concepto - valor: " + row[11];
                        var concepto = Convert.ToInt32(row[11]);
                    }
                }
                return true;
            }
            catch (Exception ex)
            {
                msjValidaEntrada = "El formato de entrada no es correcto para la columna: " + columnaError;
                return false;
            }
        }




/*Llamada del Método*/
  if (ValidaTipoDatoEntrada(dt, tipoDeuda, ref msjValidaEntrada))
  {

  }
  else
  {
      fupArchivo.JSProperties["cpError"] = "true";
      fupArchivo.JSProperties["cpMensaje"] = "alert('" + msjValidaEntrada + "')";
    }


jueves, 21 de abril de 2016

C# - checkbox, marcar o desmarcar todo


--control con evento  (ASPX)
_________________________________________
  <dx:ASPxCheckBox ID="chkTodosOp" runat="server" CheckState="Unchecked" Text="Todos Seleccionados"
                                                                                            ValueChecked="1" ValueType="System.Int32" ValueUnchecked="0">
                                                                                            <ClientSideEvents CheckedChanged="function(s,e){SeleccionarTodos(s, e);}"></ClientSideEvents>
                                                                                        </dx:ASPxCheckBox>


--Llamada (Javascript)
_________________________________________
  function SeleccionarTodos(s, e) {
            CallBackMain.PerformCallback(s.GetValue() + ',CheckedAll');
        }

--Ejecución (.CS)
_________________________________________


 #region SELECCIONAR TODOS
                if (e.Parameter != null && e.Parameter.Contains(",") &&
                    e.Parameter.Split(',')[1].ToString().Trim() == "CheckedAll")
                {
                    var chkSelectAll = e.Parameter.Split(',')[0];

                    if (gvListaOperaciones.VisibleRowCount > 0)
                    {
                        for (int i = 0; i < gvListaOperaciones.VisibleRowCount; i++)
                        {
                            var dataCheckBox = gvListaOperaciones.Columns[""] as GridViewDataCheckColumn;
                            var chk = (ASPxCheckBox)gvListaOperaciones.FindRowCellTemplateControl(i, dataCheckBox, "chkDetalle");

                            if (Convert.ToInt32(chkSelectAll) == 1)
                            {
                                chk.Checked = true;
                            }
                            else
                            {
                                chk.Checked = false;
                                limpiaGrillaBienes();
                            }

                        }

                    }

                }
                #endregion



--GRILA (.ASPX)
_________________________________________

<dx:ASPxGridView ID="gvListaOperaciones" ClientInstanceName="gvListaOperaciones"
                                                                    runat="server" DataSourceID="ObjectSourceListaOperaciones" Width="100%" KeyFieldName="operacion"
                                                                    SettingsBehavior-AllowSort="False" Visible="true">
                                                                    <%--      <ClientSideEvents RowDblClick="function(s, e) { RowDblClik(s, e); }" EndCallback="function(s, e) { OnEndCallback(s, e); }">
                                                                    </ClientSideEvents>--%>
                                                                    <SettingsBehavior AllowDragDrop="false" AllowFocusedRow="True" />
                                                                    <SettingsEditing Mode="Inline" />
                                                                    <Settings ShowFooter="True" ShowHorizontalScrollBar="True" ShowVerticalScrollBar="True"
                                                                        VerticalScrollableHeight="200" />
                                                                    <SettingsLoadingPanel Text="Cargando..." />
                                                                    <ClientSideEvents RowDblClick="function(s, e) { RowDblClik(s, e); }" EndCallback="function(s, e) { OnEndCallback(s, e); }" />
                                                                    <Columns>
                                                                        <dx:GridViewDataCheckColumn FieldName="" VisibleIndex="0" Caption="" Width="55">
                                                                            <DataItemTemplate>
                                                                                <dx:ASPxCheckBox ID="chkDetalle" runat="server" ValueChecked="1" ValueType="System.Int32"
                                                                                    ValueUnchecked="0">
                                                                                    <ClientSideEvents CheckedChanged="function(s, e) {CallBackMain.PerformCallback('R');}" />
                                                                                </dx:ASPxCheckBox>
                                                                            </DataItemTemplate>
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                            <PropertiesCheckEdit ValueType="System.Int16" ValueChecked="1" ValueUnchecked="0">
                                                                            </PropertiesCheckEdit>
                                                                        </dx:GridViewDataCheckColumn>
                                                                        <dx:GridViewDataColumn FieldName="operacion" VisibleIndex="0" Width="100px" Caption="Operación"
                                                                            ReadOnly="true" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                        <dx:GridViewDataColumn FieldName="estado" VisibleIndex="1" Caption="Estado" Width="100px"
                                                                            ReadOnly="true" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                        <dx:GridViewDataColumn FieldName="fecha_ingreso_cont" VisibleIndex="2" Width="150px"
                                                                            Caption="Fecha Ing.Contrato" ReadOnly="true" HeaderStyle-HorizontalAlign="Center"
                                                                            CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                        <dx:GridViewDataColumn FieldName="fecha_opc" Width="150px" VisibleIndex="3" Caption="Fecha Op.Compra"
                                                                            ReadOnly="true" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                        <dx:GridViewDataColumn FieldName="rut_cliente"  Width="100px" VisibleIndex="4"
                                                                        Caption="Rut Cliente" ReadOnly="true" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                        <dx:GridViewDataColumn FieldName="nom_cliente"  Width="200px" VisibleIndex="5" Caption="Nom. Cliente" ReadOnly="true" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                         <dx:GridViewDataColumn FieldName="cod_mat"  Width="80px" Caption="Cod. Mat" ReadOnly="true" Visible="false" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>
                                                                         <dx:GridViewDataColumn FieldName=""  Width="100%" Caption="" VisibleIndex="6" ReadOnly="true" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center">
                                                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                            <CellStyle HorizontalAlign="Center">
                                                                            </CellStyle>
                                                                        </dx:GridViewDataColumn>

                                                                    </Columns>
                                                                    <SettingsBehavior AllowDragDrop="False" AllowSort="False" AllowFocusedRow="True">
                                                                    </SettingsBehavior>
                                                                    <SettingsPager Visible="true" Mode="ShowPager" PageSize="1000" />
                                                                    <SettingsEditing Mode="Inline"></SettingsEditing>
                                                                    <Settings ShowFooter="True" ShowVerticalScrollBar="True" ShowHorizontalScrollBar="True">
                                                                    </Settings>
                                                                    <SettingsLoadingPanel Text="Cargando..."></SettingsLoadingPanel>
                                                                    <ImagesEditors>
                                                                        <CheckBoxChecked Height="15px" Url="../../../img/icon/accept.png" Width="15px">
                                                                        </CheckBoxChecked>
                                                                        <CheckBoxUnchecked Height="15px" Url="../../../img/icon/ico-chec.png" Width="15px">
                                                                        </CheckBoxUnchecked>
                                                                    </ImagesEditors>
                                                                </dx:ASPxGridView>

C# - Ejemplo de CRUD Entity Framework

  #region Metodos CRUD Publicos

        /// <summary>
        /// Metodo Select
        /// </summary>
        /// /// <param name="numProyecto"></param>
        /// <param name="msj"></param>
        /// <returns></returns>
        public List<RequerimientoBe> Select(Int32 numProyecto,ref string msj)
        {
            var obj = new List<RequerimientoBe>();
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    var dtContex = context.REQUERIMIENTO.Where(p => p.ID_PROYECTO == numProyecto).ToList();
                    obj.AddRange(dtContex.Select(RequerimientoBe.DbToBe));
                }
            }
            catch (Exception ex)
            {
                msj = ex.Message;
            }
            return obj.ToList();
        }

        /// <summary>
        /// Metodo Insert
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msj"></param>
        public void Insert(RequerimientoBe obj, ref string msj)
        {
            var newId = 0;
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    if (obj != null)
                    {
                        var item = RequerimientoBe.BeToDb(ref obj);
                        context.REQUERIMIENTO.AddObject(item);
                        context.SaveChanges();
                        newId = context.REQUERIMIENTO.Max(p => p.ID_REQUERIMIENTO);
                    }
                }
            }
            catch (Exception ex)
            {
                msj = ex.Message;
            }
        }

        /// <summary>
        /// Metodo Update
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msj"></param>
        public void Update(RequerimientoBe obj, ref string msj)
        {
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    if (obj != null)
                    {
                        var item = RequerimientoBe.BeToDb(ref obj);
                        object originalObject = null;
                        var key = context.CreateEntityKey("REQUERIMIENTO", item);
                        if (!context.TryGetObjectByKey(key, out originalObject)) return;

                        context.REQUERIMIENTO.ApplyCurrentValues(item);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                msj = ex.Message;
            }

        }

        /// <summary>
        /// Metodo Delete
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msj"></param>
        public void Delete(RequerimientoBe obj, ref string msj)
        {
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    if (obj != null)
                    {
                        var item = context.REQUERIMIENTO.FirstOrDefault(p => p.ID_REQUERIMIENTO == obj.ID_REQUERIMIENTO);
                        context.REQUERIMIENTO.DeleteObject(item);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                msj = ex.InnerException != null ? ex.InnerException.Message : ex.Message;

            }
        }
        #endregion

C# - Esconder control (grilla) en formulario, ocultar columna de una grilla.


Ocultar CONTROL de un formulario
---------------------------------------

document.getElementById("tblNomina").style.visibility = "hidden";
document.getElementById("tblNomina").style.display = "none"


Ocultar COLUMNA de una Grilla en JQUERY
---------------------------------------

$("#grid").jqGrid('hideCol', 'nombre de la columna');

miércoles, 20 de abril de 2016

jueves, 14 de abril de 2016

C# - Toma fecha ingresada por el usuario en GRILLA

.ASPX

 <dx:GridViewDataDateColumn Caption="Fecha Pago" FieldName="fecha_pago" VisibleIndex="10"
                                                        CellStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" Visible="true"
                                                        Width="140px">
                                                        <PropertiesDateEdit DisplayFormatString="{0:dd/MM/yyyy}">
                                                        </PropertiesDateEdit>
                                                        <EditItemTemplate>
                                                            <dx:ASPxDateEdit ID="dFecha" runat="server" ClientEnabled="True" Width="135px" Text='<%# DateTime.Now.ToShortDateString() %>'>
                                                                <ClientSideEvents ValueChanged="function(s, e){ cbckPage.PerformCallback('FP,' + s.GetText()); }" />
                                                            </dx:ASPxDateEdit>
                                                        </EditItemTemplate>
                                                    </dx:GridViewDataDateColumn>

__________________________________________________________________

.CS
 var fechaPago = e.Parameter.Trim().Split(',')[1];





___________________________________________________________________

martes, 12 de abril de 2016

C# - Gatillar evento de click de boton B con botón A.

.aspx (BOTÓN A)

   <dx:ASPxButton ID="btnXlsExport" runat="server" class="boton-full" AutoPostBack="false"
                                                                                        Cursor="pointer" EnableDefaultAppearance="False" EnableTheming="False" Height="30px"
                                                                                        Text="Exportar" Width="110px" ClientIDMode="AutoID">
                                                                                        <Image Url="~/img/icon/page_white_excel.png">
                                                                                        </Image>
                                                                                       <ClientSideEvents Click="Export" />
                                                                                    </dx:ASPxButton>


____________________________________

.aspx (BOTÓN B)
  <dx:ASPxButton ID="btnExport" ClientInstanceName="btnExport" runat="server" Text=""
                ClientVisible="false" OnClick="btnExport_Click">
            </dx:ASPxButton>

____________________________________

<script>
   function Export(s, e) {
            if (gvAdmHojaRuta.GetVisibleRowsOnPage() > 0) {
                btnExport.DoClick();

            } else {
                alert('No hay datos para exportar');
            }

        }