如何通过Sql命令将外部值添加到DataSource?

时间:2012-05-02 07:44:32

标签: asp.net sql sql-server sql-server-2005

我从数据库中的一个表中读取了dropdownlost数据。我想在我的下拉列表中添加一个外部值(Select)。 这是我的datasorource 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

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

3 个答案:

答案 0 :(得分:2)

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

<asp:DropDownList ID="DropDownList1" AppendDataBoundItems="True" runat="server">
    <asp:ListItem Text="Please select.." Value="SomeValue" Selected="true"></asp:ListItem>
</asp:DropDownList>

答案 1 :(得分: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

答案 2 :(得分: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)

没有工会。希望它有所帮助