1.点击datagridview第三列,整行变为绿色,再次点击后变回白色2.点击datagridview第一列,判断第四列“年月日"类型的时间加上30天比今天大还是小,并给出提示
时间: 2023-06-12 16:02:50 浏览: 55
1. 首先,需要为DataGridView绑定CellClick事件,然后在事件处理程序中进行处理。代码如下:
```csharp
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// 判断是否是第三列
if (e.ColumnIndex == 2)
{
// 获取当前行
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
// 判断当前行的背景颜色是否为绿色
if (row.DefaultCellStyle.BackColor == Color.Green)
{
// 如果是绿色,则改为白色
row.DefaultCellStyle.BackColor = Color.White;
}
else
{
// 如果是白色,则改为绿色
row.DefaultCellStyle.BackColor = Color.Green;
}
}
}
```
2.同样地,需要为DataGridView绑定CellClick事件,并在事件处理程序中进行处理。代码如下:
```csharp
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// 判断是否是第一列
if (e.ColumnIndex == 0)
{
// 获取当前行
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
// 获取第四列的值
string dateString = row.Cells[3].Value.ToString();
// 将字符串转换为日期类型
DateTime date = DateTime.Parse(dateString);
// 加上30天
date = date.AddDays(30);
// 判断是否比今天大
if (date > DateTime.Now)
{
MessageBox.Show("时间比今天大");
}
else
{
MessageBox.Show("时间比今天小");
}
}
}
```
注意:第四列的值必须为“年月日”类型的时间,否则会抛出异常。