CheckBoxList.Items.FindByValue 出现不解,求解疑!

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:19:26
private void ReadPower(CheckBoxList CBoxList, string p)
{
// 清除所有记录
for (int i = 0; i < CBoxList.Items.Count; i++)
CBoxList.Items[i].Selected = false;
// 显示有效记录
string S = "SELECT item FROM DeveloperLink a INNER JOIN Developer b ON a.Item = b.ID " +
"WHERE (a.ItemID = " + DT.Rows[0]["id"].ToString() + ") AND (b.Class = (SELECT ID FROM Developer WHERE (Name LIKE '%" + p + "%') AND (Class = 0)))";
DataTable RPDT = VD.OpenDataSet(S).Tables[0];
if (RPDT.Rows.Count > 0)
for (int i = 0; i < RPDT.Rows.Count; i++)
{
string Sss = RPDT.Rows[i][0].ToString();
CBoxList.Items.FindByValue(Sss).Selected = true;
}
}

每次运行到 CBoxList.Items.FindByValue(Sss).Selected = true; 就出错!
出错信息
System.NullRefer

CBoxList.Items.FindByValue(Sss)没有找到,所以你点Selected 是没有的,就报这个错误了!

你这个貌似是将查出来的全部选中吧,那就这样写吧
foreach(ListItem li in CBoxList.Items)
{
li.Selected =true;
}
应该是这样的,你调试下!