Avatar billede pixy Nybegynder
22. november 2004 - 23:29 Der er 6 kommentarer

Problem med Booleans i DataTables

Hejsa.

Jeg har lavet et datatable som bla. indeholder en kolonne af typen boolean. Når dette datatable bliver vist, vises disse bools som checkboxe. Dette er altsammen meget smukt, ud over at disse checkboxe som standard har ThreeState = true.

Er der nogen der ude der ved hvad jeg skal override (eller anden metode?) for at løse dette problem?
Avatar billede clausc Nybegynder
23. november 2004 - 12:15 #1
Jeg vil gætte på du eksplicit skal lave DataGridColumnStyles og på den pågældende DataGridBoolColumn skal sætte AllowNull = false.

Jeg går ud fra, at du har checket at bool kolonnen er NOT NULL?
Avatar billede pixy Nybegynder
23. november 2004 - 18:17 #2
hmm... Der er noget der er gået galt i min DataGrid opdragelse. Hvad går DataGridColumnStyles Collection ?
Avatar billede pixy Nybegynder
23. november 2004 - 18:28 #3
Rettelse for ovenstående kommentar:  "Hvad går" = "Hvad gør"

Og jeg er klar over at man kan sætte de forskellige data typer i sit DataTable, men jeg synes ikke AllowDBNull = true gør nogen forskel på mit problem.
Avatar billede clausc Nybegynder
23. november 2004 - 18:51 #4
Et DataGrid laver på baggrund af et DataSets meta-data en default formattering af grid'et; dvs. tal er højrestillede, booleans som check-boxes osv. Hvis du ikke er tilfreds med default, skal du lave din egen DataGridTableStyle collection, hvor hver af disse så har en collection af DataGridColumnStyles.

Dokumentationen har et par ok eksempler med begge dele. Hvis du kender dit dataset på design-time får du visuel hjælp til at lave dine styles.

Mht om søjlen var nullable havde jeg håbet/regnet med at default stylen ville checke på om bool-søjlen kunne null'es eller ej og sætte checkboxen tri-state derefter. Det gør den så åbenbart ikke :(
Avatar billede pixy Nybegynder
23. november 2004 - 20:30 #5
Jeg kan godt sætte AllowDBNull = false og programmet retter sig også efter dette. Problemet er bare at når checkboxen er markeret med gråt er værdien = null hvorved den også giver fejl.

Checkboxen har følgen stadier:

Markeret sort = true
Markeret gråt = NULL
Ikke markeret = false

Hvis AllowDBNull = false er den grå markering ikke en gyldig valgmulighed. Den eneste udvej er at få den ThreeState property frem, eller finde DataGridColumnStyle's svar på det.
Avatar billede pixy Nybegynder
24. november 2004 - 16:56 #6
Problemet er stadig ikke løst... kom frisk drenge og piger !
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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

IT-JOB