【问题标题】:Display more columns from the db in the DropDownList在 DropDownList 中显示来自 db 的更多列
【发布时间】:2011-06-11 11:09:33
【问题描述】:

如何在asp.net的DropDownList中显示两列?

SqlDataSourceNamePeop.SelectCommand = "select name,forename from people";
DropDownListCaptain.DataTextField = "name";

像这样它只显示名称。但是我怎样才能显示名字+名字呢?

<asp:DropDownList ID="DropDownListPeople" 
                  runat="server" 
                  DataSourceID="SqlDataSourceNamePeop">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSourceNamePeop" 
                   ConnectionString="xxxxx" 
                   runat="server">
</asp:SqlDataSource>

【问题讨论】:

  • 请告诉我们更多关于您正在使用的工具、框架、技术、后端工具的信息,谢谢。

标签: asp.net drop-down-menu sqldatasource


【解决方案1】:

最简单的方法是让你的 sql 查询如下:

SqlDataSourceNameJuc.SelectCommand = "select name + ' ' +forename as FullName from people";

然后将此自定义属性绑定到您的下拉列表,如下所示:

DropDownListCaptain.DataTextField = "FullName";

如果它解决了您的问题,请告诉我,谢谢。

【讨论】:

    【解决方案2】:

    将您的选择命令更改为

    "Select name + ',' + forename as 'name' from people"
    

    【讨论】:

      【解决方案3】:
      <asp:DropDownList ID="DropDownList9" runat="server" 
                  DataSourceID="SqlDataSource3" DataTextField="**CALL_NAMESURNAME**" 
                  DataValueField="CALL_NAME">
              </asp:DropDownList>
              <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
                  ConnectionString="<%$ ConnectionStrings:McCarthyConnectionString %>" 
                  SelectCommand="SELECT [CALL_NAME], [SURNAME],**CALL_NAME + SURNAME AS [CALL_NAMESURNAME]** FROM [Sheet1$] where COY_NAME LIKE '%abc%'">
              </asp:SqlDataSource>
      

      检查 ** ** 零件

      【讨论】:

        【解决方案4】:
        IList<PM_ClientInformation> objPM_ClientInformation = new List<PM_ClientInformation>();
        
        //get information in objPM_ClientInformation 
        
                    foreach (PM_ClientInformation f in objPM_ClientInformation)
                    {
                        string text = string.Format("{0}{1}",
                            f.PM_cliFirstName.PadRight(10,'\u00A0'),
                            f.PM_cliLastName.PadRight(10,'\u00A0'));
                        ddlClientName.Items.Add(new ListItem (text ,f.PM_cliId.ToString()));
                    }
        

        它确实有效。

        【讨论】:

          【解决方案5】:

          下拉列表不能显示两个项目。您必须合并 trhem 然后将结果绑定到它。

          请注意,还有一些其他的下拉列表(基于 ajax 或 simple )能够绑定到两个或更多列,但 ASP.net 无法处理它

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-01-30
            • 2021-02-10
            • 1970-01-01
            • 2016-03-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多