Avatar billede cpmonster Nybegynder
03. maj 2005 - 18:02 Der er 3 kommentarer og
1 løsning

formatering af NULL i Datagrid.

Hej eksperter

Spørgsmålet:
Hvordan formaterer jeg data i et Datagrid fra NULL, til en streg '-'og ikke et tomt felt som er default??

<%# dataBinder.Eval(Container.DataItem, "Talværdi_NULL")%>

Baggrund:
I SQL'en har jeg disse to jeg leger med lige nu:

select
  ...
    isnull(convert(char(21), convert(deciaml(19,2), [XX])) ,'-') as talværdi,
    convert(decimal(19,2), [XX]) as Talværdi_NULL
from
..
where
...

talværdi ligger intervallet 0-900, hvor alle NULL værdier kommer ud med en streg "-". Når nu jeg bruger dataset.tables(0).DefaultView.Sort = "talværdi ASC", sorterer den jo tallet som en teksttype og ikke et decimaltype, hvilket resulterer i at 5 kommer før 23 i en DESC sort. :(

Hvis jeg bruger Talværdi_NULL sorterer den helt korrekt, men viser tommer felter! hence my question at the top...

What to do?

ps. Det er IKKE en mulighed at lave sorteringen i SQL'en, da hver kørsel på denne liste tager ca 20 sec.
Avatar billede arne_v Ekspert
03. maj 2005 - 18:46 #1
Nu er jeg ikke sikker på at jeg kan gennemskue data typer med mere.

Men kan du ikke bruge:

<%# dataBinder.Eval(Container.DataItem, "Talværdi_NULL") == X ? "-" : dataBinder.Eval(Container.DataItem, "Talværdi_NULL")%>

Hvor X så skal være den værdi af den type som dataBinder.Eval(Container.DataItem, "Talværdi_NULL") er
når den er NULL
Avatar billede cpmonster Nybegynder
04. maj 2005 - 02:55 #2
Altså bare lave en simpel IF omformaterings funktion?

Det skal da prøves, hvis man altså godt må lave logik inde i <%# %>, men det mener jeg ikke man må og så skal jeg lave en omformaterings funktion som returnerer '-' i tilfælde af NULL..
Avatar billede arne_v Ekspert
04. maj 2005 - 19:03 #3
du kan godt bruge operatorer og funktioner i repeatere
Avatar billede cpmonster Nybegynder
13. maj 2005 - 09:26 #4
en funktion der gør arbejdet er jo nemt nok og det er normalt det jeg bruger, det var bare ikke det jeg ledte efter :(

Jeg håbede der var en parameter eller attribute der kunne sættes på Datagrid'et eller dataset'et der kunne erstatte NULL værdier.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester