访问gridview中的单元格

时间:2011-10-04 14:25:55

标签: c# sql winforms gridview datagridview

上周我开始尝试使用Winforms自动化一些报告。我不喜欢过渡(对你们中的一些人来说很简单)!

我目前正在使用Oracle SQL Developer创建的SQL视图中显示数据。我通过使用DataGridView任务来选择表并显示它来加入数据(这似乎是最直接的方法)。

所有数据都显示正常。但是,我现在想要访问表格中的单元格。我希望能够根据它们的值改变单元格的颜色,并在需要时提取一些数据。

要访问数据并突出显示我希望执行此类操作的行

protected void MyGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int theValue = Convert.ToInt32(e.Row.Cells[0].Text);

            if (theValue>0)
                e.Row.Cells[0].BackColor = System.Drawing.Color.Red
    }
}

它不起作用,因为事件未触发。我想我应该将数据绑定到gridview,但我已经通过设计器加载了所有数据。这是问题吗?我不知道如何自己编写代码,我之前尝试过,但它却摇摆不定。

此外,当我尝试通过设计器更改数据库的SQL查询时,它不起作用。我想我会以这个速度失去理智!

1 个答案:

答案 0 :(得分:1)

您需要在DataGridView上使用CellFormatting事件,如此

private void MyGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if ((int)MyGridView.Rows[e.RowIndex].Cells[0].Value > 30)
            {
                e.CellStyle.BackColor = System.Drawing.Color.Red;
                e.CellStyle.ForeColor = System.Drawing.Color.White;
            }
        }