[英]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.