gpt4 book ai didi

c# - 复选框列表问题

转载 作者:行者123 更新时间:2023-11-30 21:15:29 26 4
gpt4 key购买 nike

我有 5 个 CheckBoxList 控件,其 ID 分别为 CheckBoxList1CheckBoxList2 等等。它们中有相同的列表项。

现在当我写下一行时:

CheckBoxList1.Items[0].Selected = true;

它选择了 CheckBoxList1 的第一项,但也选择了所有其他 CheckBoxList 的第一项。知道为什么会发生这样神秘的事情吗?

所有 CheckBoxList 都具有相同数量的项目,每个项目具有相同的文本和相同的值。

它们使用从数据库中获取的数据动态填充。

SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM EMPLOYEE_TABLE WHERE EMPLOYEE_TABLE.EmployeeID NOT IN (SELECT ORG_UNIT.ManagerID FROM ORG_UNIT WHERE ORG_UNIT.OrgUnitID = '" + teamid + "') AND EMPLOYEE_TABLE.OrgUnitID = '" + teamid + "'",con);

DataSet da = new DataSet();
DataTable table = new DataTable();
adapter.Fill(table);
adapter.Fill(da);
int count = da.Tables[0].Rows.Count;
CheckBoxList1.Items.Clear();
CheckBoxList2.Items.Clear();
CheckBoxList3.Items.Clear();
CheckBoxList4.Items.Clear();
CheckBoxList5.Items.Clear();

no_of_listitem = count;

for (int i = 0; i < table.Rows.Count; i++)
{
ListItem temp = new ListItem();
temp.Text = table.Rows[i]["FName"].ToString();
employeeid[i] = table.Rows[i]["EmployeeID"].ToString();
temp.Value = i.ToString();
CheckBoxList1.Items.Add(temp);
CheckBoxList2.Items.Add(temp);
CheckBoxList3.Items.Add(temp);
CheckBoxList4.Items.Add(temp);
CheckBoxList5.Items.Add(temp);
}

最佳答案

这可能是因为您填充这些列表的方式......

我猜您正在向每个列表中添加相同的对象。所以对任何对象的任何修改都会影响所有列表..


使用以下语句:

    CheckBoxList.Items.Add(New ListItem(table.Rows[i]["FName"].ToString(), 
table.Rows[i]["EmployeeID"].ToString()));

关于c# - 复选框列表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com