郁闷问题,谁能告诉我为什么!!我快疯了
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控件都是这样,这是郁闷!
我快疯了,谁能帮帮我!?告诉我到底错在哪里?
[解决办法]
foreach (GridView row in this.GridView1.Rows)
{
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);
}
}