C# 如何更改datagrid中大于零值的单元格的颜色

C# 如何更改datagrid中大于零值的单元格的颜色,c#,winforms,sql-server-2008,C#,Winforms,Sql Server 2008,在此处输入代码我在网格中有两个单元格,当我在其他单元格中输入大于零值的值时,我想将一个单元格的颜色和值更改为零 private void grdDetail_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { if (this.IsLoadComplete) { UpdateValueofQtyCell(

在此处输入代码
我在网格中有两个单元格,当我在其他单元格中输入大于零值的值时,我想将一个单元格的颜色和值更改为零

    private void grdDetail_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        { 
            if (this.IsLoadComplete) 
              { 
                UpdateValueofQtyCell(e.ColumnIndex); 
              } 
       }
  private void UpdateValueofQtyCell(int index)
        {
            int cur_row = grdDetail.CurrentRow.Index;

            if (index == 1)
            {
                grdDetail[1, cur_row].Style.BackColor = Color.White;
                grdDetail[2, cur_row].Style.BackColor = Color.FromArgb(224, 224, 224);
                grdDetail[2, cur_row].Value = 0;
            }
           else  if (index == 1)
            {
                grdDetail[2, cur_row].Style.BackColor = Color.White;
                grdDetail[1 cur_row].Style.BackColor = Color.FromArgb(224, 224, 224);
                grdDetail[1, cur_row].Value = 0;
             }
        }
您可以使用以下代码:

    for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
    {
        if (dataGridView1.Rows[i].Cells[0].Value.ToString() != "0")
        {
            dataGridView1.Rows[i].Cells[0].Style.BackColor = Color.Yellow;
        }
    }
for(int i=0;i
在类级别创建以下变量

bool IsAnyGreaterThanZero = false;
然后调用下面的第一个函数,该函数告诉您是否有任何单元格值大于零

private void CheckForGreaterThanZero()
{
    for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
      {

         if ((int)dataGridView1.Rows[i].Cells[0].Value > 0)
            {
              IsAnyGreaterThanZero = true;
            }
      }
}
CreateThanzero()的私有无效检查
{
对于(int i=0;i0)
{
IsAnyGreaterThanZero=真;
}
}
}
然后调用下面的函数来更改值等于零的单元格的颜色

private void ChangeOtherCellColor()
 {
  if(IsAnyGreaterThanZero)
  {
    for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
      {
        if ((int)intdataGridView1.Rows[i].Cells[0].Value == 0)
        {
            DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
            CellStyle.BackColor = Color.Red;
            dataGridView1.Rows[i].Cells[0].Style = CellStyle;
        }
      }
   }


  }
private void ChangeOtherCellColor()
{
如果(i大于零)
{
对于(int i=0;i
到目前为止,您尝试了哪些不起作用的内容?私有void grddeail_CellBeginEdit(对象发送方,DataGridViewCellCancelEventArgs e){if(this.IsLoadComplete){UpdateValueofQtyCell(e.ColumnIndex);}事实上,我已经完成了上面给出的代码,但问题是,当我放入上次保存的值时,网格单元格颜色不出现。您可以将其放入:void dataGridView1_CellEndEdit(对象发送方,DataGridViewCellEventArgs e){……}如果一个单元格的值大于零值,我希望更改另一个单元格的颜色,该单元格的颜色为零value@minu您可以尝试事件void dataGridView1\u CellFormatting(对象发送者,DataGridViewCellFormattingEventArgs e)我不知道你的代码Wajid Ali先生,但当加载最后一个值单元格颜色时,我如何在另一个页面win应用程序上获得一个页面gridview值