8

DataValueField に複数の値を入れることは可能ですか?

たとえば、次のコードを使用します。

<asp:DropDownList ID="ixTeam" CssClass="ixTeam" runat="server" DataSourceID="dsixTeam" 
 DataValueField="TeamID" DataTextField="TeamName" AppendDataBoundItems="true">

2 つの値 (例: TeamID + "|" + TeamTypeID) を DataValueField に入れることはできますか?

4

4 に答える 4

14

で 2 つのフィールドを結合することはできませんがDataValueField、いくつかのことを試すことができます。

  1. 連結を使用して SQL クエリを作成できます (データベースからデータを取得する場合)。

SQL クエリ:

Select (TeamID +"|"+ TeamTypeID) as CombinedTeam, .....`

そして設定

DataFieldValue = "CombinedTeam"

または

  1. LINQ クエリを使用して、2 つのフィールドの連結に基づいて匿名型を作成できます。

例えば:

var query = from t in yourDataSource
            select new 
            {
                 CombinedTeam = t.TeamID + "|" + t.TeamTypeID,
            } 

次に、ドロップダウンのデータ ソースを LINQ クエリに指定し、DataFieldValue

yourDropDownList.DataSource = query;
yourDropDownList.DataFieldValue = "CombinedTeam";
于 2012-07-30T04:34:36.580 に答える
4

短い答えは、あなたができないということです。

代わりに、TeamID + '|' + TeamTypeID式を持つデータセットに計算列を作成し (データベースを使用していると仮定して、選択クエリに書式設定された表示列を追加してデータをフェッチするときにもこれを行うことができます)、代わりにその列にバインドします。

于 2012-07-30T04:34:07.693 に答える
3

はい、できます。次のように、SQL サーバーから取得するときにデータをフォーマットします。

Select TeamID + ' | ' + TeamTypeID CombinedColumn

を設定します。DataValueField=CombinedColumn

于 2012-07-30T04:36:56.413 に答える
0
SELECT  CAST(TeamID AS VARCHAR(100)) + ' | ' + CAST(TeamTypeID AS VARCHAR(100)) as CombinedColumn, TeamID ,TeamTypeID FROM [tblName]

これは私にとってはうまくいきます。残りはintエラーに変換されます。

于 2021-06-11T09:01:14.630 に答える