Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Change text of databound textbox programatically not creating Proposed version of data

Posted on 2003-11-13
5
602 Views
Last Modified: 2012-05-04
This is a little esoteric. I have a text box control (txtbox1) bound to a dataset.  I am setting the .text property programmatically based on user interaction with another control.  The text box is on a TabPage (tabpage1).  When I set the text programmatically, navigate to TabPage2, and then return to the TabPage1,  the textbox reverts to the original text.  After changing the text programmatically if I test for myDataSet.myTable(0).myrow(currentrow)("FieldName",DataRowVersion.Proposed) I get a message that there is no proposed value.
 If I type the change by hand  I return the new value as proposed, and I don't lose the new value between navigation of the tabspages.  I would like to get the programmatic value to set a proposed value so that I still have the option of rejecting the change to the dataset, without having to write my own sub to manage this.  
Any ideas how to get the programmed text the register as having changed?  I tried setting the .modified property to True this did not work.
Is there a way to work directly with the data set to set a value as proposed while maitaining a record of the original value?  
thanks in advance
Tom Majarov  
0
Comment
Question by:tmajarov
  • 2
  • 2
5 Comments
 
LVL 4

Expert Comment

by:NetPointer
ID: 9742154
If you BIND your dataset with your textbox instead of manually assigning the .text property, you will get your desired results.
0
 
LVL 4

Expert Comment

by:NetPointer
ID: 9742161
Me.TextBox1.DataBindings.Add("Text",dataset.datatable,"FieldName")
0
 

Author Comment

by:tmajarov
ID: 9742244
Dear NetPointer,
The text box is bound - it displays an initial value from the dataset.  I am trying to edit the text, and the thereby the intial value from the dataset by passing a value derived from the another control, for example a listbox, to the text property of the text box.   I can change the value in the dataset directly: for example

mydataset.tables(0).rows(0)("myField") = myListBox.SelectedText  

- but this then become the current value in the dataset and cannot be undone with a cancelcurrentedit call against the bindingcontext for the table.  
0
 

Accepted Solution

by:
tmajarov earned 0 total points
ID: 9742536
O.K. I think I just figured out how to do what I need to do.  I will not be awarding points for answers.  I am presenting the solution here, the moderators can decide whether or not to remove the question.  The solution my be helpful to others.


     Dim myRow As DataRow = myDataset.Tables("myTable").Rows(0)
     myRow.BeginEdit()
     myRow("myField") = strText
    TextBox1.Text = myRow("myField", DataRowVersion.Proposed)

This allows the new value (strText) to be listed as a propsed value in the dataset, and then sets the text in TextBox1 to this value.  It also allows the TextBox1.text to revert to the original value when CancelCurrentEdit is called against the BindingContext.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary Displaying images in RichTextBox is a common requirement with limited solutions available. Pasting through clipboard or embedding into RTF content only support static images.  This article describes how to insert Windows control objects int…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question