Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 296
  • Last Modified:

Databinding issues

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
jake072
Asked:
jake072
  • 4
  • 3
1 Solution
 
jpaulinoCommented:
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
 
jake072Author Commented:
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
 
jpaulinoCommented:
What datasource are you using and what field property ?
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
jake072Author Commented:
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
 
jpaulinoCommented:
But do you have the field that gives you problems with allow nulls ?
0
 
jake072Author Commented:
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
 
jake072Author Commented:
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now