Rejilla de registros de tabla filtrados por una condición
Hola.
Quiero presentar una rejilla con los registros de un ttable que cumplan la siguiente condición. Que un determinado substring exista en un campo de tipo blobfield, que contiene texto enriquecido formateado por el componente TDBRichViewEdit (parecido al TDBRichEdit). Para buscar el substring en ese campo necesito utilizar un método (SearchText) del componente. ¿Esto podría hacerlo mediante un ttable que cargue un TDBGrid? Si es así, donde y como tendría que definir la condición para que se produzca el filtrado (entiendo que el filtro del ttable es sólo para código SQL). Si este planteamiento no es correcto, cual sería la alternativa para implementar la rejilla con filtro. De antemano, muchas gracias por vuestro tiempo. |
Personalmente, en estos casos en los que busco una cadena dentro de otra, uso "LIKE", así:
Los caracteres "%" indican que la subcadena puede estar precedida y/o seguida por otra cualquiera. Si hubiera usado, por ejemplo, "subcadena%", entonces indica que busco aquellos registros que comiencen por "subcadena". De todas formas, aquí veo el problema de que es un texto con formato. |
No se ha informado sobre la base de datos que se está usando, si es firebird, y si el campo blob está declarado como texto, entonces se puede hacer una búsqueda "normal".
En lugar de usar like, tengo la costumbre de usar containing La direferencia es con containing busca mayúsculas y minúsculas, y encualquier parte del texto. El ejemplo de Ñuño quedaría así:
|
Cita:
La base de datos es sqlite (no la he citado anteriormente para no complicar la explicación), el campo blob está declarado como tal. Necesito buscar a traves de un método del componente de texto enriquecido y es aquí donde surge mi duda ¿la propiedad filter del dbgrid es sólo para código sql o puedo meter la búsqueda que necesito?, en caso contrario ¿existe alguna otra propiedad donde se pueda definir dicha búsqueda?, ¿tendría que utilizar otro componente?, etc. En última instancia, que enfoque me aconsejáis a partir de vuestra experiencia. Un saludo. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 18:54:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi