2017-07-28 46 views
0

在下拉列表的数据源的其他值我已连接的存储过程一个DropDownList获取asp.net

存储过程具有3个值REPID,RepName和RepRef

的DropDownList的具有2倍的值,其是DataTextField和DataValueField

我连接到DataTextField和RepName到DataValueField REPID

我想要得到的RepRef太

我怎么能做到这一点

这里是我的代码

   conn.Open(); 
       SqlCommand cmd = new SqlCommand("mySP", conn); 
       SqlDataAdapter da = new SqlDataAdapter(cmd); 
       cmd.CommandType = CommandType.StoredProcedure; 

       da.Fill(dt); 
       if (dt.Rows.Count > 0) 
       { 
        ddlReps.DataSource = dt; 
        ddlReps.DataTextField = "RepName"; 
        ddlReps.DataValueField = "RepID"; 
        ddlReps.DataBind(); 
       } 

如果用户选择报告名为“城市”,它具有ID = 16

我怎样才能从那里RepRef?

回答

0

使用LINQ,并添加您的匿名类型添加新属性要格式化的方式:

var datasource = dt.Select(x=> new { 
       x.RepID, 
       x.RepName, 
       x.RepRef, 
       DisplayField = String.Format("{0} {1}", x.RepName, x.RepRef) 
      }).ToList(); 

ddlReps.DataSource = datasource; 
ddlReps.DataValueField = "RepID"; 
ddlReps.DataTextField = "DisplayField"; 
ddlReps.DataBind();