diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 9f9cd4c4e..38efe79a1 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -24,8 +24,7 @@ Imports iText.Layout Imports iText.Html2pdf Imports iText.Html2pdf.Resolver.Font Imports iText.Layout.Properties -Imports Newtonsoft.Json - +Imports Newtonsoft.Json Namespace Extensiones #Region "E X T E N S I O N E S" @@ -1647,20 +1646,32 @@ Namespace Extensiones Public Function FBColumn(gv As GridView, name As String) As DataControlField - name = name.ToLower - For Each col As DataControlField In gv.Columns - If TypeOf col Is BoundField Then - Dim field As BoundField = CType(col, BoundField) - If field.DataField.ToLower = name OrElse field.SortExpression.ToLower = name OrElse field.HeaderText.Trim.ToLower = name Then - Return col + name = name.ToLower() + Dim headerCells As TableCellCollection = Nothing + If gv.Columns.Count > 0 Then + For i = 0 To gv.Columns.Count - 1 'Si las columnas son autogeneradas, el nĂºmero de columnas siempre es 0 + Dim col = gv.Columns(i) + If TypeOf col Is BoundField Then + Dim field As BoundField = CType(col, BoundField) + If field.DataField.ToLower() = name OrElse field.SortExpression.ToLower() = name OrElse field.HeaderText.Trim().ToLower() = name Then + Return col + End If + Continue For + ElseIf TypeOf col Is HyperLinkField Then + Dim field As HyperLinkField = CType(col, HyperLinkField) + If field.DataTextField.ToLower() = name OrElse field.SortExpression.ToLower() = name OrElse field.HeaderText.Trim().ToLower() = name Then + Return col + End If + Continue For End If - ElseIf TypeOf col Is HyperLinkField Then - Dim field As HyperLinkField = CType(col, HyperLinkField) - If field.DataTextField.ToLower = name OrElse field.SortExpression.ToLower = name OrElse field.HeaderText.Trim.ToLower = name Then - Return col + If headerCells Is Nothing Then headerCells = gv.HeaderRow?.Cells + If headerCells IsNot Nothing Then + If headerCells(i).Text.Trim().ToLower() = name Then + Return col + End If End If - End If - Next + Next + End If Return Nothing End Function diff --git a/OI/CircularDetalleB.aspx b/OI/CircularDetalleB.aspx index cd5e17ab2..54b74f02c 100644 --- a/OI/CircularDetalleB.aspx +++ b/OI/CircularDetalleB.aspx @@ -234,7 +234,7 @@
- @@ -247,18 +247,11 @@ - - - - - - - - Rol - - - - + + + + + @@ -348,13 +341,15 @@ //} function filtrarx() { //console.log('Entre 3') - //var filtro = sotext($("div[id^='C_DVModalFiltros'] select:first").attr("id")); - //console.log(filtro) - FiltrarTablaStrMulti('<%=GVUsuarios.ClientID %>', null, sotext('<%=DdlRoles.ClientID %>'), $('#TxtBusquedaCorreos').val()); + var filtros = $("div[id^='C_DVModalFiltros'] select").map(function () { + return soval(this.id); + }).get(); + //console.log(filtros) + FiltrarTablaStrMulti('<%=GVUsuarios.ClientID %>', null, $('#TxtBusquedaCorreos').val(), ...filtros); } function ADSBegin() { // loadeventos(); - // showhideUser() + // showhideUser(); } //inicializa tablas select2me etc etc..... function ADSReady() { diff --git a/OI/CircularDetalleB.aspx.cs b/OI/CircularDetalleB.aspx.cs index 9a363615b..4f8fb0736 100644 --- a/OI/CircularDetalleB.aspx.cs +++ b/OI/CircularDetalleB.aspx.cs @@ -157,39 +157,37 @@ public partial class OI_CircularDetalleB : ClsPaginas DVModalFiltrosProveedores.Visible = false; DVModalFiltrosPersonal.Visible = false; DVModalFiltrosCliente.Visible = false; + GVUsuarios.FBColumn("Rol").Visible = false; - switch (RLBTipoEnvioTipo.SelectedValue.ToEntero()) + + switch (RLBTipoEnvioTipo.SelectedValue.ToEntero()) { case 1: DVModalFiltrosUsuarios.Visible = true; - GVUsuarios.Columns[2].Visible = true; + GVUsuarios.FBColumn("Rol").Visible = true; intTipoConsulta = 1; break; case 2: DVModalFiltrosProveedores.Visible = true; - GVUsuarios.Columns[2].Visible = false; intTipoConsulta = 2; break; case 3: DVModalFiltrosPersonal.Visible = true; - GVUsuarios.Columns[2].Visible = false; intTipoConsulta = 3; break; case 4: DVModalFiltrosCliente.Visible = true; - GVUsuarios.Columns[2].Visible = false; intTipoConsulta = 4; break; default: DVModalFiltrosUsuarios.Visible = true; - GVUsuarios.Columns[2].Visible = true; + GVUsuarios.FBColumn("Rol").Visible = true; intTipoConsulta = 1; break; } ClsOIEventos ObjOI = new ClsOIEventos(); - - if (ObjOI.GetCircularCorreos(intTipoConsulta, UsuarioActual.CveEmpresa, -1, DdlSubProyecto.SelectedValue.ToEntero(), DdlCveClasificacionProveedor.SelectedValue.ToEntero(), DdlSubProyectoPersonal.SelectedValue.ToEntero(), DdlClasificacion.SelectedValue.ToEntero())) + if (ObjOI.GetCircularCorreos(intTipoConsulta, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1)) { if (ObjOI.DtResultados.Rows.Count >= 1000) @@ -220,7 +218,7 @@ public partial class OI_CircularDetalleB : ClsPaginas ObjOI.Dispose(); GVUsuarios.DataBind(); - UpModalSeleccionCorreos.Update(); + UpModalSeleccionCorreos.Update(); } protected void GVUsuarios_RowDataBound(object sender, GridViewRowEventArgs e) @@ -527,22 +525,22 @@ public partial class OI_CircularDetalleB : ClsPaginas protected void DdlSubProyecto_SelectedIndexChanged(object sender, EventArgs e) { - ConsultaCorreos(); + //ConsultaCorreos(); } protected void DdlCveClasificacionProveedor_SelectedIndexChanged(object sender, EventArgs e) { - ConsultaCorreos(); + //ConsultaCorreos(); } protected void DdlSubProyectoPersonal_SelectedIndexChanged(object sender, EventArgs e) { - ConsultaCorreos(); + //ConsultaCorreos(); } protected void DdlClasificacion_SelectedIndexChanged(object sender, EventArgs e) { - ConsultaCorreos(); + //ConsultaCorreos(); } protected void LnlActualizarCorreos_Click(object sender, EventArgs e) diff --git a/Scripts/custom.js b/Scripts/custom.js index c630cc62c..5790d58f4 100644 --- a/Scripts/custom.js +++ b/Scripts/custom.js @@ -90,7 +90,7 @@ function FiltrarTabla(idtxt, idtable, idcontador) { } function FiltrarTablaStr(str, idtable, idcontador) { - if (str == '' || str == 'Todos') { $('table#' + idtable + ' tr').css('display', ''); } + if (str == '' || str == "-1" || str == 'Todos') { $('table#' + idtable + ' tr').css('display', ''); } else { $('table#' + idtable + ' tr:not(.ADtr)').css('display', 'none'); $('table#' + idtable + ' tr:contains("' + str + '")').css('display', ''); @@ -106,7 +106,7 @@ function FiltrarTablaStrMulti(idtable, idcontador /*, str1, str2, str3...*/ ) { let strc = ''; for (let i = 2 /*a partir del 3er argumento obtiene los str*/; i < arguments.length; i++) { let str = arguments[i]; - if (str != '' && str != 'Todos') { + if (str != '' && str != "-1" && str != 'Todos') { strc += ':contains("' + str + '")'; } }