2016-08-05 82 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