Option Explicit On Option Strict On Imports System.Data Imports Extensiones Partial Class RH_ComparativoNomina Inherits ClsPaginas Private ReadOnly Property DTPeriodos As Data.DataTable Get Return DirectCast(ViewState("DTPeriodos"), Data.DataTable) End Get End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'") DdlTipoPeriodo.DataBind() DdlTipoPeriodo.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlEjercicio.Items.Add(New ListItem(UsuarioActual.Empresa.EjercicioActual.ToString, UsuarioActual.Empresa.EjercicioActual.ToString)) DdlEjercicio.Items.Add(New ListItem((UsuarioActual.Empresa.EjercicioActual - 1).ToString, (UsuarioActual.Empresa.EjercicioActual - 1).ToString)) 'DdlEjercicio.Items.Insert(0, New ListItem("Seleccionar", "-1")) ViewState("Orden") = "" End If End Sub Protected Sub DdlEjercicio_SelectedIndexChanged(sender As Object, e As EventArgs) If DdlEjercicio.SelectedValue.ToEntero > 0 And DdlTipoPeriodo.SelectedValue.ToEntero > 0 Then Dim ObjPeriodos As New ClsNominas If ObjPeriodos.GetPeriodos(DdlTipoPeriodo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlEjercicio.SelectedValue.ToEntero, -1, -1) Then ViewState("DTPeriodos") = ObjPeriodos.DtResultados DdlPeriodo.DataSource = DTPeriodos DdlPeriodo.Items.Clear() DdlPeriodo.DataBind() DdlPeriodo.Items.Insert(0, New ListItem("Seleccione un Periodo", "-1")) Else DdlPeriodo.DataSource = Nothing End If ObjPeriodos.Dispose() End If Gv.DataBind() UPDatos.Update() End Sub Protected Sub DdlTipoPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs) If DdlTipoPeriodo.SelectedValue.ToEntero > 0 Then Dim ObjPeriodos As New ClsNominas If ObjPeriodos.GetPeriodos(DdlTipoPeriodo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlEjercicio.SelectedValue.ToEntero, -1, -1) Then ViewState("DTPeriodos") = ObjPeriodos.DtResultados DdlPeriodo.DataSource = DTPeriodos Else DdlPeriodo.DataSource = Nothing End If ObjPeriodos.Dispose() End If DdlPeriodo.Items.Clear() DdlPeriodo.DataBind() DdlPeriodo.Items.Insert(0, New ListItem("Seleccione un Periodo", "-1")) End Sub Protected Sub CargaDatos() Dim ObjComparativoNomina As New ClsRH UPDatos.Update() Gv.DataBind() If ObjComparativoNomina.GetComparativoNomina(DdlPeriodo.SelectedValue.ToEntero, "-1") Then ViewState("DTComparativoNomina") = ObjComparativoNomina.DtResultados End If ObjComparativoNomina.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub Protected Sub CargarComparativoNomina(sender As Object, e As EventArgs) CargaDatos() End Sub #Region "O R D E N A M I E N T O" Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs) Dim Orden As String = "" Dim Campo As String = "" Dim Literal As Literal = Nothing Const OrdenInicial As String = "" Dim Arg(2) As String Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c) Campo = Arg(0) Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal) If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo) Literal.Text = String.Format("") Else ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo) Literal.Text = String.Format("") End If Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString ViewState("Orden") = Orden CargaGrid(Orden) End Sub Protected Sub CargaGrid(Orden As String) If Orden <> String.Empty Then Dim DV As New DataView(CType(ViewState("DTComparativoNomina"), DataTable), "", Orden, DataViewRowState.CurrentRows) Gv.DataSource = DV.ToTable() DV.Dispose() Else Gv.DataSource = CType(ViewState("DTComparativoNomina"), DataTable) End If Gv.DataBind() UPDatos.Update() End Sub #End Region Protected Sub ImgExcel_Click(sender As Object, e As ImageClickEventArgs) Handles ImgExcel.Click Gv.ExportToExcel("ComparativoNomina") End Sub End Class