【问题标题】:How can I get value in values of item of checkboxlist ? c# [closed]如何获取 checkboxlist 项的值? c# [关闭]
【发布时间】:2015-03-26 22:17:42
【问题描述】:

我想匹配来自阅读器和复选框的值以更改复选框列表项的选定值。但它不起作用,我不知道该怎么办?谢谢。

   while (reader.Read())
        {
                       CheckBoxList1.Items.FindByValue(reader["malzeme_id"].ToString()).Selected = true;
         }

我也试过了,

while (reader.Read())
        {

for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            {

                if (CheckBoxList1.Items[i].Value.Equals(reader["malzeme_id"].ToString()))
                {

                    CheckBoxList1.Items[i].Selected = Convert.ToBoolean( reader["isSelected"]);

                }

}

【问题讨论】:

  • 定义“不起作用”。它不编译吗?它会抛出异常吗?它会产生错误的结果吗?什么都没有发生?
  • 代码有错误。它是土耳其语,我将其翻译为“对象不是由对象的示例设置的”
  • @lkalay 我想那是因为 FindByValue 返回 null 然后您尝试在其上设置 Selected 属性-您调试了吗? (即分成 2 个步骤,看看 FindByValue 返回什么)
  • 如何在复选框列表中搜索或查找项目值以更改所选值
  • @lkalay 你的做法是正确的——看起来无论 reader["malzeme_id"] 解析为什么都不在列表中。我想它会区分大小写 - 这可能是问题吗?你能显示你的列表中的内容以及 reader["malzeme_id"] 是什么吗?

标签: c# asp.net checkbox checkboxlist reader


【解决方案1】:

这是我在谷歌搜索如何以编程方式选择列表中的项目时发现的第一件事。

假设 CheckedListBox 中的项目是字符串:

for (int i = 0; i < checkedListBox1.Items.Count; i++)

 {
  if ((string)checkedListBox1.Items[i] == value)
   {
    checkedListBox1.SetItemChecked(i, true);
   }
}

或者

int index = checkedListBox1.Items.IndexOf(value);

if (index >= 0)
{
  checkedListBox1.SetItemChecked(index, true);
}

此遮阳篷是在 this 帖子中找到的,并由 wdavo 发布。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多