Filtros en DataTables

04/07/2007 - 09:58 por Hugo Nugra | Informe spam
Amigos...
Existe alguna manera de hacer que el método RowFilter de la clase DataView
no haga distinción entre vocales con acentos y vocales sin acentos.

El caso es que dentro de una lista de personas he creado un textbox en donde
el usuario escriba las primeras letras del nombre y el listado debe
presentar sólo los registros que comiencen con la cadena anotada.

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
04/07/2007 - 18:45 | Informe spam
Hola Hugo:

Existe alguna manera de hacer que el método RowFilter de la clase DataView
no haga distinción entre vocales con acentos y vocales sin acentos.



Eso más bien tiene que ver con el SGBD que uses. Por ejemplo, en el caso de
SQL Server, con la intercalación que estés usando en la tabla en cuestión.
La intercalación predeterminada en cada tabla y por extensión en cada campo
que sea susceptible de necesitarla (campos de tipo texto: varchar, char...)
es la que tu hayas definido al instalar SQL Server. Generalmente, la
instalación por defecto define una intercalación sensible a acentos (son las
que llevan un identificador AS en contraposición a las AI que no son
sensibles a acentos). Mira en los libros en pantalla: COLLATE e
Intercalación

Si es otro SGBD... dínoslo para que podamos ayudarte

Saludos

http://www.moondance.tk
Respuesta Responder a este mensaje
#2 Hugo Nugra
05/07/2007 - 12:50 | Informe spam
Gracias Juan Diego.

Pero el caso es que mecesito trabajar con los datos que ya están en memoria.
Los DataSets ya están poblados y no requiero volver a consultar la base de
datos (una de las grandes ventajas del .Net).

En efecto mi SGBD es SQL Server 2005. Este motor de datos, como tu lo
señalas tiene resuelto este problema. Yo esperaría que existiera algo así
como configuración en la referencia cultural, o algo por allí que quizá no
lo encuentro.
Respuesta Responder a este mensaje
#3 Juan Diego Bueno
05/07/2007 - 19:45 | Informe spam
"Hugo Nugra" escribió en el mensaje
news:
Gracias Juan Diego.

Pero el caso es que mecesito trabajar con los datos que ya están en
memoria. Los DataSets ya están poblados y no requiero volver a consultar
la base de datos (una de las grandes ventajas del .Net).

En efecto mi SGBD es SQL Server 2005. Este motor de datos, como tu lo
señalas tiene resuelto este problema. Yo esperaría que existiera algo así
como configuración en la referencia cultural, o algo por allí que quizá no
lo encuentro.



Es cierto, no había visto que lo hacías en una dataview... Pues a priori no
tienes nada, te toca jugar con lo que hay, o filtrar en esos casos
directamente contra el servidor. De todas maneras, voy a investigar por ahí
a ver de que forma se podría resolver, y si encuentro algo te lo comento.

Saludos
Respuesta Responder a este mensaje
#4 Wbert
05/07/2007 - 23:06 | Informe spam
Hola

Mira no se si aun te sirve, pero de entrada no existe nada que te ayude con
eso, lo que yo haria seria crearme otro campo dentro del datatable, y alli
pondria el nombre sin acentos, y sin ninguna pendejada, y haria mis filtros
contra este campo.

Creo que es una solución rapida y super facil de implementar. Como?? pues
dos formas una, al mismo select que te llena el datatable, le dices que te
llene este campo, haciendo todos los replaces necesarios. la otra que lo
hagas tu por el programa.

Saludos,

Wbert


"Hugo Nugra" wrote:

Gracias Juan Diego.

Pero el caso es que mecesito trabajar con los datos que ya están en memoria.
Los DataSets ya están poblados y no requiero volver a consultar la base de
datos (una de las grandes ventajas del .Net).

En efecto mi SGBD es SQL Server 2005. Este motor de datos, como tu lo
señalas tiene resuelto este problema. Yo esperaría que existiera algo así
como configuración en la referencia cultural, o algo por allí que quizá no
lo encuentro.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida