Imports Extensiones Imports System.Data Partial Class CatProcesos Inherits ClsPaginas Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then ViewState("Orden") = "" ViewState("CveRol") = -1 CargaModulos() CargaDatos() 'Permisos 'Permiso Registro If UsuarioActual.TienePermisoProceso(1) Then LbAgregar.Enabled = True Else LbAgregar.Enabled = False 'Permiso Modificar If UsuarioActual.TienePermisoProceso(2) Then GvDatos.Columns(5).Visible = True Else GvDatos.Columns(5).Visible = False 'Permiso Eliminar If UsuarioActual.TienePermisoProceso(3) Then GvDatos.Columns(6).Visible = True Else GvDatos.Columns(6).Visible = False End If End Sub Private Sub CargaModulos() CboModulos.DataSource = GlobalDTModulos.FiltraParametros("NOT (Agrupacion = 'S')").FiltraParametros("", "Modulo") CboModulos.DataBind() CboModulos.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Public Sub CargaDatos() Dim Procesos As New ClsSisProcesos If Procesos.GetProcesos(-1) Then Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Procesos.DtResultados Else GvDatos.DataSource = Nothing End If Procesos.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub Protected Sub LbAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LbAgregar.Click Dim Proceso As New ClsSisProcesos If Proceso.AddProcesos(TxtDescripcion.Text.Trim, CboModulos.SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then TxtDescripcion.Text = "" Alert("El nuevo Proceso se guardó correctamente.", TipoMensaje.MsgInformacion) UpTitulos.Update() Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Proceso.DtResultados If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End If Proceso.Dispose() '"$(""#DivAltaReporte"").hide();" End Sub #Region "G V D A T O S" Protected Sub GvDatos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowState = DataControlRowState.Alternate OrElse e.Row.RowState = DataControlRowState.Normal Then e.Row.Cells(0).Width = Unit.Pixel(30) e.Row.Cells(1).Width = Unit.Pixel(150) e.Row.Cells(2).Width = Unit.Pixel(300) e.Row.Cells(3).Width = Unit.Pixel(100) e.Row.Cells(4).Width = Unit.Pixel(200) e.Row.Cells(5).Width = Unit.Pixel(53) e.Row.Cells(6).Width = Unit.Pixel(68) e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Left End If End If End Sub Protected Sub GvDatos_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvDatos.RowEditing GvDatos.EditIndex = e.NewEditIndex If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If Dim EditingRow As GridViewRow = GvDatos.Rows(e.NewEditIndex) Dim CboModulosR As DropDownList = CType(EditingRow.FindControl("CboModulo"), DropDownList) For Each LI As ListItem In CboModulos.Items CboModulosR.Items.Add(LI) Next CboModulosR.SelectedValue = EditingRow.DataKey("CveModulo") End Sub Protected Sub GvDatos_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatos.RowUpdating Dim Proceso As New ClsSisProcesos Dim CveProceso As Integer = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero Dim CveModulo As Integer = CType(GvDatos.Rows(e.RowIndex).FindControl("CboModulo"), DropDownList).SelectedValue.ToEntero If Proceso.UpdateProcesos(CType(GvDatos.Rows(e.RowIndex).FindControl("A"), TextBox).Text.Trim(), CveModulo, UsuarioActual.CveUsuario, CveProceso) Then GvDatos.EditIndex = -1 Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Proceso.DtResultados End If Proceso.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub Protected Sub GvDatos_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvDatos.RowCancelingEdit GvDatos.EditIndex = -1 If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub Protected Sub GvDatos_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting Dim Proceso As New ClsSisProcesos If Proceso.RemoveProcesos(GvDatos.DataKeys(e.RowIndex).Value.ToString().ToEntero()) Then GvDatos.EditIndex = -1 Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()) = Proceso.DtResultados End If Proceso.Dispose() If ViewState("Orden").ToString() <> String.Empty Then CargaGrid(ViewState("Orden").ToString()) Else CargaGrid("") End If End Sub #End Region #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 Private Sub CargaGrid(ByVal Orden As String) If Orden <> String.Empty Then Dim DV As New DataView(CType(Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()), DataTable), "", Orden, DataViewRowState.CurrentRows) GvDatos.DataSource = DV.ToTable() DV.Dispose() Else GvDatos.DataSource = CType(Cache("DTProcesos" & UsuarioActual.CveUsuario.ToString()), DataTable) End If GvDatos.DataBind() UpDatos.Update() End Sub #End Region End Class