Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Toggle Y or N instead of TRUE or FALSE in texbox
Message
From
14/09/2008 03:53:40
 
 
To
13/09/2008 22:36:38
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Environment versions
Environment:
C# 2.0
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01345710
Message ID:
01347410
Views:
14
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";
>>>                }
>>>            }
>>>        }
>>>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform