如何在同一个下拉列表ASPX中添加各种SQL列



例如,数据库有以下列:

Name   Type   Place

我已经在一个下拉列表中显示了所有的名字;如何在同一下拉列表中显示所有三列(名称、类型、地点(?

这就是我得到的

<tr>
<td align="left" valign="top">Name:</td>
<td align="left" colspan="3" style="height: 21px" valign="top">
<asp:DropDownList ID="DropD_Name" runat="server" 
BackColor="White" AppendDataBoundItems="true" 
DataSourceID="SqlDS_Name" DataTextField="Name" DataValueField="Name" 
ForeColor="Black" 
SelectedValue='<%# Bind("Name") %>' Width="290px">
<Items>
<asp:ListItem Selected="True"></asp:ListItem>
</Items>
</asp:DropDownList>
</td>
</tr>

SqlDS_Name:

<asp:SqlDataSource ID="SqlDS_Name" runat="server" 
ConnectionString="<%$ ConnectionStrings:BlablablaConnectionString %>"
SelectCommand="SELECT Name, Type, Place FROM dbo.vwnames">
</asp:SqlDataSource>

谢谢你的帮助最后,这是查询的解决方案

SELECT CONCAT (Name,' - ',Type,' - ',Place) AS TextColumn,Name AS NameInfo FROM dbo.vwnames

你可以试试这个。但格式化将是错误的。

SelectCommand="SELECT CONCAT(Name,' ',Type,' ',Place) AS Name FROM dbo.vwnames"

你可以尝试使用字符串左键或右键和比例字体来改进它,但这超出了这个问题的范围。最好试试类似列表视图或网格视图的东西。

SELECT Name, Type, Place FROM dbo.vwnames

更改为:

SELECT Name + ',' + Type + ',' + Place AS TextColumn,Name FROM dbo.vwnames

结果:

<asp:SqlDataSource ID="SqlDS_Name" runat="server" 
ConnectionString="<%$ ConnectionStrings:BlablablaConnectionString %>"
SelectCommand="SELECT Name + ',' + Type + ',' + Place AS TextColumn,Name FROM dbo.vwnames">
</asp:SqlDataSource>

DropDownList更改为:

<asp:DropDownList 
ID="DropD_Name"
runat="server" 
BackColor="White" 
AppendDataBoundItems="true"
DataSourceID="SqlDS_Name" 
DataTextField="TextColumn" 
DataValueField="Name" 
ForeColor="Black" 
SelectedValue='<%# Bind("Name") %>' 
Width="290px">
<Items>
<asp:ListItem Selected="True"></asp:ListItem>
</Items>
</asp:DropDownList>