public void CompletarValores(string id)
    {
      int idPerfil = id.ValidaEntero("id_perfil");
      IList<co_ca_opciones> listNoDisponibles = new List<co_ca_opciones>();
      IList<co_ca_opciones> listOpciones = new bf_ca_opciones().GetData(new co_ca_opciones());
      IList<co_ca_opciones> listDisponibles = new List<co_ca_opciones>();

      IList<co_ca_perfilesopciones> listOpcionesNoDisponibles = new bf_ca_perfilesopciones().GetData(new co_ca_perfilesopciones { id_perfil = { id = idPerfil } });

      foreach (co_ca_opciones opcion in listOpciones)
      {
        bool sw = true;
        var opcion1 = opcion;
        foreach (co_ca_perfilesopciones disponible in listOpcionesNoDisponibles.Where(c => c.id_opcion.id == opcion1.id_opcion).Select(opciones => new co_ca_perfilesopciones()))
        {
          sw = false;
        }
        if (sw)
        {
          listDisponibles.Add(opcion1);
        }

      }

      foreach (co_ca_perfilesopciones opcion in listOpcionesNoDisponibles)
      {
        listNoDisponibles.Add(new co_ca_opciones { id_opcion = opcion.id_opcion.id, op_opcion = opcion.id_opcion.descripcion });
      }

      grdOpcionesDisponibles.GetStore().DataSource = listDisponibles.OrderBy(c => c.op_opcion);
      grdOpcionesDisponibles.GetStore().DataBind();

      grdOpcionesNoDisponibles.GetStore().DataSource = listNoDisponibles.OrderBy(c => c.op_opcion);
      grdOpcionesNoDisponibles.GetStore().DataBind();
    }
    public void OnRefreshData_st_cmb_id_opcion(object sender, StoreReadDataEventArgs e)
    {
      int start = e.Start;
      int limit = NumInt.Init(e.Parameters.GetParameter("limit").Value);
      limit = limit == 0 ? e.Limit : limit;
      int page = (start / limit) + 1;

      co_ca_opciones_no Nomina = new co_ca_opciones_no();

      Nomina.Pagina = page;
      Nomina.RegistrosPorPaginas = e.Limit;
      Nomina.ColumnaOrden = e.Sort[0].Property;
      Nomina.OrdenColumna =
        (FwpDataGridDataBound.Orden)
        Enum.Parse(typeof(FwpDataGridDataBound.Orden), e.Sort[0].Direction.ToString(), true);

      if (!string.IsNullOrEmpty(filtercbx_id_opcion.SelectedItem.Text))
      {
        Nomina.op_opcion = filtercbx_id_opcion.SelectedItem.Text;
      }

      IList<object> lista = new List<object>();

      Nomina<co_ca_opciones_no> data = new bf_ca_opciones().GetNomina(Nomina);

      foreach (co_ca_opciones_no n in data.DataSource)
      {
        lista.Add(
        new
        {
          id_opcion = n.id_opcion,
          op_opcion = n.op_opcion,
        });
      }

      st_cmb_id_opcion.DataSource = lista;
      (st_cmb_id_opcion.Proxy[0] as PageProxy).Total = data.Registros;
      st_cmb_id_opcion.DataBind();

    }