SqlConnection cn = new SqlConnection("Data Source = localhost;User ID = sa;Password = pp;DATABASE = db");
cn.Open();
SqlCommand cmd = new SqlCommand("Select wo_id,wo_state from Working",cn);
DataTable tbl = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tbl);
for (int i = 0; i < tbl.Rows.Count; i++)
{
ListViewItem lvi = new ListViewItem();
switch (tbl.Rows[i]["wo_state"].ToString())
{
case "完成":
lvi.ForeColor = Color.Red;
break;
case "开始":
lvi.ForeColor = Color.Green;
break;
case "待工":
lvi.ForeColor = Color.Blue;
break;
default:
break;
}
lvi.Text = tbl.Rows[i]["wo_id"].ToString();
ltv1.Items.Add(lvi);
}
这样写应该没错吧,就是不行,列出来的几个Item全是黑色的字。
但是这么写又可以:
for (int i = 0; i < 10; i++)
{
ListViewItem lvi = new ListViewItem();
switch (i % 3)
{
case 0:
lvi.ForeColor = Color.Red;
break;
case 1:
lvi.ForeColor = Color.Blue;
break;
case 2:
lvi.ForeColor = Color.Green;
break;
default:
break;
}
lvi.Text = i.ToString();
ListView1.Items.Add(lvi);
}
LitsView控件和TreeView控件都是这样,这是郁闷!
我快疯了,谁能帮帮我!?告诉我到底错在哪里?
cn.Open();
SqlCommand cmd = new SqlCommand("Select wo_id,wo_state from Working",cn);
DataTable tbl = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tbl);
for (int i = 0; i < tbl.Rows.Count; i++)
{
ListViewItem lvi = new ListViewItem();
switch (tbl.Rows[i]["wo_state"].ToString())
{
case "完成":
lvi.ForeColor = Color.Red;
break;
case "开始":
lvi.ForeColor = Color.Green;
break;
case "待工":
lvi.ForeColor = Color.Blue;
break;
default:
break;
}
lvi.Text = tbl.Rows[i]["wo_id"].ToString();
ltv1.Items.Add(lvi);
}
这样写应该没错吧,就是不行,列出来的几个Item全是黑色的字。
但是这么写又可以:
for (int i = 0; i < 10; i++)
{
ListViewItem lvi = new ListViewItem();
switch (i % 3)
{
case 0:
lvi.ForeColor = Color.Red;
break;
case 1:
lvi.ForeColor = Color.Blue;
break;
case 2:
lvi.ForeColor = Color.Green;
break;
default:
break;
}
lvi.Text = i.ToString();
ListView1.Items.Add(lvi);
}
LitsView控件和TreeView控件都是这样,这是郁闷!
我快疯了,谁能帮帮我!?告诉我到底错在哪里?
{
Label lb= row.FindControl("label") as Label;
if (lb != null)
{
if (lb.Text == "完成")
{
lb.ForeColor = Color.Red;
}
else if (lb.Text == "开始")
{ }
else if (lb.Text == "待工")
{ }
else
{
}
}
}你应该循环的数据控件,不是数据吧?
但是
根据你的程序在我的电脑上可以达到效果啊
Sqlcon = new SqlConnection(ConString);
Sqlcon.Open();
string SqlString="select name,Statue from TempDT01";
SqlAd = new SqlDataAdapter(SqlString,Sqlcon);
DataTable dt =new DataTable();
SqlAd.Fill(dt);
for(int i=0;i<dt.Rows.Count;i++)
{
ListViewItem lvt = new ListViewItem();
switch(dt.Rows[i][1].ToString())
{
case "完成":
lvt.ForeColor =Color.Red;
break;
case "待确认":
lvt.ForeColor = Color.Yellow;
break;
case "未完成":
lvt.ForeColor =Color.Blue;
break;
}
lvt.Text=dt.Rows[i][0].ToString();
this.listView1.Items.Add(lvt);
}
}
这就是我郁闷的地方