This commit is contained in:
JPerez
2025-06-12 18:50:54 -07:00
3 changed files with 1075 additions and 57 deletions

View File

@@ -379,12 +379,8 @@ Partial Class Bancos_PagoElectronicoGrupos
DTPendientes = Nothing
End If
ObjBancos.Dispose()
If DTPendientes IsNot Nothing AndAlso DTPendientes.Rows.Count > 0 Then
CargaDatosInformativos()
Else
@@ -436,18 +432,20 @@ Partial Class Bancos_PagoElectronicoGrupos
'–– Determina si la cuenta ya está **habilitada** para el banco elegido en la pantalla ––'
Dim habilitada As Boolean
Select Case True
Case DdlCuenta.SelectedItem.Text.ToUpper.Contains("BANCOMER") _
OrElse DdlCuenta.SelectedItem.Text.ToUpper.Contains("BBVA")
Case DdlCuenta.SelectedItem.Text.ToUpper.Contains("BANCOMER") OrElse DdlCuenta.SelectedItem.Text.ToUpper.Contains("BBVA")
habilitada = (dr("EstatusPagoElectronicoGrupos").ToString = "True")
Case DdlCuenta.SelectedItem.Text.ToUpper.Contains("BAJIO")
habilitada = (dr("EstatusPagoElectronicoGruposBajio").ToString = "True")
Case DdlCuenta.SelectedItem.Text.ToUpper.Contains("SCOTIA")
habilitada = (dr("EstatusPagoElectronicoGruposScotia").ToString = "True")
Case Else
habilitada = False 'Otros bancos → sin bandera propia
habilitada = False 'Otros bancos sin bandera propia
End Select
If Not habilitada Then
@@ -468,6 +466,8 @@ Partial Class Bancos_PagoElectronicoGrupos
Case Else
Interbancarias += 1
End Select
Else
Movimientos += 1
End If
' 3. MOVIMIENTOS de cuentas ya existentes

View File

