4

ドロップダウン リストをデータソースにバインドし、分離コードでテキスト列と値列を定義しました。

DropDownList1.DataTextField = "Product_Name"
DropDownList1.DataValueField = "Product_ID"

それは正常に動作します。DataTextFieldしかし、もう 1 つの列をに割り当てたいと思いますOrder_Date。私はこれでチャンスを試しました:

DropDownList1.DataTextField = "Product_Name"+"Order_Date"
    DropDownList1.DataValueField = "Product_ID"

しかし、うまくいきませんでした。に複数の値を表示することは可能DataTextFieldですか?

4

3 に答える 3

4

はい、これは次のコードで試すことができます:

var datasource = from x in products
             select new {
                 x.Id,
                 x.Code,
                 x.Description,
                 DisplayField = String.Format("{0} ({1})", x.Code, x.Description)
             };

DropDownList1.DataSource = datasource;
DropDownList1.DataValueField = "Id";
DropDownList1.DataTextField = "DisplayField";
DropDownList1.DataBind();
于 2013-11-12T12:26:23.610 に答える
1

Freak_Droidが提案したように、データベースから直接値を取得するのが最善の方法であり、私は彼のやり方に従いました。

于 2013-11-13T12:51:23.157 に答える
1

datasourceを埋めるオブジェクトを操作dropdownlistし、モデルに新しいプロパティを作成しました

public string Datatextfield
{
    get
    {
        return Name + " - Date:  " + Date.ToShortDateString();
    }
    set { Datatextfield = value; }
}

そして、aspx私は次のようにプロパティを使用します:

<asp:DropDownList ID="ddlList" DataSourceID="obj" runat="server" DataTextField="Datatextfield" DataValueField="ID">
于 2016-05-16T15:13:36.440 に答える