(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;
}
}
martes, 31 de mayo de 2016
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;
}
}
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;
}
{
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 + "')";
}
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
/// <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
C# - aumentar el tiempo que dura la sesión de un sitio .NET
1. IIS
2.Pinchar el sitio
3. Estado de Sesión
4.Poner cantidad de minutos que se desea tener la sesión activa.
2.Pinchar el sitio
3. Estado de Sesión
4.Poner cantidad de minutos que se desea tener la sesión activa.
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];
___________________________________________________________________
<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');
}
}
<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');
}
}
Suscribirse a:
Entradas (Atom)

