我在数据库中有一个表,其中包含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();
}
是否可以在列表框中突出显示(不选择)具有特定性别的所有项目? 例如,更改数据库中所有以“ male”为性别的项目的背景颜色/字体粗细/字体颜色。
如果无法使用列表框,我还可以使用什么其他组件?
答案 0 :(得分:0)
改为使用列表视图解决了该问题。
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();
}