DataValueField c#中的多个值。净

时间:2012-07-30 04:29:35

标签: c# .net

只是徘徊是可以在DataValueField c#中放置多个值。净?

示例:

我有以下代码:

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

我可以将2个值(TeamID +“|”+ TeamTypeID)放入DataValueField吗?

4 个答案:

答案 0 :(得分:13)

你不能在DataValueField中组合两个字段,但你可以尝试几件事。

  1. 您可以使用串联构建SQL查询(如果从数据库获取数据)
  2. 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";
      

答案 1 :(得分:4)

简短的回答是你不能。

相反,在数据集中创建一个计算列,其表达式为TeamID + '|' + TeamTypeID(当您获取将格式化的显示列添加到选择查询的数据时,也可以执行此操作,假设您使用的是数据库) ,然后在该列上绑定。

答案 2 :(得分:3)

是的,可以做到。从SQL Server检索时格式化数据如下:

Select TeamID + ' | ' + TeamTypeID CombinedColumn

现在设置DataValueField=CombinedColumn

答案 3 :(得分:0)

SELECT  CAST(TeamID AS VARCHAR(100)) + ' | ' + CAST(TeamTypeID AS VARCHAR(100)) as CombinedColumn, TeamID ,TeamTypeID FROM [tblName]

这对我有用,其余的正在转换为 int 错误。