例如,数据库有以下列:
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>