Solved

Databinding issues

Posted on 2009-03-31
7
289 Views
Last Modified: 2012-05-06
Experts,

I'm really scratching my head.  I used to do all my "databinding" programmatically myself, but then I decided, why not use .DataBindings???

Well, I think I know now; they don't bloody work.

I can't databind a checkbox OR numericupdown...

These databindings don't work.  All the information is correct, but I'm always getting errors when I .EndEdit saying that these columns do not allow nulls...

I've tried changing "DataSourceUpdateMode.OnPropertyChanged" to "DataSourceUpdateMode.OnValidation" - no joy.

Is there a solution?

Thanks,

Jake
nudDiscount.DataBindings.Add("Value", MyDataSet.Tables("customers"), "decDiscount", False, DataSourceUpdateMode.OnPropertyChanged, 0)
 
nudTerms.DataBindings.Add("Value", MyDataSet.Tables("customers"), "numTerms", False, DataSourceUpdateMode.OnPropertyChanged, 0)
 
chkEDICInsured.DataBindings.Add("Checked", MyDataSet.Tables("customers"), "bitEDCInsured", False, DataSourceUpdateMode.OnPropertyChanged, False)

Open in new window

0
Comment
Question by:jake072
  • 4
  • 3
7 Comments
 
LVL 48

Accepted Solution

by:
jpaulino earned 500 total points
ID: 24029059
You can use CurrentItemChanged of BindingSource and do the handle you need.
Check this small example
http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_23750187.html 
0
 
LVL 14

Author Comment

by:jake072
ID: 24029763
jpaulino,

Thanks for the reference...  It seems that using the attached code WILL send the data back to the controls, however, I don't understand why I keep getting NoNullAllowedException's if the user does not manually go and change the value...

i.e.
If you want 'False' in a checkbox, you have to toggle it to true, then back to false....
If you want 0 in the numericupdown, you have to toggle it to 1, then back to 0...

Why doesn't it pick up the value in there?

I've played with changing the Validation and Property change events to no avail...

Thanks,

Jake

nudDiscount.DataBindings.Add("Value", MyDataSet.Tables("customers"), "decDiscount", True)
 
nudTerms.DataBindings.Add("Value", MyDataSet.Tables("customers"), "numTerms", True)
 
chkEDCInsured.DataBindings.Add("Checked", MyDataSet.Tables("customers"), "bitEDCInsured", True)

Open in new window

0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24030013
What datasource are you using and what field property ?
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 14

Author Comment

by:jake072
ID: 24030500
I am using MyDataSet.Tables("customers") as a standard DataSet...

Fields as above....  bitEDCInsured, numTerms, decDiscount

Jake

P.S.  Out of office till tomorrow morning - thanks for the help.
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 24031643
But do you have the field that gives you problems with allow nulls ?
0
 
LVL 14

Author Comment

by:jake072
ID: 24038731
jpaulino,

I'm not sure what you mean.  the 3 fields mentioned all do not allow nulls, so I have to set a default value in the dataset, otherwise, the user needs to toggle them manually, or I need to toggle them in code (.Checked = True, then .Checked = False....)

I don't understand why I need to toggle them...

Jake
0
 
LVL 14

Author Closing Comment

by:jake072
ID: 31564817
I managed to get it to work...  If you setup the DataBindings via the designer, and also toggle the value manually it will work great; otherwise, use default values...  But thanks for pointing me in the right direction.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

777 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