C # / DataSet: создать и связать пользовательский столбец / свойство в DataTable объекта DataSet в XXXDataSet.cs - PullRequest
0 голосов
/ 30 мая 2010

У меня есть DataSet с DataTable, имеющим столбцы Number и Description.

Я не хочу связывать оба свойства с BindingSource, привязанным снова к 2 элементам управления.

Мне нужен третий столбец в DataTable, называемый NumberDescription, который представляет собой композицию

номера и описания. Это свойство привязано только к 1 свойству control / BindingSource`s

не 2.

Существует частичный файл XXXDataSet.Designer.cs и частичный файл XXXDataSet.cs. Конечно, я определил открытую строку NumberDescription {get (здесь выполняется несколько проверок; задан (здесь также выполняется несколько проверок}) в файле XXXDataSet.cs.

Но все это не связывает мое новое свойство / Столбец с BindingSource, к которому привязан DataTable, поскольку DataSet не знает новый столбец / свойство.

Чтобы сделать это новое свойство / столбец известным, я мог бы добавить новый столбец в DataTAble в представлении конструктора DataSet с именем NumberDescription. По крайней мере, я знаю, знаю новое свойство в списке BindingSource, чтобы я мог выбрать его. Но все это не помогло ??

Так, как мне сделать это правильно? Должен ли я вызывать свойство NumberDescription в свойстве Number AND Description?

1 Ответ

2 голосов
/ 30 мая 2010

Невозможно создать собственное свойство в типизированном классе строк и использовать его с привязкой данных.
Вы можете попробовать реализовать IListSource, IBindingList и ITypedList самостоятельно и вернуть PropertyDescriptor, но это потребует ужасающего объема работы.

Вместо этого вы можете создать вычисляемый столбец, создав столбец для нового объекта и установив его свойство Expression.

...