Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
DataBindings.Add();
Message
 
To
16/01/2006 21:27:49
General information
Forum:
ASP.NET
Category:
Other
Miscellaneous
Thread ID:
01087341
Message ID:
01087553
Views:
10
Bonnie,
Here is some "real" code.

Property for the user control (property of this.foTemperature)
[Category("Data")]
[Description("some description")] //TODO: add a description
[DefaultValue(ALS.Terminator.Enums.TemperatureGlobal.Cold)]
[RefreshProperties(RefreshProperties.Repaint)]
public ALS.Terminator.Enums.TemperatureGlobal GlobalTemperature
{
	get
	{
		ALS.Terminator.Enums.TemperatureGlobal ReturnValue;
		if (this.chkGlobalTemperature.Checked)
		{
			if (this.rbCold.Checked)
			{
				ReturnValue = ALS.Terminator.Enums.TemperatureGlobal.Cold;
			}
			else if (this.rbWarm.Checked)
			{
				ReturnValue = ALS.Terminator.Enums.TemperatureGlobal.Warm;
			}
			else if (this.rbHot.Checked)
			{
				ReturnValue = ALS.Terminator.Enums.TemperatureGlobal.Hot;
			}
			else
			{
				ReturnValue = ALS.Terminator.Enums.TemperatureGlobal.Cold;
			}
		}
		else
		{
			ReturnValue = ALS.Terminator.Enums.TemperatureGlobal.NotGlobal;
		}

		return ReturnValue;
	}
	set
	{
		switch (value)
		{
			case ALS.Terminator.Enums.TemperatureGlobal.Cold:
				this.chkGlobalTemperature.Checked = true;
				this.rbCold.Checked = true;
				break;
			case ALS.Terminator.Enums.TemperatureGlobal.Warm:
		                  this.chkGlobalTemperature.Checked = true;
				this.rbWarm.Checked = true;
				break;
			case ALS.Terminator.Enums.TemperatureGlobal.Hot:
				this.chkGlobalTemperature.Checked = true;
				this.rbHot.Checked = true;
				break;
			case ALS.Terminator.Enums.TemperatureGlobal.NotGlobal:
				this.chkGlobalTemperature.Checked = false;
				this.rbCold.Checked = true;
				break;
			default:
				this.chkGlobalTemperature.Checked = true;
				this.rbCold.Checked = true;
				value = ALS.Terminator.Enums.TemperatureGlobal.Cold;
				break;
		}
				
		this.EnableDisableControlControls(this.chkGlobalTemperature.Checked);
	}
}
Property for the object class (property of this.oFill):
public ALS.Terminator.Enums.TemperatureGlobal GlobalTemperature
{
	get
	{
		return this.globalTemperature;
	}
	set
	{
		if (Enum.IsDefined(typeof(ALS.Terminator.Enums.TemperatureGlobal), value))
		{
			this.globalTemperature = value;
		}
		else
		{
			throw new ArgumentException("Invalid Fill Step Global Temperature value (" + ((byte) value).ToString()+").");
		}
	}
}
And here is the line that fails:
this.foTemperature.DataBindings.Add("GlobalTemperature", this.oFill, "GlobalTemperature");
I hope this code explains things better than my previous writing.

Einar

>>(Hmm this doesn't make a lot of sense even if I know what I am talking about <s>)<
>
>LOL! Well ... it makes a *little* bit of sense ... maybe. <s>
>
>>I'll post some "real" code when I get back to work tomorrow.<
>
>OK ... I'll read the "real" code when *I* get back to work tomorrow. =)
>
>~~Bonnie
>
>
>>Bonnie,
>>Thanks for your reply.
>>1) check
>>2) check
>><bg>
>>I said it is probably something obvious, but not that obvious :)
>>
>>The same fooUserControl instance, that I am having a problem databinding, has another property that I databind to a different property in the same fooObject without any problems. (Hmm this doesn't make a lot of sense even if I know what I am talking about <s>)
>>
>>I'll post some "real" code when I get back to work tomorrow.
>>
>>Einar
>>
>>>Einar,
>>>
>>>In order for this to work, I think you need the following:
>>>
>>>1) "UserControlProperty" has to be a property in the UserControl class from which fooUserControl is instantiated (a real property, with Get/Set methods).
>>>
>>>2) "ObjectProperty" has to be a property in the Object class from which fooObject is instantiated (again, a real property).
>>>
>>>If you already *do* have it set up like this, how about posting some relevant code?
>>>
>>>~~Bonnie
>>>
>>>
>>>
>>>
>>>>I am having some problems adding a databinding to my object. The following line throws an exception:
>>>>
>>>>this.fooUserControl.DataBindings.Add("UserControlProperty", this.fooObject, "ObjectProperty");
>>>>
>>>>
>>>>The exception caught is:
>>>>
>>>>System.ArgumentException: Object type cannot be converted to target type.
>>>>
>>>>
>>>>I can't figure out why the exception is thrown. I am sure I am overlooking something very obvious.
>>>>
>>>>Any help would be appreciated.
>>>>
>>>>Thanks,
>>>>Einar
Semper ubi sub ubi.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform