private void AgregarFiltrosFamilia(co_mv_mofamilias_no nomina)
 {
   nomina.mofa_familia = FiltrosNomina.ValidarFiltros<string>(nomina.mofa_familia, filter_mofa_familia.Text);
   if (filter_id_rematetipo.SelectedItem.Value != null)
   {
     nomina.id_rematetipo.id = FiltrosNomina.ValidarFiltros<int>(nomina.id_rematetipo.id, filter_id_rematetipo.SelectedItem.Value.ValidaEntero("id_rematetipo"));
   }
 }
    protected void strFamilia_ReadData(object sender, StoreReadDataEventArgs e)
    {
      try
      {
        int start = e.Start;
        int limit = e.Limit;
        int page = (start / limit) + 1;

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

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

        AgregarFiltrosFamilia(Nomina);

        Nomina<co_mv_mofamilias_no> data = new bf_mv_mofamilias().GetNomina(Nomina);

        foreach (co_mv_mofamilias_no no in data.DataSource)
        {
          lista.Add(new
          {
            id_mofamilia = no.id_mofamilia,
            mofa_familia = no.mofa_familia,
            mofa_descripcion = no.mofa_descripcion,
            mofa_vigente = no.mofa_vigente,
            id_rematetipo = no.id_rematetipo.id,
            re_rematetipo = no.id_rematetipo.descripcion,
          });
        }

        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(ErrorText.ERROR_CARGAR_FAMILIAS, "wf_fam_cat_sub_mobile.strFamilia_ReadData", ex);
      }
    }