开发者

C#/DataSet: Create and bind a custom column/property in a DataSet`s DataTable in the XXXDataSet.cs

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.

Ther开发者_开发问答e 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 ?


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