c# - 根据它们在数据库中的状态突出显示列表框中的特定项目
问题描述
我在数据库中有一个包含 ID、名称和性别列的表。我像这样填充列表框:
public void fill_listbox()
{
lbProjects.Items.Clear();
con.Open();
cmd = new SqlCommand("SELECT name FROM Table1", con);
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
lbProjects.Items.Add(dr["name"].ToString());
}
con.Close();
}
是否可以突出显示(不选择)列表框中具有特定性别的所有项目?例如,更改数据库中所有性别为“男性”的项目的背景颜色/字体粗细/字体颜色。
如果无法使用列表框,我可以使用什么其他组件?
解决方案
通过使用 listview 来解决它。
public void fill_listbox()
{
listView1.Columns.Add("", -2, HorizontalAlignment.Left);
listView1.Items.Clear();
con.Open();
cmd = new SqlCommand("SELECT name,gender FROM Table1", con);
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
ListViewItem lvi = new ListViewItem();
if (dr["gender"].ToString() == "male")
{
lvi.Text = dr["name"].ToString();
lvi.ForeColor = Color.Blue;
listView1.Items.Add(lvi);
}
else {
lvi.Text = dr["name"].ToString();
lvi.ForeColor = Color.Pink;
listView1.Items.Add(lvi);
}
}
con.Close();
}
推荐阅读
- reactjs - 反应实用程序函数来绑定这个关键字
- swiftui - SwiftUI 如何使用滑动禁用行删除?
- postgresql - solr 中的数据是否由 ckan 中的 postgres 支持
- javascript - 错误:shinyjs:解析 JavaScript 文件时出错:ReferenceError:未定义要求
- android - 在 recyclerview 中流畅地播放来自 URL 的视频
- python - python中以下代码的输出是什么?
- node.js - 无法使用 Mongoose 连接到 MongDB Atlas
- javascript - 如何从节点获取数据?
- webgl2 - 如何使用统一缓冲区对象和实例化渲染绘制多个对象?
- java - 是否仅将对象类型字符串等视为聚合