
c#这段代码我自己写的,运行的好慢,有谁可以帮我优化一下,变快一点 30
for(inti=0;i<dataGridView1.Rows.Count;i++){OleDbCommandCmd=newOleDbCommand("select时间f...
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
OleDbCommand Cmd = new OleDbCommand("select 时间 from [" + dataGridView1.Rows[i].Cells[0].Value.ToString() + "$] where 日期 like '" + DateTime.Now.ToLongDateString().ToString() + "'", Conn);
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand = Cmd;
DataSet gr = new DataSet();
oda.Fill(gr, "Addressg");
try
{
if (gr.Tables["Addressg"].Rows[i][0].ToString() == "1天")//这里的 i 能不能改成excel中名为”日期“的列里所有内容
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
}
else
{
if (gr.Tables["Addressg"].Rows[i][0].ToString() == "0.5天")
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.GreenYellow;
}
}
}
catch{}
} 展开
{
OleDbCommand Cmd = new OleDbCommand("select 时间 from [" + dataGridView1.Rows[i].Cells[0].Value.ToString() + "$] where 日期 like '" + DateTime.Now.ToLongDateString().ToString() + "'", Conn);
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand = Cmd;
DataSet gr = new DataSet();
oda.Fill(gr, "Addressg");
try
{
if (gr.Tables["Addressg"].Rows[i][0].ToString() == "1天")//这里的 i 能不能改成excel中名为”日期“的列里所有内容
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
}
else
{
if (gr.Tables["Addressg"].Rows[i][0].ToString() == "0.5天")
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.GreenYellow;
}
}
}
catch{}
} 展开
展开全部
for (int i = 0; i < dataGridView1.Rows.Count; i++)
这句 先定义一个 int len= dataGridView1.Rows.Count;可以提高很多速度;
还有就是用 foreach 代替for,可以提高N倍的速度....
这句 先定义一个 int len= dataGridView1.Rows.Count;可以提高很多速度;
还有就是用 foreach 代替for,可以提高N倍的速度....
展开全部
大哥,不带你这么玩的,不就是根据每行第一列的内容来改变该行的背景颜色么?
追问
(*^__^*) 嘻嘻……是啊!我是个新手,所以要多多麻烦这位兄弟了。我这个改变颜色是有一个要求的,那就是要根据excel获取到的内容来改变颜色。
比如excel表有两列,一列名为日期,一列名为时间。然后我获取今天的日期来检测列名:日期,里面是否有这一行,没有就提示没有。有的话就检测同一行的时间列是什么内容并提示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询