У меня есть таблица базы данных TravelRequest
, которая содержит, помимо прочего, поля SignOffName
и SignOffDate
. У меня есть настольный адаптер TravelRequestTable
на основе этой таблицы. У меня есть элемент управления DetailsView, который использует это через ObjectDataSource. Должны быть все довольно стандартные вещи.
Что я хочу сделать, это добавить свойство с именем SignOffNameDate
к адаптеру таблицы, которое объединяет два поля и , чтобы иметь возможность привязываться к нему в элементе управления DetailsView. Я хочу сделать это программно, а не добавлять другой столбец в SQL, потому что работать с нулевыми значениями сложно и зависит от некоторых других бизнес-правил.
Вот что я попробовал:
public partial class TravelRequestDS
{
public partial class TravelRequestRow
{
public string SignOffNameDate
{
get { return CombineNameDate(SignOffName, SignOffDate); }
}
}
}
Это свойство прекрасно работает, когда я обращаюсь к нему программно, но когда я пытаюсь привязать его к моей странице aspx:
<asp:DetailsView ID="DetailsView_TravelRequest" runat="server" AutoGenerateRows="False"
DataKeyNames="TravelRequestID" DataSourceID="ObjectDataSource_TravelRequest">
<Fields>
<asp:BoundField DataField="SignOffNameDate"
HeaderText="Sign Off" />
...
Я получаю исключение System.Web.HttpException: «Поле или свойство с именем« SignOffNameDate »не найдено в выбранном источнике данных».
Есть идеи, как я могу это сделать? Есть ли атрибут, который мне нужно добавить в свойство?