在网格视图中设置来自SQL Server的逗号分隔列表中的复选框选择

时间:2017-12-29 18:14:51

标签: c# asp.net aspxgridview

我想知道是否有人从数据库中提取csv选项列表并根据提取的文本值检查行。所以说我有一个网格视图,其中包含显示各种编程语言的选项。我想将这些语言与已保存在数据库中的语言相匹配。

O    ASP.NET
O    C#
O    VB.NET
...

因此,如果我返回的语言列表只是ASP.NET和VB.NET,我如何获取要检查的网格视图行的复选框?我可以使用View State,但我正在考虑更多基于数据的信息集,方法是逐步执行记录集并根据返回的数据集检查项目。

1 个答案:

答案 0 :(得分:1)

我很惊讶我能把这个弄清楚,但突然之间答案就是盯着我看。

        protected void SetLangs()
    {
        List<string> sellangs = new List<string>();
        string langs = hfPrgLangs.Value;
        string langtrim = langs.Replace(" ", "");
        sellangs = langtrim.Split(',').ToList<string>();
        foreach (DataListItem dl in dlLanguages.Items)
        {
            Label lblLangName = (dl.FindControl("lblLangName") as Label);
            CheckBox isChk = (dl.FindControl("cbLang") as CheckBox);
            for (int i = 0; i < sellangs.Count; i++)
            {
                if (sellangs[i].ToString() == lblLangName.Text.ToString())
                {
                    isChk.Checked = true;
                }
            }
        }
    }