OI Circular implementación completa de todos los dropdowns con filtrado javascript
-Se modifica FiltrarTablaStrMulti para soportar datos tipo valor -1 -La función FBColumn se mejora
This commit is contained in:
@@ -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
|
||||
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
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
|
||||
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
<div class="col-md-12">
|
||||
|
||||
|
||||
<asp:GridView ID="GVUsuarios" runat="server" AutoGenerateColumns="false" DataKeyNames="Nombre,Correo,Empresa,CveRol,CveSubProyecto"
|
||||
<asp:GridView ID="GVUsuarios" runat="server" AutoGenerateColumns="false" DataKeyNames="Nombre,Correo,Empresa,CveRol,CveSubProyecto,CveClasificacion"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD GVUsuarios" GridLines="None" data-height="200"
|
||||
OnRowDataBound="GVUsuarios_RowDataBound">
|
||||
<Columns>
|
||||
@@ -247,18 +247,11 @@
|
||||
<asp:CheckBox ID="ChkOk" CssClass="ChkOk" Checked="false" runat="server" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate></HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlNombre" runat="server" Text='<%# Eval("Nombre") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate>Rol</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlRol" runat="server" Text='<%# Eval("Rol") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Nombre" HeaderText="Nombre" />
|
||||
<asp:BoundField DataField="Rol" HeaderText="Rol" />
|
||||
<asp:BoundField DataField="CveRol" HeaderText="CveRol" HeaderStyle-CssClass="hidden" ItemStyle-CssClass="hidden" />
|
||||
<asp:BoundField DataField="CveSubProyecto" HeaderText="CveSubProyecto" HeaderStyle-CssClass="hidden" ItemStyle-CssClass="hidden" />
|
||||
<asp:BoundField DataField="CveClasificacion" HeaderText="CveClasificacion" HeaderStyle-CssClass="hidden" ItemStyle-CssClass="hidden" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 + '")';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user