2017-07-28 17 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();