views:

175

answers:

1

Hello,

I have a DataSet with a DataTable having the columns Number and Description.

I do not want to bind both properties to a BindingSource bound again to 2 controls.

What I want is a 3rd column in the DataTable called NumberDescription which is a composition

of Number and Description. This property is bound only to 1 control/BindingSource`s property

not 2.

There is the partial XXXDataSet.Designer.cs file and the partial XXXDataSet.cs file. Of course I have defined the public string NumberDescription {get (doing some checks here;set (doing also some checks here} in the XXXDataSet.cs file.

But all this does not bind my new property/Column to the BindingSource the DataTable is bound to because the DataSet does not know the new column/property.

To make this new property/column known I could add a new column to the DataTAble in the DataSet designer view naming it NumberDescription. At least I see know the new property in the listing of the BindingSource so I can choose it. But all that did not help??

So how do I do that stuff properly? Should I call the NumberDescription Property in the Number AND Description Property ?

+1  A: 

It is not possible to create a custom property in a typed row class and use it with databinding.
You could try implementing IListSource, IBindingList, and ITypedList yourself, and returning the PropertyDescriptor, but it will involve a horrifying amount of work.

Instead, you can make a calculated column by making a column for your new proeprty and setting its Expression property.

SLaks
ee
Yes the Property NumberDescription is in the partial DataRow class in my XXXDataSet.cs file.So I write in the Expression Property of my NumberDescription column: Number + Description, right?But where is my new PROPERTY NumberDescription now used?The thing is I just can not make Number + Description as one column straight away because I still have to do some null checks on Number and Description and depending on that checks I return null or a string.concat(Number + " " + Description)I really need that " " empty char...
msfanboy
You can do all that in the `Expression`. You would then not make a property yourself.
SLaks
thx bro worked out nicely. Number + ' ' + Description in the expression.
msfanboy