Hey Cor:
The Bit Field maps back to System.Bool which can only evaluate to true or
false. Since it maps back, it converts it from 0 to 1 to true or false.
Going the other direction, it turns true or false into 0 or 1. If the DB
field is Bit, then this happens automatically when you bind to the field.
Originally I was expecting the ValueMember to be 0 or 1 and the
DisplayMember to be True or False. However, in the overall context this
wouldn't make sense b/c they map back to bool. If it didn't, then True and
False couldn't appear automatically. Since they do appear, the mapping is
transparent. So not only does it happen without you doing anything, the
only value it has is True or False. However, when you take a System.Bool of
True or False and send it back to a DB with a bit field, then the literal
"True" or "False" can't be used b/c there's not enough room allocated and
until Yukon, the DB has no idea what a language's types are supposed to
represent. Anyway, when you send back a System.Bool, it gets converted into
bit (once again, and this is the nice part) automatically.
HTH,
Bill