protected void strFamilia_OnReadData(object sender, StoreReadDataEventArgs e)
    {
      try
      {
        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_re_familias_no Nomina = new co_re_familias_no();
        Nomina.Pagina = page;
        Nomina.RegistrosPorPaginas = limit;
        Nomina.ColumnaOrden = e.Sort[0].Property;
        Nomina.OrdenColumna = (FwpServerControls.FwpDataGridDataBound.Orden)Enum.Parse(typeof(FwpServerControls.FwpDataGridDataBound.Orden), e.Sort[0].Direction.ToString(), true);

        AplicarFiltrosFamilia(ref Nomina);

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

        Nomina<co_re_familias_no> data = new bf_re_familias().GetNomina(Nomina);

        foreach (co_re_familias_no item in data.DataSource)
        {
          lista.Add(new
          {
            id_familia = item.id_familia,
            fa_familia = item.fa_familia,
            fa_orden = item.fa_orden,
            fa_vigente = item.fa_vigente,
            id_rematetipo = item.id_rematetipo,
            re_rematetipo = item.re_rematetipo
          });
        }

        strFamilia.DataSource = lista;
        strFamilia.PageSize = limit;
        PageProxy pageProxy = strFamilia.Proxy[0] as PageProxy;
        if (pageProxy != null) pageProxy.Total = data.Registros;
        strFamilia.DataBind();

      }
      catch (Exception ex)
      {
        Mensajes.Error(ex.Message);
      }
    }
 private void AplicarFiltrosFamilia(ref co_re_familias_no nomina)
 {
   nomina.fa_familia = FiltrosNomina.ValidarFiltros<string>(nomina.fa_familia, filterTxtFamilia.Text);
   nomina.re_rematetipo = FiltrosNomina.ValidarFiltros<string>(nomina.re_rematetipo, filterCmbRemateTipo.SelectedItem.Text);
   nomina.fa_vigente = FiltrosNomina.ValidarFiltros<TiposBases.EstadoRegistro>(nomina.fa_vigente,
     filter_fa_vigente.SelectedItem.Value);
 }