[英]Default value always display blank when bind a datasource to a DataGridViewComboBoxColumn
[英]DataSource, bind more then 1 value
我想将1列以上绑定到下拉列表,以便在用户单击按钮时可以获取列值,
ddlListMine.DataSource = GetSomeChickens();
ddListMine.DataTextField = "ChickenName";
ddListMine.DataValueField= "NumberOfEggsChickenLay";
ddListMine.Items.Insert(0, new ListItem("Please Please Please Select....", "0"));
ddListMine.DataBind();
我还有另一列“ ChickenType”,我想在“所选索引更改”列中访问它。
GetSomeChickens()
; 返回6列,包括ChickenName
, NumberOfEggsChickenLay
, ChickenType
等等。
编辑
当然,我可以使用选定的索引更改方法再次调用数据库,但是我认为必须有一种解决方法
在绑定期间,DropDownList不会保存整个对象,而仅包含由DataTextField和DataValueField定义的Text和Value。
为了找回选定的对象,您可以有一个方法,通过使用Linq这样传递ChickenName来获取ChickenType。
List<Chicken> Chickens = GetSomeChickens();
Var Chicken= Chickens.FirstOrDefault(c => c.ChickenName== ddlListMine.SelectedItem.Text);
if(Chicken!= null)
{
string ChickenType = Chicken.ChickenType ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.