我目前正在开发一个程序,用C#表单显示和处理数据库中的数据。我有一个在程序加载时为空的DataGridView,当用户从ToolStripMenu中选择项目时,它会在数据库中填充数据。我需要能够每秒更改每行中单元格的背景颜色。我已经实例化了一个计时器,并将其设置为每秒都打勾。我设置了一个方法事件,每次计时器滴答时(每秒)执行一次,如下所示:
void _timer_0_Tick(object sender, EventArgs e)
{
}
在这种方法中,我希望能够根据Status的好坏来将DataGrid中每行的“status”单元颜色设置为红色或绿色。
这个方法中的一些伪代码说明了我想做的事情:
void _timer_0_Tick(object sender, EventArgs e)
{
bool isDataStable = //code to determine if stable on my end
if(isDataStable == true)
{
DataGrid.Row[Index].Column["Status"].BackColor = Green;
}
else
{
DataGrid.Row[Index].Column["Status"].BackColor = Red;
}
}
我见过的每个DataGridView行/列编辑示例都必须使用基于DataGridView的事件处理程序,如何在实时编辑GridView的同时实现计时器?
由于
答案 0 :(得分:1)
你的伪代码很接近 - 只需使用适当的属性:
void _timer_0_Tick(object sender, EventArgs e)
{
bool isDataStable = //code to determine if stable on my end
if(isDataStable == true)
{
DataGrid.Rows[Index].Cells["Status"].Style.BackColor = Color.Green;
}
else
{
DataGrid.Rows[Index].Cells["Status"].Style.BackColor = Color.Red;
}
}