Databind won't work for Combobox and Checkbox
-
Hi ! Pardon for my bad english. Ive been working this code for weeks,
foreach (Control Ctrl in this.Controls)
{
switch (Ctrl.GetType().ToString())
{
case "clarinrt.form.other.sdate":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.slookup":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.scheck":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Checked", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.snumeric":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.stext":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.sdropdown":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("SelectedIndex", formdataset, Ctrl.Tag.ToString()));
break;
default:
break;
}}
For each control, TAG property will be filled such as "account.detail" refering to a column in table name, while formdataset is Dataset for this form. This code in Load method on base form. the problem with sdropdown and scheck which inherited from combobox and Checkbox. If I comment out, those two part, Databind work fine. Can someone told me, what I should do ? sdropdown will be databind with Integer column while scheck will be databind with Boolean column Thank you for your help...
-
Hi ! Pardon for my bad english. Ive been working this code for weeks,
foreach (Control Ctrl in this.Controls)
{
switch (Ctrl.GetType().ToString())
{
case "clarinrt.form.other.sdate":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.slookup":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.scheck":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Checked", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.snumeric":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.stext":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("Text", formdataset, Ctrl.Tag.ToString()));
break;
case "clarinrt.form.other.sdropdown":
if (Ctrl.Tag.ToString() != "") Ctrl.DataBindings.Add(new Binding("SelectedIndex", formdataset, Ctrl.Tag.ToString()));
break;
default:
break;
}}
For each control, TAG property will be filled such as "account.detail" refering to a column in table name, while formdataset is Dataset for this form. This code in Load method on base form. the problem with sdropdown and scheck which inherited from combobox and Checkbox. If I comment out, those two part, Databind work fine. Can someone told me, what I should do ? sdropdown will be databind with Integer column while scheck will be databind with Boolean column Thank you for your help...
-
-
Hi There ! I've using some properties set in my class to replace Tag
public string cfield { get; set; }
but it is doesnt work for checkbox and combobox. Thank you for your help.
A dataset doesn't implement
INotifyPropertyChanged
; you might need to create a wrapper for it.public partial class Form1 : Form, INotifyPropertyChanged { bool \_test; public bool Test { get { return \_test; } set { \_test = value; PropertyChangedEventHandler handler = this.PropertyChanged; if (null != handler) handler(this, new PropertyChangedEventArgs("Test")); } } public Form1() { Test = true; InitializeComponent(); checkBox1.DataBindings.Add(new Binding("Checked", this, "Test")); } private void button1\_Click(object sender, EventArgs e) { Test = !Test; } public event PropertyChangedEventHandler PropertyChanged; }
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]