@@ -1550,11 +1550,59 @@
<asp:GridView ID="gvRecuperacionPorSucursal" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvRecuperacionPorSucursal_RowCreated">
<Columns>
<asp:BoundField DataField="Sucursal" HeaderText="Sucursal" />
<asp:BoundField DataField="Recuperado" HeaderText="Recuperado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PromedioDiasRecuperacion" HeaderText="Avg. Días Recuperación" DataFormatString="{0:N1}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Sucursal</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvRecuperacionPorSucursal.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Recuperado</span>
<div>
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
data-field="Recuperado" />
<label for="chkRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblRecuperado" runat="server"
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Avg. Días Recuperación</span>
<div>
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
data-field="PromedioDiasRecuperacion" />
<label for="chkDiasRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDiasRecuperado" runat="server"
Text='<%# Bind("PromedioDiasRecuperacion", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1572,11 +1620,59 @@
<asp:GridView ID="gvRecuperacionPorCliente" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvRecuperacionPorCliente_RowCreated">
<Columns>
<asp:BoundField DataField="Cliente" HeaderText="Cliente" />
<asp:BoundField DataField="Recuperado" HeaderText="Recuperado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PromedioDiasRecuperacion" HeaderText="Avg. Días Recuperación" DataFormatString="{0:N1}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Cliente</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvRecuperacionPorCliente.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblCliente" runat="server" Text='<%# Bind("Cliente") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Recuperado</span>
<div>
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
data-field="Recuperado" />
<label for="chkRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblRecuperado" runat="server"
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Avg. Días Recuperación</span>
<div>
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
data-field="PromedioDiasRecuperacion" />
<label for="chkDiasRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDiasRecuperado" runat="server"
Text='<%# Bind("PromedioDiasRecuperacion", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1601,13 +1697,95 @@
<asp:GridView ID="gvComprasPorClasificacion" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvComprasPorClasificacion_RowCreated">
<Columns>
<asp:BoundField DataField="Clasificacion" HeaderText="Clasificación" />
<asp:BoundField DataField="Año" HeaderText="Año" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Mes" HeaderText="Mes" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Semana" HeaderText="Semana" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Dia" HeaderText="Día" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Clasificación</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorClasificacion.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblClasificacion" runat="server" Text='<%# Bind("Clasificacion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Año</span>
<div>
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
data-field="Año" />
<label for="chkAño">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblAño" runat="server"
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Mes</span>
<div>
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
data-field="Mes" />
<label for="chkMes">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblMes" runat="server"
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Semana</span>
<div>
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
data-field="Semana" />
<label for="chkSemana">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSemana" runat="server"
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Día</span>
<div>
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
data-field="Dia" />
<label for="chkDia">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDia" runat="server"
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1625,13 +1803,95 @@
<asp:GridView ID="gvComprasPorMarca" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvComprasPorMarca_RowCreated">
<Columns>
<asp:BoundField DataField="Marca" HeaderText="Marca" />
<asp:BoundField DataField="Año" HeaderText="Año" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Mes" HeaderText="Mes" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Semana" HeaderText="Semana" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Dia" HeaderText="Día" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Marca</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorMarca.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblMarca" runat="server" Text='<%# Bind("Marca") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Año</span>
<div>
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
data-field="Año" />
<label for="chkAño">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblAño" runat="server"
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Mes</span>
<div>
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
data-field="Mes" />
<label for="chkMes">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblMes" runat="server"
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Semana</span>
<div>
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
data-field="Semana" />
<label for="chkSemana">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSemana" runat="server"
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Día</span>
<div>
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
data-field="Dia" />
<label for="chkDia">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDia" runat="server"
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1652,13 +1912,95 @@
<asp:GridView ID="gvComprasPorPS" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvComprasPorPS_RowCreated">
<Columns>
<asp:BoundField DataField="ProductoServicio" HeaderText="PS" />
<asp:BoundField DataField="Año" HeaderText="Año" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Mes" HeaderText="Mes" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Semana" HeaderText="Semana" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Dia" HeaderText="Día" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>PS</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorPS.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("ProductoServicio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Año</span>
<div>
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
data-field="Año" />
<label for="chkAño">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblAño" runat="server"
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Mes</span>
<div>
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
data-field="Mes" />
<label for="chkMes">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblMes" runat="server"
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Semana</span>
<div>
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
data-field="Semana" />
<label for="chkSemana">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSemana" runat="server"
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Día</span>
<div>
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
data-field="Dia" />
<label for="chkDia">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDia" runat="server"
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1676,13 +2018,95 @@
<asp:GridView ID="gvComprasPorProveedor" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvComprasPorProveedor_RowCreated">
<Columns>
<asp:BoundField DataField="NombreProveedor" HeaderText="Proveedor" />
<asp:BoundField DataField="Año" HeaderText="Año" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Mes" HeaderText="Mes" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Semana" HeaderText="Semana" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Dia" HeaderText="Día" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Proveedor</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvComprasPorProveedor.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblPS" runat="server" Text='<%# Bind("NombreProveedor") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Año</span>
<div>
<asp:CheckBox ID="chkAño" runat="server" CssClass="header-checkbox"
data-field="Año" />
<label for="chkAño">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblAño" runat="server"
Text='<%# Bind("Año", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Mes</span>
<div>
<asp:CheckBox ID="chkMes" runat="server" CssClass="header-checkbox"
data-field="Mes" />
<label for="chkMes">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblMes" runat="server"
Text='<%# Bind("Mes", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Semana</span>
<div>
<asp:CheckBox ID="chkSemana" runat="server" CssClass="header-checkbox"
data-field="Semana" />
<label for="chkSemana">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSemana" runat="server"
Text='<%# Bind("Semana", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Día</span>
<div>
<asp:CheckBox ID="chkDia" runat="server" CssClass="header-checkbox"
data-field="Dia" />
<label for="chkDia">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDia" runat="server"
Text='<%# Bind("Dia", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1725,12 +2149,75 @@
<asp:GridView ID="gvCxPPorSucursal" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvCxPPorSucursal_RowCreated">
<Columns>
<asp:BoundField DataField="Sucursal" HeaderText="Sucursal" />
<asp:BoundField DataField="Vencido" HeaderText="Vencido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PorVencer" HeaderText="Por Vencer" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Total" HeaderText="Total CxP" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Sucursal</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvCxPPorSucursal.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Vencido</span>
<div>
<asp:CheckBox ID="chkVencido" runat="server" CssClass="header-checkbox"
data-field="Vencido" />
<label for="chkVencido">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblVencido" runat="server"
Text='<%# Bind("Vencido", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Por Vencer</span>
<div>
<asp:CheckBox ID="chkPorVencer" runat="server" CssClass="header-checkbox"
data-field="PorVencer" />
<label for="chkPorVencer">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblPorVencer" runat="server"
Text='<%# Bind("PorVencer", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Total CxP</span>
<div>
<asp:CheckBox ID="chkTotalCxC" runat="server" CssClass="header-checkbox"
data-field="Total" />
<label for="chkTotalCxC">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblTotal" runat="server"
Text='<%# Bind("Total", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1748,12 +2235,75 @@
<asp:GridView ID="gvCxPPorProveedor" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvCxPPorProveedor_RowCreated">
<Columns>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" />
<asp:BoundField DataField="Vencido" HeaderText="Vencido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PorVencer" HeaderText="Por Vencer" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Total" HeaderText="Total CxP" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Proveedor</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvCxPPorProveedor.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblProveedor" runat="server" Text='<%# Bind("RazonSocial") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Vencido</span>
<div>
<asp:CheckBox ID="chkVencido" runat="server" CssClass="header-checkbox"
data-field="Vencido" />
<label for="chkVencido">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblVencido" runat="server"
Text='<%# Bind("Vencido", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Por Vencer</span>
<div>
<asp:CheckBox ID="chkPorVencer" runat="server" CssClass="header-checkbox"
data-field="PorVencer" />
<label for="chkPorVencer">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblPorVencer" runat="server"
Text='<%# Bind("PorVencer", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Total CxP</span>
<div>
<asp:CheckBox ID="chkTotalCxP" runat="server" CssClass="header-checkbox"
data-field="Total" />
<label for="chkTotalCxP">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblTotal" runat="server"
Text='<%# Bind("Total", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1774,11 +2324,59 @@
<asp:GridView ID="gvPagosPorSucursal" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvPagosPorSucursal_RowCreated">
<Columns>
<asp:BoundField DataField="Sucursal" HeaderText="Sucursal" />
<asp:BoundField DataField="Recuperado" HeaderText="Pagado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PromedioDias" HeaderText="Avg. Días" DataFormatString="{0:N1}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Sucursal</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvPagosPorSucursal.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblSucursal" runat="server" Text='<%# Bind("Sucursal") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Pagado</span>
<div>
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
data-field="Recuperado" />
<label for="chkRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblRecuperado" runat="server"
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Avg. Días</span>
<div>
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
data-field="PromedioDiasRecuperacion" />
<label for="chkDiasRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDiasRecuperado" runat="server"
Text='<%# Bind("PromedioDias", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
@@ -1796,11 +2394,59 @@
<asp:GridView ID="gvPagosPorProveedor" runat="server"
CssClass="adssigrid-scroll adssigrid-order table table-hover table-light custom-grid"
AutoGenerateColumns="false"
Width="100%">
Width="100%"
OnRowCreated="gvPagosPorProveedor_RowCreated">
<Columns>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" />
<asp:BoundField DataField="Recuperado" HeaderText="Pagado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="PromedioDias" HeaderText="Avg. Días" DataFormatString="{0:N1}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; align-items: center;">
<span>Proveedor</span>
<asp:HyperLink ID="HypGraficaHeader" runat="server" CssClass="pull-right"
NavigateUrl='<%# "javascript:generarGrafica(\""" & Me.gvPagosPorProveedor.ClientID & "\"");" %>'>
<i class="fa fa-bar-chart"></i>
</asp:HyperLink>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblProveedor" runat="server" Text='<%# Bind("RazonSocial") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Recuperado</span>
<div>
<asp:CheckBox ID="chkRecuperado" runat="server" CssClass="header-checkbox"
data-field="Recuperado" />
<label for="chkRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblRecuperado" runat="server"
Text='<%# Bind("Recuperado", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<div style="display: flex; flex-direction: column; align-items: center;">
<span>Avg. Días</span>
<div>
<asp:CheckBox ID="chkDiasRecuperado" runat="server" CssClass="header-checkbox"
data-field="PromedioDiasRecuperacion" />
<label for="chkDiasRecuperado">Graficar</label>
</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblDiasRecuperado" runat="server"
Text='<%# Bind("PromedioDias", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>

