【问题标题】:Listbox formatting using DataTextField property使用 DataTextField 属性设置列表框格式
【发布时间】:2011-06-06 06:09:36
【问题描述】:

我的 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 中的东西。

提前致谢。

【问题讨论】:

    标签: asp.net listbox-control datatextfield


    【解决方案1】:

    如果您不想在后面的代码中执行此操作,可以在 SQL 查询中获取 First Name + Last Name。比如……

    Select ([First Name] + [Last Name]) as [First Name],... from TableName
    

    【讨论】:

    • 我正在使用 LINQ 查询,并且在许多其他地方都使用过,所以我不想改变它。
    • 我已经提到我不想在cs文件中做。但我想我只有这两个选择:(
    【解决方案2】:

    您可以尝试向您的 TreatmentProviderBO 添加公共属性,如下所示

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

    您可以将 DataTextField 设置为 FullName。

    如果你不能编辑 BO,我想你可以使用扩展方法,虽然我不太确定你是否可以给 DataTextField 一个方法名称。你可以试试。

    【讨论】:

      【解决方案3】:

      这篇文章对你有帮助吗?

      Bind drop down list with Dictionary

      我认为你也可以使用匿名类型。

      【讨论】:

      • 我无法更改我的 LINQ 查询,否则我知道该怎么做。
      【解决方案4】:

      如果您不想在坚持使用 LINQ 时更改查询,请尝试以下方法

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

      现在将 DataTextField 属性设置为“名称”。希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多