簡體   English   中英

將兩個值設置為來自數據庫的下拉列表

[英]Set two values to a dropdownlist from db

我在detailsview中有一個下拉列表。 現在,我正在使用DataTextField來顯示文本,但是現在我想再添加一個textvalue。

我的aspx:

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="nFuturesId"
                            DataSourceID="FutureCommodityODS" DefaultMode="Insert" OnItemInserting="DetailsView1_ItemInserting"
                            SkinID="detailsviewSkin" OnItemInserted="DetailsView1_ItemInserted">
    <Fields>
        <asp:TemplateField HeaderText="Future" SortExpression="strFutureName">
                <InsertItemTemplate>
                        <BrummerComp:SortableDropDownList ID="DropDownListFuturesInsert" runat="server" DataSourceID="FutureNameODS"
                                        DataTextField="strFutureName" DataValueField="nFuturesId" SkinID="BCdropdownlistSkin">
                        </BrummerComp:SortableDropDownList>
                </InsertItemTemplate>
        </asp:TemplateField>
    </Fields>               
</asp:DetailsView>

我想將一列添加到DataTextField中,稱為strFutureShortName。 我希望它是這樣的:

DataTextField="strFutureName, strFutureShortName"

我的想法是我可以在我的Page_Load中獲得DropDownList並嘗試從中添加值:

if (!IsPostBack) {
        DropDownList ddl = (DropDownList)DetailsView1.FindControl("DropDownListFuturesInsert");
        ddl.DataTextField = "strFutureName"; //Here I would like "strFutureName" + "strFutureShortName"
    }

但是此代碼不起作用(當我在.aspx中刪除了屬性DataTextField時)。

有人知道我該怎么做嗎?

編輯:

我想我找到了綁定DDL的位置,它正在使用表映射,如下所示:

global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping();
tableMapping.ColumnMappings.Add("strFutureName", "strFutureName");

您不能直接在文本字段中添加多個值。 您必須為您的實體創建一個單獨的屬性,然后將其添加為datetext字段。

舉個例子吧

public class Person
{
    public int PersonId {get;set;}
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName 
    {
        get
        {
            return string.Format("{0},{1}", FirstName, LastName);
        }
    }
}

現在,您需要將該FullName設置為數據源。

<BrummerComp:SortableDropDownList ID="DropDownListFuturesInsert" runat="server"    DataSourceID="FutureNameODS"
                                    DataTextField="FullName" DataValueField="PersonId" SkinID="BCdropdownlistSkin">
                    </BrummerComp:SortableDropDownList>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM