DataTable.DefaultView.RowFilter como buscar

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • DataTable.DefaultView.RowFilter como buscar

    Buenas a todos..

    Hoy tengo un apregunta de DataTable y es la siguiente: llenamos el datatable con una consulta de la base de datos, la cual tiene una serie de colunmas con diferente tipos de campos (Campos numericos, boleanos y caracte), supongamos que no se cual de ellos tiene el tipo de campo no se si es el segundo,tercero o primero de tipo numerico o bool o string, y quiero realizar una busquda de una palabra por decir de esta forma

    DataTable.DefaultView.RowFilter="Copumna1 like '%ca%' or Columna2 like '%ca%' or Columna2 like '%ca%'";

    Pero este lineas de codigo me generan error que dice "Información adicional: No se puede realizar la operación 'Like' en System.Int32 y System.String."

    Pregunta

    ¿como podria hacerlo de la siguiente forma:?

    DataTable.DefaultView.RowFilter="
    cast(columna1 as varchar) like '%a%' or
    cast(columna2 as varchar) like '%a%' or
    cast(columna2 as varchar) like '%a%'
    "

    Por que digo que podria ser asi, pues por que yo podria buscar tambien un numero o un bool por ejemplo

    DataTable.DefaultView.RowFilter="
    cast(columna1 as varchar) like '%547%' or
    cast(columna2 as varchar) like '%547%' or
    cast(columna2 as varchar) like '%547%'
    "
    Claro esto tambien me genera error

    Gracias a todos y espero me colaboren como filtrar en el DataTable de esta forma.

  • #2
    Re: DataTable.DefaultView.RowFilter como buscar

    Hola mbel, puedes intentar con:
    Código:
    DataTable.DefaultView.RowFilter="
    Convert(columna1, 'System.String') like '%a%' or 
    Convert(columna2, 'System.String') like '%a%' or
    Convert(columna2, 'System.String') like '%a%'
    "
    Más info en https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx

    Saludos.
    Saludos.

    Comentario

    Trabajando...
    X