Форматирование списка с использованием свойства DataTextField

У меня есть список на моей странице aspx:

<asp:ListBox ID="lstTreatmentProvider" runat="server" SelectionMode="Multiple" Width="175px"
                                        Height="81" CssClass="SingleColumnlist" DataSourceID="dtsTreatmentProviders" DataTextField="FirstName" DataValueField="ServiceId"></asp:ListBox>

Я использую этот источник данных для списка:

<asp:ObjectDataSource ID="dtsTreatmentProviders" runat="server" SelectMethod="GetAllTreatmentProviders"
                        TypeName="Pc.PrecisionCare2.BLL.Administration.TreatmentProvider.TreatmentProviderBO"
                        SortParameterName="sortExpression"></asp:ObjectDataSource>

Как видите, я использую в поле списка DataTextField="FirstName", потому что мой источник данных возвращает некоторые данные поставщика лечения, включая имя, фамилию и т. Д.

Я хочу, чтобы мой список содержал First Name + Last Name Могу ли я сделать это каким-либо образом с помощью свойства DataTextField?

PS: Я не хочу этого делать в файле cs. Я хочу что-нибудь в aspx.

Заранее спасибо.


person asma    schedule 06.06.2011    source источник


Ответы (4)


Вы можете получить First Name + Last Name в своем SQL-запросе, если не хотите делать это в программном коде. например...

Select ([First Name] + [Last Name]) as [First Name],... from TableName
person Muhammad Akhtar    schedule 06.06.2011
comment
Я использую LINQ Query, который используется во многих других местах, поэтому я не хочу это менять. - person asma; 06.06.2011
comment
Я уже упоминал, что не хочу делать в файле cs. Но думаю у меня есть только эти два варианта :( - person asma; 06.06.2011

Вы можете попробовать добавить свойство Public в свой TreatmentProviderBO, как показано ниже.

public String FullName
{
    get { return FirstName + " " + LastName ;}
}

Вы можете установить для DataTextField значение FullName.

Если вы не можете редактировать BO, я думаю, вы можете использовать методы расширения, хотя я не очень уверен, можно ли указать имя метода для DataTextField. Вы можете попробовать.

person The King    schedule 06.06.2011

Будет ли этот пост вам полезен?

Привязать раскрывающийся список со словарем

Думаю, вы тоже можете использовать анонимный тип.

person ChristiaanV    schedule 06.06.2011
comment
Я не могу изменить свой запрос LINQ, иначе я знаю, как это сделать. - person asma; 06.06.2011

Если вы не хотите изменять запрос, поскольку вы придерживаетесь LINQ, попробуйте следующий

  var aa = (from Varible in Collection select new { name = Varible.FirstName + Varible.LastName }).ToList();

Теперь установите для свойства DataTextField значение «name». Надеюсь, поможет.

person Maxymus    schedule 06.06.2011