【问题标题】:Comma delimited string values from SQL Server to ListBox select从 SQL Server 到 ListBox 选择的逗号分隔字符串值
【发布时间】:2013-03-20 13:21:18
【问题描述】:

我在网上搜索过,但找不到以下问题的解决方案。

我有一个 ListBox 控件,它使用 FormLoad 上的 SQL Server 数据库表中的值列表填充。

这允许用户选择多个值,这些值可以作为逗号分隔值提交到 SQL Server 数据库列中。

问题是我希望用户允许从同一个 ListBox 控件编辑这些提交的值。

因此,我想向用户展示从数据库中提取的值作为 ListBox 中的选定值,而不是用这些值填充 ListBox,因为 ListBox 已经用 FormLoad 上的设置值填充。

我正在尝试这个,但它不起作用 -

foreach (ListItem li in lst_subspeciality.Items)
{
    foreach (string sqlitem in dt.Rows[0]["SubSpeciality"].ToString().Split(','))
    {
        if (li.Text == sqlitem.ToString())
        {
           li.Selected = true;
        }
    }
}

非常感谢任何帮助。

谢谢。

【问题讨论】:

    标签: asp.net sql-server listbox controls delimited


    【解决方案1】:

    我没有测试这个,但是

    List<string> myValues = dt.Rows[0]["SubSpeciality"].ToString().Split(',').ToList();
    
    foreach (ListItem li in lst_subspeciality.Items)
    {
            if (myValues.Contains(li.Text))
                li.Selected = true;
    }
    

    【讨论】:

    • 不错的解决方案,但我所要做的就是将 if(li.Text == sqlitem.ToString()) 更改为 if (li.Text.Trim() == sqlitem.Trim()) .非常感谢戴夫!
    • 不用担心,我确实再次更新了,因为代码现在“更整洁”了,并且可以在包含或不包含 TRIM 的情况下工作! :)
    猜你喜欢
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    相关资源
    最近更新 更多