Option Explicit On Option Strict On Imports System.Data Imports Extensiones Partial Class Contabilidad2_RepAnexoCatalogoCC Inherits ClsPaginas #Region " PROPIEDADES " Public Property CveCuenta As Integer Get Return ViewState("CveCuenta").ToString.ToEntero End Get Set(value As Integer) ViewState("CveCuenta") = value End Set End Property Private Property listacolores As List(Of String) Get Return DirectCast(ViewState("listacolores"), List(Of String)) End Get Set(value As List(Of String)) ViewState("listacolores") = value End Set End Property Private Property listaCampos As List(Of String()) Get Return DirectCast(ViewState("listaCampos"), List(Of String())) End Get Set(value As List(Of String())) ViewState("listaCampos") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then listacolores = New List(Of String) listaCampos = New List(Of String()) listacolores.Add("#FF0F00") listacolores.Add("#FF6600") listacolores.Add("#F8FF01") listacolores.Add("#04D215") listacolores.Add("#2A0CD0") listacolores.Add("#8A0CCF") listacolores.Add("#CD0D74") listacolores.Add("#754DEB") listacolores.Add("#DDDDDD") listacolores.Add("#999999") listacolores.Add("#000000") listacolores.Add("#FF0F00") 'Dim EjercicioParametro, SubProyectoParametro, DivisorParametro As Integer 'CveCuenta = IfNull(Request("C"), "-1").ToString.ToEntero 'EjercicioParametro = IfNull(Request("E"), "-1").ToString.ToEntero 'SubProyectoParametro = IfNull(Request("S"), "-1").ToString.ToEntero 'DivisorParametro = IfNull(Request("D"), "-1").ToString.ToEntero Dim EjercicioParametro, SubProyectoParametro, DivisorParametro, Periodo As Integer CveCuenta = IfNull(Request("CveCuenta"), "-1").ToString.ToEntero EjercicioParametro = IfNull(Request("Ejercicio"), "-1").ToString.ToEntero SubProyectoParametro = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero DivisorParametro = IfNull(Request("Divisor"), "-1").ToString.ToEntero Periodo = IfNull(Request("Periodo"), "-1").ToString.ToEntero InicializaValores() CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto) DdlEjercicio.SelectedValueExist(EjercicioParametro.ToString) DdlSubProyecto.SelectedValueExist(SubProyectoParametro.ToString) DdlDivisor.SelectedValueExist(DivisorParametro.ToString) DdlPeriodo.SelectedValueExist(Periodo) CargaDatos() End If End Sub #Region " INICIALIZA VALORES " Private Sub InicializaValores() CargaCombos() End Sub Private Sub CargaCombos() Dim Conta As New ClsContabilidad If Conta.GetEjercicios(UsuarioActual.CveEmpresa) Then DdlEjercicio.DataSource = Conta.DtResultados Else DdlEjercicio.DataSource = Nothing End If Conta.Dispose() DdlEjercicio.DataBind() DdlEjercicio.SelectedValueExist(Now.Year.ToString) 'DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa) 'DdlSubProyecto.DataBind() 'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) 'DdlSubProyecto.SelectedValue = "-1" End Sub #End Region #Region " CARGA DATOS " Protected Sub BtnCargaAsignados_Click(sender As Object, e As EventArgs) Handles BtnCargaAsignados.Click CargaDatos() End Sub Private Sub CargaDatos() Dim Conta As New ClsContabilidad If Conta.GetAnexoCatalagoCC(CveCuenta, DdlEjercicio.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlDivisor.SelectedValue.ToEntero, DdlPeriodo.SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then Dim DtHeaders As DataTable = Conta.DSResultados.Tables(0) GvCC.DataSource = Conta.DSResultados.Tables(1) Dim Index = 4 For Index = 4 To GvCC.Columns.Count - 1 GvCC.Columns(Index).Visible = False Next Index listaCampos.Clear() Index = 4 For Each Dr As DataRow In DtHeaders.Rows GvCC.Columns(Index).Visible = True CType(GvCC.Columns(Index), BoundField).DataField = String.Format("SubProyecto{0}", Dr("SubProyecto")) GvCC.Columns(Index).HeaderText = Dr("SubProyecto").ToString() listaCampos.Add(New String() {String.Format("SubProyecto{0}", Dr("SubProyecto")), Dr("SubProyecto").ToString()}) GvCC.Columns(Index + 1).Visible = True CType(GvCC.Columns(Index + 1), BoundField).DataField = String.Format("SubProyecto{0}Porcentaje", Dr("SubProyecto")) GvCC.Columns(Index + 1).HeaderText = "%" Index += 2 Next GvCC.DataBind() UpCC.Update() Else GvCC.DataSource = Nothing End If If GvCC.Rows.Count > 0 Then LnkExportar.Visible = True UpAcciones.Update() End If RegistraScript($"LimpiaCeros({DdlDivisor.SelectedValue});") Conta.Dispose() End Sub #End Region #Region " GV ROW DATABOUND " Protected Sub GvCC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCC.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowIndex = 0 Then e.Row.Style.Add("font-weight", "bold") End If setgraficaCC(e) e.Row.Cells(1).Style.Add("text-indent", $"{e.Row.DBCampo("Level").ToString.ToEntero * 2}em") End If End Sub Public Sub setgraficaCC(e As GridViewRowEventArgs) Dim lista As New List(Of Object) Dim colorindex As Integer = 0 For Each campo As String() In listaCampos lista.Add(New With {.Texto = campo(1), .Valor = e.Row.DBCampo(campo(0)).ToDecimal(), .Color = listacolores(colorindex)}) colorindex = colorindex + 1 If colorindex >= listacolores.Count Then colorindex = 0 End If Next e.Row.FCHyperLink("Hypgrafica").Attributes.Add("data-values", Newtonsoft.Json.JsonConvert.SerializeObject(lista)) End Sub #End Region Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click Dim SubProyecto As String = "" If DdlSubProyecto.SelectedValue.ToEntero > 0 Then SubProyecto = DdlSubProyecto.SelectedItem.Text End If GvCC.ExportToExcelGembox("AnexoCatálogoMensual", UsuarioActual, $"01/01/{DdlEjercicio.SelectedValue}", $"31/12/{DdlEjercicio.SelectedValue}", "Anexo del Catálogo - Mensual", SubProyecto, DdlDivisor.SelectedValue.ToEntero, DatoTituloExtra:=$"Periodo {DdlPeriodo.SelectedItem.Text}") End Sub Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub End Class