shadowano Skrevet 25. april 2008 Skrevet 25. april 2008 (endret) Hei Jeg har følgende setning: e.Data.Tables[PaneDef.TableName].Columns["icon"].Expression = "IIF( bflag2 % 2 >=1 , '42=63504', '')"; som ikke virker. får feilmelding: Cannot perform MOD operation on System.single or System.int32. Jeg har definert kolonnen i datatabelen som int, float, uint uten at noen av de hjalp. Når jeg testet var verdien i kolonnen bflag2 lik 0 på alle rader. Det skal gi resultatet 0. int mod = 0 % 2; fungerer knirkefritt. Noen som har tips til hva som kan være galt? På forhånd takk:) Endret 2. mai 2008 av martin82
GeirGrusom Skrevet 25. april 2008 Skrevet 25. april 2008 Jeg tror ikke en bruker % i Basic, det heter Mod "Iif( bflag2 Mod 2 <> 0, \"42=63504\", \"\")"; tror jeg skal være riktig.
shadowano Skrevet 25. april 2008 Forfatter Skrevet 25. april 2008 Er det basic funksjon da? Er ikke det litt teit å implementere i C#?
GeirGrusom Skrevet 25. april 2008 Skrevet 25. april 2008 Vel, da er det to ting galt: - Det er ikke nødvendig å bruke modulo for å sjekke om et tall er partal - Det heter ikke IIF i C# (bflag & 1) != 0 ? "42=63504" : ""
shadowano Skrevet 27. april 2008 Forfatter Skrevet 27. april 2008 i følge msdn er % modulus og IIF brukes som if-test: http://msdn2.microsoft.com/en-us/library/s...ion(VS.71).aspx hmm... vet ikke hvordan dette skal løses...
shadowano Skrevet 2. mai 2008 Forfatter Skrevet 2. mai 2008 (endret) Svaret på gåten er at divisjonen ikke er heltalls divisjon, og den klarte derfor ikke å ta modulus av tallet. En Convert() til int16 gjorde biffen:) Endret 2. mai 2008 av martin82
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå