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{}
}
展开
 我来答
百度网友2c1a656
2017-06-14 · TA获得超过2747个赞
知道小有建树答主
回答量:215
采纳率:66%
帮助的人:121万
展开全部
for (int i = 0; i < dataGridView1.Rows.Count; i++)

这句 先定义一个 int len= dataGridView1.Rows.Count;可以提高很多速度;
还有就是用 foreach 代替for,可以提高N倍的速度....
x4_965be
2015-10-08 · TA获得超过243个赞
知道小有建树答主
回答量:814
采纳率:33%
帮助的人:277万
展开全部
大哥,不带你这么玩的,不就是根据每行第一列的内容来改变该行的背景颜色么?
追问
(*^__^*) 嘻嘻……是啊!我是个新手,所以要多多麻烦这位兄弟了。我这个改变颜色是有一个要求的,那就是要根据excel获取到的内容来改变颜色。
比如excel表有两列,一列名为日期,一列名为时间。然后我获取今天的日期来检测列名:日期,里面是否有这一行,没有就提示没有。有的话就检测同一行的时间列是什么内容并提示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式