2016-08-05 81 views
0
chkTypeofIncident.DataSource = from t2 in   
        dbl.usp_GetIncidentsType().AsQueryable() 
        where t2.IncidentTypeFlag== '2' select t2; 

chkTypeofIncident.DataTextField = "Incidents"; 
chkTypeofIncident.DataValueField = "IncidentsMasterID"; 
chkTypeofIncident.DataBind(); 

我使用LINQ獲取了選定的值。但輸出是總是檢查數據庫中的最後一個值。複選框列表需要根據DB中保存的值進行檢查

var CheckedInc = from t2 in dbl.usp_GetIncidentsTypeDetail(Convert.ToInt32(HiddenIncidentRegisterID.Value)).AsQueryable() 
       select t2; 
foreach(var chk in CheckedInc) 
{      
    chkTypeofIncident.SelectedValue = chk.IncidentsMasterID.ToString(); 
} 
+1

什麼是你的問題? – Izzy

+0

chkTypeofIncident是複選框列表的ID。假設查詢結果爲1,2和3意味着。我想檢查所有的值,但現在只檢查最後的值 –

回答

1
foreach (var chk in CheckedInc) 
{ 
chkTypeofIncident.Items.FindByValue(chk.IncidentsMasterID).Selected = true; 
} 
+0

感謝@Vinoth Narayan ..它運作良好。 –

0
chkTypeofIncident.SelectedValue = CheckedInc.FirstOrDefault().IncidentsMasterID.ToString(); 
//here you also can use where condition 
+0

謝謝,但現在它只檢查第一個值。我想檢查保存在數據庫中的所有值 –

+0

儘管這段代碼可以解決這個問題,但是[包括解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有幫助以提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要使用解釋性註釋來擠佔代碼,因爲這會降低代碼和解釋的可讀性! – FrankerZ