--Se aplica el filtro para consultas personalizadas

This commit is contained in:
AbrahamCastilloV
2024-02-06 11:31:17 -07:00
parent a279eb0128
commit 9270398bb4
2 changed files with 160 additions and 5 deletions

View File

@@ -3,7 +3,7 @@
CodeFile="RepContratos.aspx.vb"
Inherits="ListadoContratos" %>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
<asp:Content ID="Content1" ContentPlaceHolderID="E" runat="Server">
Listado de Contratos
</asp:Content>
@@ -30,10 +30,31 @@
.boton {
background: red;
}
.consulta {
padding: 1rem 2rem;
background-color: #2C3E50;
display: flex;
justify-content: space-around;
align-items: center;
margin-bottom:1rem;
}
.consulta_campo {
display: flex;
gap: 1rem;
align-items: center;
width:100%;
}
.consulta_campo label {
color: white;
font-weight: bold;
}
</style>
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
<asp:Content ID="Content3" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UPPAcciones" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<li>
@@ -49,15 +70,117 @@
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:Content ID="Content4" ContentPlaceHolderID="C" runat="Server">
<div class="row my-1" style="margin-right: 10px; margin-top: 10px;" align="right">
<%-- <div class="row my-1" style="margin-right: 10px; margin-top: 10px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvContratos.ClientID) %>"
style="display: inline-block; margin-right: -10px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvContratos.ClientID) %>"
style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier">
</i></a>
</div>
</div>--%>
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="consulta">
<div class="consulta_campo">
<label>Cliente</label>
<ADS:Dropdownlost ID="DdlClientesConsulta" data-metodo="getcliente"
runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"
UsaWebService="true"></ADS:Dropdownlost>
</div>
<div class="consulta_campo">
<label>Estatus:</label>
<div class="col-md-8">
<asp:DropDownList ID="DdlEstatusConsulta" runat="server" Class="table-group-action-input form-control input-inline select2me"
AppendDataBoundItems="true"
Width="100%">
<asp:ListItem Text="Seleccione" Value="" Selected="True"></asp:ListItem>
<asp:ListItem Text="Vigente" Value="1"></asp:ListItem>
<asp:ListItem Text="Terminado" Value="2"></asp:ListItem>
<asp:ListItem Text="Cancelado" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVEstatusConsulta" runat="server" ControlToValidate="DdlEstatusConsulta"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Transporte''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEEstatusConsulta" runat="server" HighlightCssClass="vco"
TargetControlID="RFVEstatusConsulta" Width="400px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="consulta_campo">
<label>Fecha Inicial:</label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy">
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy"
style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>"
runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI"
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left">
</ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI"
PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI"
Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI"
Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpConsulta"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco"
TargetControlID="rfvFechaI" Width="350px">
</ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco"
TargetControlID="cvFechaI" Width="350px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="consulta_campo">
<label>Fecha Final:</label>
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy"
style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>"
runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF"
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left">
</ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF"
PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF"
Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha."
ValidationGroup="GrpConsulta"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF"
Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpConsulta"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco"
TargetControlID="rfvFechaF" Width="350px">
</ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco"
TargetControlID="cvFechaF" Width="350px">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<asp:Button ID="BtnConsulta" runat="server" Text="Consultar" class="btn btn-primary" OnClick="Consultar"
ValidationGroup="GrpConsulta" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpTitulos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
@@ -156,6 +279,7 @@
UsaWebService="true"></ADS:Dropdownlost>
</div>
</div>
<div class="row">
<label class="col-md-4">Servicio:</label>
<div class="col-md-8">

View File

@@ -1,5 +1,6 @@
Option Explicit On
Option Strict On
Imports System.Data.SqlClient
Imports Extensiones
Imports Extensiones.ModExtensiones
@@ -146,4 +147,34 @@ Partial Class ListadoContratos
GvContratos.ExportToExcel("ReporteCompras" & NowADS().ToShortDateString)
End Sub
Protected Sub Consultar(sender As Object, e As EventArgs)
If DdlClientesConsulta.SelectedValue = "" Then
Alert("Debe seleccionar al cliente", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim cliente As Integer = DdlClientesConsulta.SelectedValue.ToEntero
Dim estatus As Integer = DdlEstatusConsulta.SelectedValue.ToEntero
Dim fechaInicial As DateTime = txtFechaI.Text.ToDate
Dim fechaFinal As DateTime = txtFechaF.Text.ToDate
Dim query As String = "SELECT *, ISNULL(Cli.NombreComercial,'') AS NombreComercial FROM Con_Contratos C LEFT JOIN Clientes Cli with(nolock) ON Cli.CveCliente = C.CveCliente WHERE C.CveCliente = @Cliente AND CveContratosEstatus = @Estatus AND FechaInicial BETWEEN @FechaInicial AND @FechaFinal"
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("Conexion").ConnectionString)
Using command As New SqlCommand(query, connection)
command.Parameters.AddWithValue("@Cliente", cliente)
command.Parameters.AddWithValue("@Estatus", estatus)
command.Parameters.AddWithValue("@FechaInicial", fechaInicial)
command.Parameters.AddWithValue("@FechaFinal", fechaFinal)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
GvContratos.DataSource = reader
GvContratos.DataBind()
End Using
End Using
UpTitulos.Update()
End Sub
End Class