Como faço para verificar se há espaço em branco em DataView.RowFilter

votos
5

Supondo que eu tenho uma coluna chamada A e quero verificar se um é nulo ou em branco, o que é a maneira correta de verificar isso usando RowFilter do DataView:

DataTable dt = GetData();

DataView dv = new DataView(dt);

dv.RowFilter = A IS NOT NULL OR A IS NOT '';

O acima não parecem funcionar embora.

Publicado 19/05/2009 em 18:11
fonte usuário
Em outras línguas...                            


3 respostas

votos
11

Você está amarrado a .net <3.5? Se você não pode usar o LINQ para verificar o estado de uma coluna.

Caso contrário, existe uma Isnull(,)função como em T-SQL:

dv.RowFilter = "Isnull(a,'') <> ''";
Respondeu 19/05/2009 em 18:20
fonte usuário

votos
6

Estou assumindo que você precisa para recuperar todos os registros onde o valor na coluna A é nem nulo nem ''

O expr correta é:

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

E para recuperar o circuito de registros filtrados em dv.ToTable () como este:

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

Isso deve funcionar ... Felicidades !!

Respondeu 20/05/2009 em 06:28
fonte usuário

votos
5

Você pode adicionar

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

se uma coluna tem tipo de dados de número como isnull (a, '') retornaria número. Eval do número <> 0 iria lançar a exceção.

Respondeu 27/02/2012 em 12:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more