private void AgregarFiltrosSubcategoria(ref co_re_subcategorias_no nomina)
 {
   nomina.subca_subcategoria = FiltrosNomina.ValidarFiltros<string>(nomina.subca_subcategoria, filter_subca_subcategoria.Text);
   nomina.subca_orden = FiltrosNomina.ValidarFiltros<int>(nomina.subca_orden, filter_subca_orden.Text);
 }
    protected void strSubcategoria_OnReadData(object sender, StoreReadDataEventArgs e)
    {
      try
      {
        IList<object> lista = new List<object>();
        int start = e.Start;
        int limit = NumInt.Init(e.Parameters.GetParameter("limit").Value);
        limit = limit == 0 ? e.Limit : limit;
        int page = (start / limit) + 1;

        int idCategoria = NumInt.Init(e.Parameters["id_categoria"].ToString());
        if (idCategoria != 0)
        {
          co_re_subcategorias_no Nomina = new co_re_subcategorias_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);
          Nomina.id_categoria = idCategoria;

          AgregarFiltrosSubcategoria(ref Nomina);

          Nomina<co_re_subcategorias_no> data = new bf_re_subcategorias().GetNomina(Nomina);

          foreach (co_re_subcategorias_no item in data.DataSource)
          {
            lista.Add(new
            {
              id_categoria = item.id_categoria,
              ca_categoria = item.ca_categoria,
              id_subcategoria = item.id_subcategoria,
              subca_subcategoria = item.subca_subcategoria,
              subca_urlicono = item.subca_urlicono,
              subca_orden = item.subca_orden
            });
          }

          strSubcategoria.DataSource = lista;
          strSubcategoria.PageSize = limit;
          PageProxy pageProxy = strSubcategoria.Proxy[0] as PageProxy;
          if (pageProxy != null) pageProxy.Total = data.Registros;
          strSubcategoria.DataBind();
          btnSubcategoria.Disabled = false;
        }
        else
        {
          strSubcategoria.DataSource = lista;
          strSubcategoria.DataBind();
          btnSubcategoria.Disabled = true;
        }
      }
      catch (Exception ex)
      {
        Mensajes.Error(ex.Message);
      }
    }