【问题标题】:Changing Row Back Color on DevExpress GridView on condition在条件下更改 DevExpress GridView 上的行背景颜色
【发布时间】:2020-03-16 16:54:01
【问题描述】:

我有两个网格视图和一个按钮单击按钮我将数据从 gridView1 复制到 gridView2 这是我的代码:

private async void btnAdd_Click(object sender, EventArgs e)
    {
        int[] selectedRows = gridView1.GetSelectedRows();
        for (int i = 0; i < selectedRows.Length; i++)

        {
            DataRow rowGridView1 = (gridView1.GetRow(selectedRows[i]) as DataRowView).Row;
            for (int j = 0; j < gridView3.RowCount; j++)
            {
                if (rowGridView1["BS"].ToString() == gridView3.GetRowCellValue(j, "ProjectN").ToString() &&
                    rowGridView1["Repère"].ToString() == gridView3.GetRowCellValue(j, "Parts").ToString())
                {
                    DataRow row = dt.NewRow();
                    row[0] = rowGridView1["BS"];
                    row[1] = gridView3.GetRowCellValue(j, "Parts");
                    row[2] = gridView3.GetRowCellValue(j, "Profile");
                    row[3] = rowGridView1["Quantité"];

                    dt.Rows.Add(row);
                }
                else if(j == (gridView3.RowCount -1)) 
                {
                    gridView1.RowStyle += (senderr, ee) => {

                        if (gridView1.GetFocusedDataRow() == rowGridView1)
                        {
                            ee.Appearance.BackColor = Color.Red;
                            ee.HighPriority = true;
                        }
                    };
                }
            }
        }

我想更改不符合条件的 gridView1 行的背景颜色,以便验证它们
不幸的是,所有行都变成了红色。
我该如何解决这个问题。
提前致谢

Answer by Giannis Paraskevopoulos

【问题讨论】:

    标签: c# winforms devexpress-gridcontrol


    【解决方案1】:

    这里的代码修改了,用记事本完成了,还是测试。

    首先gridview1的背景颜色必须根据“BS”和“repère”的值来改变,这在RowStyle函数中完成。

    private void gridView1_RowStyle(object sender, RowStyleEventArgs e)  {  
    
        If (e.RowHandle = this.gridView1.FocusedRowHandle)  
        {
           string strBS = gridView1.GetRowCellValue(row, "BS");
           string strRepere = gridView1.GetRowCellValue(row, "Repère");
            if (SearchRow(strBS,strRepere)==true)
             {
               e.Appearance.BackColor = Color.Red  
               e.HighPriority = True  
              }
        }
    }
    
    private bool SearchRow(string strBS, string strRepere)  {  
        bool RowExist=false;
        for (int j = 0; j < gridView3.RowCount; j++)
        {
          if (gridView3.GetRowCellValue(j, "ProjectN").ToString() ==strBS &&
            gridView3.GetRowCellValue(j, "Parts").ToString()==strRepere)
          {
             RowExist=true;
             Break;
          }
        }
       return RowExist;    
    }
    

    将 gridview1 行添加到 gridview3

    private async void btnAdd_Click(object sender, EventArgs e)
    {
            int[] selectedRows = gridView1.GetSelectedRows();
            for (int i = 0; i < selectedRows.Length; i++)
            {
                DataRow rowGridView1 = (gridView1.GetRow(selectedRows[i]) as DataRowView).Row;
                for (int j = 0; j < gridView3.RowCount; j++)
                {
                    if (rowGridView1["BS"].ToString() == gridView3.GetRowCellValue(j, "ProjectN").ToString() &&
                        rowGridView1["Repère"].ToString() == gridView3.GetRowCellValue(j, "Parts").ToString())
                    {
                        DataRow row = dt.NewRow();
                        row[0] = rowGridView1["BS"];
                        row[1] = gridView3.GetRowCellValue(j, "Parts");
                        row[2] = gridView3.GetRowCellValue(j, "Profile");
                        row[3] = rowGridView1["Quantité"];
    
                        dt.Rows.Add(row);
                dt.AcceptChanges();
                    }
                }
           }
    
           gridView1.Datasource=dt;
           grid.DataBind();
    }
    

    【讨论】:

      猜你喜欢
      • 2013-08-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      相关资源
      最近更新 更多