¿Cómo verifico en blanco en DataView.RowFilter

Suponiendo que tengo una columna llamada A y quiero verificar si A es nula o está en blanco, ¿cuál es la forma correcta de verificar esto utilizando el RowFilter de DataView:

DataTable dt = GetData(); DataView dv = new DataView(dt); dv.RowFilter = "A IS NOT NULL OR A IS NOT ''"; 

Sin embargo, lo anterior no parece funcionar.

¿Estás atado a .net <3.5? Si no, puedes usar linq para verificar el estado de una columna.

De lo contrario, hay una función Isnull(,) como en T-SQL:

 dv.RowFilter = "Isnull(a,'') <> ''"; 

Supongo que necesita recuperar todos los registros donde el valor en la columna A no es nulo ni ”

La expr correcta es:

  dv.RowFilter = "A IS NOT NULL AND A <> ''"; 

Y para recuperar el bucle de registros filtrados en dv.ToTable () de esta manera:

 foreach (DataRow dr in dv.ToTable().Rows) Console.WriteLine(dr["A"]); 

Esto debería funcionar … saludos !!

Puedes añadir

dv.RowFilter = "CONVERT(Isnull(a,''), System.String) <> ''"

si una columna tiene un tipo de datos de número, como Isnull (a, ”) devolverá el número. Eval del número <> 0 lanzaría la excepción.