我写的似乎有点麻烦 SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=byq;database=Study"); con.Open(); SqlCommand cmd = new SqlCommand("select * from study where WeekDays='"+DropDownList1.Text.ToString()+"'",con); SqlDataReader dr = cmd.ExecuteReader(); ArrayList arr = new ArrayList();
while (dr.Read()) { string cla = dr.GetString(1); arr.Add(cla.ToString()); } for (int i = 0; i < arr.Count; i++) { if (arr[i].ToString() == "1110") { //Button1.BackColor = System.Drawing.Color.Green; Button1.Style.Add("Color","green"); } else { Button1.BackColor = System.Drawing.Color.Gray; } if (arr[i].ToString() == "1210") { Button2.BackColor = System.Drawing.Color.Green; } else { Button2.BackColor = System.Drawing.Color.Gray; } ......................................................
偶是这样写的 SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=byq;database=Study"); con.Open(); SqlCommand cmd = new SqlCommand("select * from study where WeekDays='"+DropDownList1.Text.ToString()+"'",con); SqlDataReader dr = cmd.ExecuteReader(); ArrayList arr = new ArrayList();
while (dr.Read()) { string cla = dr.GetString(1); arr.Add(cla.ToString()); } for (int i = 0; i < arr.Count; i++) { if (arr[i].ToString() == "1110") { //Button1.BackColor = System.Drawing.Color.Green; Button1.Style.Add("Color","green"); } else { Button1.BackColor = System.Drawing.Color.Gray; } if (arr[i].ToString() == "1210") { Button2.BackColor = System.Drawing.Color.Green; } else { Button2.BackColor = System.Drawing.Color.Gray; } ..............
你仔细思考下,你每循环一次实际上所有的button的颜色都在变!
可以这样来写 写预置一个表 结构如下默认所有按钮是灰色使用了net框架2以后有的数据类型泛型list阀值 控制按钮 1110 button1 1210 button2 。。List<string,Button> ctrllist = new List<string,Button>(); ctrllist.add("1110",button1); ctrllist.add("1210",button2); ..... for (int i = 0; i < arr.Count; i++) { button btn = ctrllist[arr[i].ToString()]; btn.backcolor = 绿色 }
{
if(ObjRows[0].rostring()=="绿色")
{
lab.Style.Add("color", "绿色");}
else
{
lab.Style.Add("color", "灰色");}}
}思路就是循环判断你取的值的颜色是不是数据库中的绿色,是就显示为绿色,不是就是灰色
button
{
background-color:expression(this.value=="有课" ? "#FF7788" : "#7788FF");
}
btnIndex.backcolor = ValueList[i].Trim() == "wrong"?color.灰色:color.绿色这样应该没错啊
SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=byq;database=Study");
con.Open();
SqlCommand cmd = new SqlCommand("select * from study where WeekDays='"+DropDownList1.Text.ToString()+"'",con);
SqlDataReader dr = cmd.ExecuteReader();
ArrayList arr = new ArrayList();
while (dr.Read())
{
string cla = dr.GetString(1);
arr.Add(cla.ToString());
} for (int i = 0; i < arr.Count; i++)
{
if (arr[i].ToString() == "1110")
{
//Button1.BackColor = System.Drawing.Color.Green;
Button1.Style.Add("Color","green"); }
else
{
Button1.BackColor = System.Drawing.Color.Gray;
}
if (arr[i].ToString() == "1210")
{
Button2.BackColor = System.Drawing.Color.Green;
}
else
{
Button2.BackColor = System.Drawing.Color.Gray;
}
......................................................
SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=byq;database=Study");
con.Open();
SqlCommand cmd = new SqlCommand("select * from study where WeekDays='"+DropDownList1.Text.ToString()+"'",con);
SqlDataReader dr = cmd.ExecuteReader();
ArrayList arr = new ArrayList();
while (dr.Read())
{
string cla = dr.GetString(1);
arr.Add(cla.ToString());
} for (int i = 0; i < arr.Count; i++)
{
if (arr[i].ToString() == "1110")
{
//Button1.BackColor = System.Drawing.Color.Green;
Button1.Style.Add("Color","green"); }
else
{
Button1.BackColor = System.Drawing.Color.Gray;
}
if (arr[i].ToString() == "1210")
{
Button2.BackColor = System.Drawing.Color.Green;
}
else
{
Button2.BackColor = System.Drawing.Color.Gray;
}
..............
写预置一个表
结构如下默认所有按钮是灰色使用了net框架2以后有的数据类型泛型list阀值 控制按钮
1110 button1
1210 button2
。。List<string,Button> ctrllist = new List<string,Button>();
ctrllist.add("1110",button1);
ctrllist.add("1210",button2);
..... for (int i = 0; i < arr.Count; i++)
{
button btn = ctrllist[arr[i].ToString()];
btn.backcolor = 绿色
}
建议你也不要用arraylist,涉及到装箱拆箱你可以使用List<string>代替arraylist