2013-12-20 45 views
0

我有一個基於從一覽表中,我從實體框架中獲得價值設置複選框登記或未登記:如何從列表的EntityFramework設置複選框值

這裏是我的代碼,但他們沒有工作給我的錯誤「只有分配,調用,遞增,遞減,在等待着,新對象表達式可以用作聲明」

foreach (var item in leader) 
{ 
item.IsTopLeader == true ? chkIsTopLeader.Checked = true : chkIsTopLeader.Checked = false; 
item.IsSubLeader == true ? chkIsSubLeader.Checked = true : chkIsSubLeader.Checked = false; 
item.IsTeacher == true ? chkIsTeacher.Checked = true : chkIsTeacher.Checked = false; 
} 

回答

1

你可以縮短代碼:

foreach (var item in leader) 
{ 
    chkIsTopLeader.Checked = item.IsTopLeader; 
    chkIsSubLeader.Checked = item.IsSubLeader; 
    chkIsTeacher.Checked = item.IsTeacher; 
} 

你剛開克錯誤,因爲你的三元運營商需要分配的東西 - 即:

bool someString = (1 == 1) ? "yes" : "no"; 
+0

真棒,它的工作,但我有轉換item.IsTopLeader爲boolean(chkIsTopLeader.checked = Convert.ToBoolean(item.isTopLeader)爲什麼我必須轉換它?他們已經是布爾屬性 – dawncode

+0

如果它已經是布爾值,則不必將其轉換。也許是空的布爾(布爾?)? – Jonesopolis

+0

是的,它們是可空的(公共可爲空 IsTopLeader {get; set;})是有區別的 – dawncode