private void BindGrid()
 {
     bdc = new BDConxDataContext();
     GrillaUsuarios.DataSource = from vUsuarios in bdc.vUsuarios select vUsuarios;
     GrillaUsuarios.DataBind();
 }
    internal void carga_usuarios(string RutDeEmpresa, string PerfilDeUsuario, string ID_DE_Usuario)
    {
        OracleDataAdapter da;
        OracleConnection  CnOra = new OracleConnection(conexion_cliente_oracle);

        //    if (PerfilDeUsuario == "3")
        if (PerfilDeUsuario == "3" || PerfilDeUsuario == "15")
        {
            OracleCommand cmdAcceso = new OracleCommand("PK_USUARIO.LISTAR_USUARIOS", CnOra);
            da = new OracleDataAdapter(cmdAcceso);
        }
        else
        {
            OracleCommand cmdAcceso = new OracleCommand("PK_USUARIO.CONTRATISTAS_POR_EMPRESA", CnOra);
            da = new OracleDataAdapter(cmdAcceso);
            PRO.agrega_parametro_sp(da, "i_rut_empresa", OracleType.Number, ParameterDirection.Input, RutDeEmpresa);
            //PRO.agrega_parametro_sp(da, "i_id_perfil", OracleType.Int32, ParameterDirection.Input, 2.ToString()); //PERFIL 2 CONTRATISTAS
            //PRO.agrega_parametro_sp(da, "i_id_usuario", OracleType.Int32, ParameterDirection.Input, lb_id_usuario.Text.ToString()); //PARA CARGAR UNO MISMO
        }
        PRO.agrega_parametro_sp(da, "o_cursor", OracleType.Cursor, ParameterDirection.Output, "");


        da.SelectCommand.CommandType = CommandType.StoredProcedure;
        CnOra.Open();
        DataTable dtUsuarios = new DataTable();

        da.Fill(dtUsuarios);
        CnOra.Close();
        CnOra.Dispose();

        dt = new DataTable();
        dt.Columns.Add(new DataColumn("id_usuario", typeof(string)));
        dt.Columns.Add(new DataColumn("usuario", typeof(string)));
        dt.Columns.Add(new DataColumn("nombre", typeof(string)));
        dt.Columns.Add(new DataColumn("rut_empresa", typeof(string)));
        dt.Columns.Add(new DataColumn("empresa", typeof(string)));
        dt.Columns.Add(new DataColumn("id_perfil", typeof(string)));
        dt.Columns.Add(new DataColumn("perfil", typeof(string)));
        dt.Columns.Add(new DataColumn("estado", typeof(string)));

        DataRow dr;
        int     cont_registros;

        cont_registros = 0;
        foreach (DataRow drUsuarioItem in dtUsuarios.Rows)
        {
            dr = dt.NewRow();
            dr["id_usuario"]  = drUsuarioItem["id_usuario"].ToString();
            dr["usuario"]     = drUsuarioItem["usuario"].ToString();
            dr["nombre"]      = drUsuarioItem["nombre"].ToString();
            dr["rut_empresa"] = drUsuarioItem["rut_empresa"].ToString();
            dr["empresa"]     = PRO.OBTIENE_NOMBRE_EMPRESA(drUsuarioItem["rut_empresa"].ToString()); //[ª0002ª] 'TOMAR RUT de Empresa y funcion devuelva nombre 'nombre_empresa '[ª0003ª] 'drUsuarioItem([ª0004ª]).ToString 'Funcion que devuelva empresa
            dr["id_perfil"]   = drUsuarioItem["id_perfil"].ToString();
            dr["perfil"]      = PRO.OBTIENE_NOMBRE_PERFIL(drUsuarioItem["id_perfil"].ToString());    //[ª0002ª] 'drUsuarioItem([ª0003ª]).ToString 'Funcion que devuelva perfil

            if (drUsuarioItem["estado"].ToString() == "0")
            {
                dr["estado"] = "HABILITADO";
            }
            else
            {
                dr["estado"] = "DESHABILITADO";
            }

            dt.Rows.Add(dr);
            cont_registros = cont_registros + 1;
        }



        lb_cantidad_registros.Text = cont_registros.ToString() + " coincidencia(s) encontrada(s)";
        DataView MydataView;

        MydataView = new DataView(dt);
        GrillaUsuarios.DataSource = MydataView;
        GrillaUsuarios.DataBind();

        int er;

        for (er = 0; er < GrillaUsuarios.Items.Count; er++)
        {
            if (GrillaUsuarios.Items[er].Cells[7].Text == "HABILITADO")
            {
                GrillaUsuarios.Items[er].Cells[7].BackColor = Color.LightGreen;
            }
            else
            {
                GrillaUsuarios.Items[er].Cells[7].BackColor = Color.Red;
            }
        }
    }