listview 能不能改变列的颜色?
mgzei 2007-06-30 03:34:21 我用VS2005建立一个listview显示了一张表.......想在表中的列名为"性别"的列中..如果是男则字体颜色为红色...如果是女则字体颜色为兰色.........可以实现吗?该如何编写代码???我建立表的代码如下:
string con = "server=.;uid=sa;pwd=sa;database=XSCJ";
string tab = "SELECT XS.XH,XM,CXB.XBM,XS.ZY,CSSJ,ZXF,BZ FROM XS JOIN CXB ON XS.XB=CXB.XB";
SqlConnection conn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(tab, conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
lv.Columns.Add("学号",70 ,HorizontalAlignment.Left);
lv.Columns.Add("姓名",75 ,HorizontalAlignment.Left);
lv.Columns.Add("专业", 100, HorizontalAlignment.Left);
lv.Columns.Add("性别", 50, HorizontalAlignment.Left);
lv.Columns.Add("出生日期", 150, HorizontalAlignment.Left);
lv.Columns.Add("总学分", 60, HorizontalAlignment.Left);
lv.Columns.Add("备注", 200, HorizontalAlignment.Left);
lv.Visible = true;
while (reader.Read())
{
ListViewItem it = new ListViewItem();
it.SubItems.Clear();
it.SubItems[0].Text = reader["XH"].ToString();
it.SubItems .Add(reader["XM"].ToString());
it.SubItems.Add( reader["ZY"].ToString());
it.SubItems.Add(reader["XBM"].ToString());
it.SubItems.Add(reader["CSSJ"].ToString());
it.SubItems.Add(reader["ZXF"].ToString());
it.SubItems.Add(reader["BZ"].ToString());
if (reader["XBM"].ToString() == "男")
it.ForeColor = Color.Red;
else
it.ForeColor = Color.Blue;
lv.Items.Add(it);
}