Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
DataSet Haschanges returning false
Message
From
30/10/2012 12:51:48
 
 
To
30/10/2012 12:43:26
General information
Forum:
ASP.NET
Category:
Forms
Environment versions
Environment:
C# 2.0
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01554541
Message ID:
01556083
Views:
40
Hey Bill,

>Yes, this is why I suggested he look at ReadValue() and WriteValue() because he was doing a programmatic update of the control which requires a post of the data to the data source.

Yeah, I know. I just didn't realize that he was using that methodology to "reset" all of his UI controls, which, IMHO, is not the way it should be done.

~~Bonnie



>>>I thought the whole point of DataBinding was to automate this sort of behaviour.
>>
>>It is. I don't know why you'd have to do this if you've properly databound those controls. I thought the problem you initially wrote about was because you programmatically changed the value in a control (say, a TextBox.Text) and you needed to use the .WriteValue() for that reason, for one or two controls perhaps.
>>
>>If you're regularly clearing the values in all your controls by the below methodology (setting all TextBox.Text = ""), then your problem is actually that you shouldn't be doing it that way. Those TextBoxes are bound to a DataTable ... you should be clearing the data in the DataTable row and those empty values will then be shown in your TextBoxes.
>>
>>~~Bonnie
>>
>>
>>
>>>Hi all, just to update you on what I ended up coding ( please advise if there's a cleaner way )
>>>
>>>
>>>// This method clears the controls values.
>>>
>>>this.txtFirstName.Text = "";
>>>this.txtMiddleName.Text = "";
>>>// And so on for the other controls.
>>>
>>>// Loop to WriteValues to dataset
>>>
>>>for(int i = 0 ; i < this.Controls.Count ; i++)
>>>    if(this.Controls[i].DataBindings.Count > 0)
>>>        for(int j = 0 ; j < this.Controls[i].DataBindings.Count  ; j++)
>>>            this.Controls[i].DataBindings[j].WriteValue();
>>>
>>>
>>>I thought the whole point of DataBinding was to automate this sort of behaviour. Once again, thanks for your help.
Bonnie Berent DeWitt
NET/C# MVP since 2003

http://geek-goddess-bonnie.blogspot.com
Previous
Reply
Map
View

Click here to load this message in the networking platform