gpt4 book ai didi

C# 通过匹配字符串数组来选择 CheckBoxList 项目

转载 作者:行者123 更新时间:2023-12-04 00:36:36 26 4
gpt4 key购买 nike

我正在努力寻找问题的解决方案,我花了相当多的时间尝试其他解决方案但无济于事。任何帮助或解释将不胜感激。

我有一个 SQL 数据库,其中有一个名为“categories”的字符串字段,其中包含由“,”分隔的类别列表,例如转诊、门诊。

因此,我希望将此列表与多个 CheckListBoxes 项目 (ID=CategoryCBL) 进行比较,只要类别与需要选择的 CheckListBox 项目匹配即可。

这是我的代码:

string categories = result.GetString(12).ToString();
string[] categorie = categories.Split(',');

//loops through all seperated categories (cat) in categorie.
foreach(string cat in categorie)
{
//loops through all list checkboxes
for(int index = 0; index <CategoryCBL.Items.Count; index++)
{
//gets the listcheck box string
string item = CategoryCBL.Items[index].ToString();
//compare the list box string against the current Category looking for matches
if (item == cat)
{
//if a match occures the list checkbox at that index is selected
CategoryCBL.SelectedIndex = index;

TextBox1.Text += item + "-" + cat + "-" + index;
}
}
}

这是我的检查列表框代码:

<asp:CheckBoxList ID="CategoryCBL" class="listItem" RepeatLayout="Table" RepeatColumns="2" RepeatDirection="Vertical" runat="server" Width="100%">
<asp:ListItem>Referrals</asp:ListItem>
<asp:ListItem>Outpatients</asp:ListItem>
<asp:ListItem>Admissions/Discharges</asp:ListItem>
<asp:ListItem>A&E</asp:ListItem>
<asp:ListItem>Medical Records</asp:ListItem>
<asp:ListItem>Outcome Form</asp:ListItem>
<asp:ListItem>Data Quality</asp:ListItem>
<asp:ListItem>Executive Reporting</asp:ListItem>
<asp:ListItem>Infection Control</asp:ListItem>
<asp:ListItem>Planning and Performance</asp:ListItem>
<asp:ListItem>QlikView</asp:ListItem>
<asp:ListItem>Theatres</asp:ListItem>
<asp:ListItem>Waiting Times</asp:ListItem>
</asp:CheckBoxList>

因此,我将我的类别设为 result.getString(12).ToString();,在此示例中,它等于 Infection Control、QlikView、Theatres

您还可以看到我已将结果打印到 TextBox1。

这是上述代码的结果

/image/XZYU6.jpg

如您所见,仅选择了剧院。

/image/eJdHW.jpg

TextBox1 中的输出显示 X 索引处出现 3 个匹配项,这些索引与我的各个 list 框的索引对齐。

我真的很想知道为什么只选择最后一场比赛的复选框,而不选择前 2 场比赛。

有什么想法吗?

谢谢。

最佳答案

将需要检查的每个项目的 Selected 属性设置为 true。

foreach (ListItem item in CheckBoxList.Items)
{
item.Selected = true;
}

在您的代码中:

//loops through all list checkboxes 
for(int index = 0; index <CategoryCBL.Items.Count; index++)
{
//gets the listcheck box string
string item = CategoryCBL.Items[index].ToString();
//compare the list box string against the current Category looking for matches
if (item == cat)
{
//if a match occures the list checkbox at that index is selected
CategoryCBL.Items[index].Selected= true;

TextBox1.Text += item + "-" + cat + "-" + index;
}
}

我认为这个问题是相似的,可能有其他更好的答案Check multiple items in ASP.NET CheckboxList

关于C# 通过匹配字符串数组来选择 CheckBoxList 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49755390/

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