将数据视图中的两个值存储到下拉菜单中
本文关键字:两个 存储 下拉菜单 视图 数据 | 更新日期: 2023-09-27 18:18:31
是否有一种方法可以在下拉列表中存储ID和测试ID值,但我需要显示DisplayName?当项目被选中时,我需要这两个值
ID | TestID | DisplayName
1 | 2 | Test
示例代码:
ddList.DataSource = DvName;
ddList.DataTextField = "DisplayName";
ddList.DataValueField = "ID"; // + "TestID" ???
您可以使用分隔符将两个值放在一起,然后在取出它们时对它们进行分隔。
ddList.DataValueField = obj.ID + "~" + obj.TestID;
否则,您可以创建一个包含ID和TestID的字典,这样当您从下拉菜单中选择项目时,您就可以使用value字段作为字典的键并选择testd。
private Dictionary<string, string> referenceValues = new Dictionary<string, string>();
referenceValues.Add("ID", "TestID");
ddList.DataValueField = "ID";
//When pulling then value back
var referencedItem = referenceValues[ddList.selectedValue];
假设您从模型中获得这些值,您可以这样做:
public string NewValue
{
get
{
return ID+ "," + TestId;
}
}
ddList.DataSource = DvName;
ddList.DataTextField = "DisplayName";
ddList.DataValueField = "NewValue";
假设你为每个数据实例使用一个类;为类添加另一个属性并绑定到该属性:
public class MyObject
{
//other stuff
public string DisplayValue
{
get { return String.Format("{0} ({1})", ID, TestID); }
}
}
ddList.DataSource = DvName;
ddList.DataTextField = "DisplayName";
ddList.DataValueField = "DisplayValue";