locked
Como saber cuantas filas retorna un filtro?? RRS feed

  • Pregunta

  • Amigos como estan, recurro a ustedes a ver si me pueden dar una mano, tengo un data table al cual le aplico un flitro.
    si mi data table tiene 6 filas, si realizo un filtro por cualquier campo como puedo saber cuantas filas filtradas tiene ahora el datatable, es decir quiero saber cuantas filas son las que cumplen con la condicion del filtro.
    he probado con la propiedad row.count del datatable pero me sigue saliendo el numero total de filas del datatable y no solo las filtradas,
    Y si en el filtro me da solo una fila, como accedo a los campos de esta.

    Espero que me puedan ayudar.
    Saludos

    lunes, 14 de julio de 2008 14:58

Respuestas

  • ¿Cómo estás filtrando? Si usas el método Select, te devueve un array de datarows, y la propiedad Length del array te dice cuántas filas tiene.

     

    Code Snippet

    DataTable dt = ...;

    DataRow[] filasFiltradas = dt.Select("Campo1=valor1");

    int numeroFilasEncontradas = filasFiltradas.Length;

    //Para sacar un campo:

    string campo3 = (string)filasFiltradas[0]["campo3"];

     

     

     

    lunes, 14 de julio de 2008 17:08
    Moderador
  • El DataView es una buena opción. Aplicas el filtro y usas el Count. Para tomar los datos, separas una fila (indexando el dataview) y luego accedes a las columnas por nombre o número (indexando de nuevo):

     

    Code Snippet

    DataTable dt = ...;

    DataView dv = dt.DefaultView;

    dv.RowFilter = ...;

    DataRowView fila = dv[0]; //La 1a fila

    string campo1 = (string)fila["Campo1"]; //por ejemplo

     

     

     

     

     

    lunes, 14 de julio de 2008 20:52
    Moderador

Todas las respuestas

  • ¿Cómo estás filtrando? Si usas el método Select, te devueve un array de datarows, y la propiedad Length del array te dice cuántas filas tiene.

     

    Code Snippet

    DataTable dt = ...;

    DataRow[] filasFiltradas = dt.Select("Campo1=valor1");

    int numeroFilasEncontradas = filasFiltradas.Length;

    //Para sacar un campo:

    string campo3 = (string)filasFiltradas[0]["campo3"];

     

     

     

    lunes, 14 de julio de 2008 17:08
    Moderador
  • Gracias amigo por responder, estoy usando el metodo rowfilter del datatable, para realizar el filtrado,

    probe usando un dataview, y luuego hago el filtro y uso la propiedad count, pero no se como tomar los datos del dataview.

    Lo que quiero hacer es revisar en el datatable si existe una fila o no, para ver si permito ingresar otra fila, o de pronto alguien sabe como hacer esto o cual es la mejor forma de realizarlo.

    Saludos
    lunes, 14 de julio de 2008 18:00
  • El DataView es una buena opción. Aplicas el filtro y usas el Count. Para tomar los datos, separas una fila (indexando el dataview) y luego accedes a las columnas por nombre o número (indexando de nuevo):

     

    Code Snippet

    DataTable dt = ...;

    DataView dv = dt.DefaultView;

    dv.RowFilter = ...;

    DataRowView fila = dv[0]; //La 1a fila

    string campo1 = (string)fila["Campo1"]; //por ejemplo

     

     

     

     

     

    lunes, 14 de julio de 2008 20:52
    Moderador