0

我从 database 上的一张表中读取了我的 dropdownlost 数据。我想在我的下拉列表中添加一个外部值( Select )。这是我的数据源 sql 代码

SELECT        ID, Part, fxCarId
FROM            tblParts
WHERE        (fxCarId = @fxCarId)
UNION
SELECT        TOP (1) 0 AS Expr2, 'Select' AS Expr1
FROM            tblParts AS tblParts_1

如何将此“选择”文本添加到我的下拉列表中?

4

3 回答 3

2

要添加默认列表项,请执行以下操作:

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="True" runat="server">
    <asp:ListItem Text="Please select.." Value="SomeValue" Selected="true"></asp:ListItem>
</asp:DropDownList>
于 2012-05-02T07:51:40.293 回答
1

您是正确的,但是您的联合要求两个语句具有相同的列数,顶部有 2 列,底部只有 2 列。

SQL-Server 也不需要您直接从表中选择,因此SELECT TOP 1您可以直接指定值,而不是从表中选择:

SELECT  ID, Part, fxCarId
FROM    tblParts
WHERE   fxCarId = @fxCarId
UNION
SELECT  0, 'Select', 0

我倾向于确保“选择”位于任何下拉列表顶部的是添加一个 SortOrder 列,这样您可以确保“选择”是列表顶部的默认值,但下拉列表的其余部分按字母顺序排列,这对用户来说更合乎逻辑。

SELECT  ID, Part, fxCarId, 1 [SortOrder]
FROM    tblParts
WHERE   fxCarId = @fxCarId
UNION
SELECT  0, 'Select', 0, 0
ORDER BY SortOrder, Name
于 2012-05-02T07:51:43.320 回答
0

如果我理解,那么就这样做。

<asp:DropDownList ID="ddl" runat="server" DataTextField="Part" DataValueField="Id"
                                    AppendDataBoundItems="true" >
                                    <asp:ListItem Text="--Select Text--" Value="-1" />
                                </asp:DropDownList>

AppendDataBoundItems="true"是最重要的。并进行 SQL 查询。

SELECT        ID, Part, fxCarId
FROM            tblParts
WHERE        (fxCarId = @fxCarId)

没有工会。希望能帮助到你

于 2012-05-02T07:59:34.323 回答