Hi,
Did you look at using the Binding Parse and Format events to handle the conversion ?
If you're using the Binding class that should be a much cleaner implementation.
Regards,
Viv
>I was overlooking the obvious that day. :o) The problem was with our default classes in the other layers. I had to create a special base textbox to control the saving. We have base classes but the base textbox classes already created only passed 'TRUE' and 'FALSE' based on a value of 'TRUE' or 'FALSE.' I had to create a new special basetextbox class to look for 'Y' and 'N,' but pass 'TRUE' or 'FALSE' to the business layer and then on to the other layers respectively...
>
>
>I was testing about 4 different ways of accomplishing the same thing. One way was using the passwordchr and setting maxlength to 1, another was the example below, another used a bool value and converted it to string before sending it to the business layer, and the other was a different way of doing what is done below.
>
>Fun, fun, fun! :o)
>
>
>>
>DISREGARD: Resolved. :)>>
>>So, how did you end up solving this Tracy? I'm sure others will benefit from your experience. =0)
>>
>>~~Bonnie
>>
>>
>>
>>
>>>
>>>First, a checkbox is a LAST RESORT. I am trying to emulate the foxpro toggling of values in .net
>>>
>>>Ok, I have a textbox control that is used for a bit field in SQL Server (1 or 0) TRUE or FALSE. By default, the value is TRUE or FALSE. I want it to toggle between Y and N. I have that working using the keypress event. I am also changing the value in the _TextChanged() so that when data is first loaded, it displays Y instead of TRUE and N instead of FALSE. Both of those work fine.
>>>
>>>Now, my problem is in saving the value. Obviously it raises an exception. How do I save TRUE instead of Y and FALSE instead of N? Where is the best place to put that code? For this form, values are saved when the control is exited, not using a save button.
>>>
>>>Also, is the way I have done it so far ok? Is there a better way? Should the code below be some place else? I'm am not comfortable yet with which event runs when and where I would put code...
>>>
>>>
>>> private void txbisactive_KeyPress(object sender, KeyPressEventArgs e)
>>> {
>>> if (e.KeyChar == (char)32)
>>> {
>>> if (((TextBox)sender).Text == "TRUE")
>>> {
>>> ((TextBox)sender).Text = "N";
>>> }
>>> else
>>> {
>>> if (((TextBox)sender).Text == "FALSE")
>>> {
>>> ((TextBox)sender).Text = "Y";
>>> }
>>> else
>>> {
>>> if (((TextBox)sender).Text == "Y")
>>> {
>>> ((TextBox)sender).Text = "N";
>>> }
>>> else
>>> {
>>> ((TextBox)sender).Text = "Y";
>>> }
>>> }
>>> }
>>> }
>>> else if (e.KeyChar == 'N' || e.KeyChar == 'n')
>>> {
>>> ((TextBox)sender).Text = "N";
>>> }
>>> else if (e.KeyChar == 'Y' || e.KeyChar == 'y')
>>> {
>>> ((TextBox)sender).Text = "Y";
>>> }
>>> e.Handled = true;
>>> }
>>>
>>> private void txbisactive_TextChanged(object sender, EventArgs e)
>>> {
>>> if (((TextBox)sender).Text == "TRUE")
>>> {
>>> ((TextBox)sender).Text = "Y";
>>> }
>>> else
>>> {
>>> if (((TextBox)sender).Text == "FALSE")
>>> {
>>> ((TextBox)sender).Text = "N";
>>> }
>>> }
>>> }
>>>