从 SQL 服务器的逗号分隔列表中设置网格视图中的复选框选择
Setting checkbox selections in Grid View from comma separated list from SQL Server
我想知道是否有人有从数据库中提取 csv 选项列表并根据提取的文本值检查行的示例。所以说我有一个网格视图,其中包含显示各种编程语言的选项。我想将这些语言与数据库中保存的语言相匹配。
O ASP.NET
O C#
O VB.NET
...
那么,如果我返回的语言列表只是 ASP.NET 和 VB.NET,我如何让这些网格视图行的复选框被选中?我可以使用视图状态,但我更多地考虑通过遍历记录集并根据返回的数据集检查项目来获得基于数据的信息集。
很惊讶我能弄清楚这个问题,但突然间答案就在眼前。
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;
}
}
}
}
我想知道是否有人有从数据库中提取 csv 选项列表并根据提取的文本值检查行的示例。所以说我有一个网格视图,其中包含显示各种编程语言的选项。我想将这些语言与数据库中保存的语言相匹配。
O ASP.NET
O C#
O VB.NET
...
那么,如果我返回的语言列表只是 ASP.NET 和 VB.NET,我如何让这些网格视图行的复选框被选中?我可以使用视图状态,但我更多地考虑通过遍历记录集并根据返回的数据集检查项目来获得基于数据的信息集。
很惊讶我能弄清楚这个问题,但突然间答案就在眼前。
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;
}
}
}
}