View File

@@ -758,6 +758,378 @@ Partial Class General_Dashboard
End If
End Sub
Protected Sub gvRecuperacionPorSucursal_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Sucursal</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Recuperado", "chkRecuperado", "Recuperado"))
headerRow2.Cells.Add(CreateSubHeaderCell("PromedioDiasRecuperacion", "chkDiasRecuperado", "Avg. Días Recuperación"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvRecuperacionPorCliente_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Cliente</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Recuperado", "chkRecuperado", "Recuperado"))
headerRow2.Cells.Add(CreateSubHeaderCell("PromedioDiasRecuperacion", "chkDiasRecuperado", "Avg. Días Recuperación"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvComprasPorClasificacion_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Clasificación</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Año", "chkAño", "Año"))
headerRow2.Cells.Add(CreateSubHeaderCell("Mes", "chkMes", "Mes"))
headerRow2.Cells.Add(CreateSubHeaderCell("Semana", "chkSemana", "Semana"))
headerRow2.Cells.Add(CreateSubHeaderCell("Dia", "chkDia", "Dia"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvComprasPorMarca_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Marca</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Año", "chkAño", "Año"))
headerRow2.Cells.Add(CreateSubHeaderCell("Mes", "chkMes", "Mes"))
headerRow2.Cells.Add(CreateSubHeaderCell("Semana", "chkSemana", "Semana"))
headerRow2.Cells.Add(CreateSubHeaderCell("Dia", "chkDia", "Dia"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvComprasPorPS_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>PS</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Año", "chkAño", "Año"))
headerRow2.Cells.Add(CreateSubHeaderCell("Mes", "chkMes", "Mes"))
headerRow2.Cells.Add(CreateSubHeaderCell("Semana", "chkSemana", "Semana"))
headerRow2.Cells.Add(CreateSubHeaderCell("Dia", "chkDia", "Dia"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvComprasPorProveedor_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Proveedor</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Año", "chkAño", "Año"))
headerRow2.Cells.Add(CreateSubHeaderCell("Mes", "chkMes", "Mes"))
headerRow2.Cells.Add(CreateSubHeaderCell("Semana", "chkSemana", "Semana"))
headerRow2.Cells.Add(CreateSubHeaderCell("Dia", "chkDia", "Dia"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvCxPPorSucursal_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Sucursal</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Vencido", "chkVencido", "Vencido"))
headerRow2.Cells.Add(CreateSubHeaderCell("Por Vencer", "chkPorVencer", "PorVencer"))
headerRow2.Cells.Add(CreateSubHeaderCell("Total", "chkTotalCxC", "Total CxP"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvCxPPorProveedor_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Proveedor</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Vencido", "chkVencido", "Vencido"))
headerRow2.Cells.Add(CreateSubHeaderCell("Por Vencer", "chkPorVencer", "PorVencer"))
headerRow2.Cells.Add(CreateSubHeaderCell("Total", "chkTotalCxP", "Total CxP"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvPagosPorSucursal_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Sucursal</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Recuperado", "chkRecuperado", "Pagado"))
headerRow2.Cells.Add(CreateSubHeaderCell("PromedioDias", "chkDiasRecuperado", "Avg. Días"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
Protected Sub gvPagosPorProveedor_RowCreated(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells.Clear()
Dim grid As GridView = DirectCast(sender, GridView)
' --- Fila 1 ---
Dim headerRow1 As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Celda principal (Sucursal)
Dim cellSucursal As New TableHeaderCell()
cellSucursal.RowSpan = 2
cellSucursal.VerticalAlign = VerticalAlign.Middle
cellSucursal.Controls.Add(New LiteralControl("<span>Proveedor</span>&nbsp;"))
Dim hypGrafica As New HyperLink()
hypGrafica.NavigateUrl = "javascript:void(0);"
hypGrafica.Attributes.Add("onclick", "return generarGrafica('" & grid.ClientID & "');")
hypGrafica.CssClass = "grafica-icon"
hypGrafica.Controls.Add(New LiteralControl("<i class='fa fa-bar-chart'></i>"))
cellSucursal.Controls.Add(hypGrafica)
headerRow1.Cells.Add(cellSucursal)
headerRow1.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(0, headerRow1)
' --- Fila 2 (Subheaders) ---
Dim headerRow2 As New GridViewRow(1, 0, DataControlRowType.Header, DataControlRowState.Normal)
' Subheaders con checkboxes
headerRow2.Cells.Add(CreateSubHeaderCell("Recuperado", "chkRecuperado", "Recuperado"))
headerRow2.Cells.Add(CreateSubHeaderCell("PromedioDias", "chkDiasRecuperado", "Avg. Días"))
headerRow2.TableSection = TableRowSection.TableHeader
grid.Controls(0).Controls.AddAt(1, headerRow2)
End If
End Sub
''' <summary>
''' Ahora emitimos HTML puro para el checkbox + label,
''' así el label realmente dispara el toggle del input.