C# 如何按单元格颜色对datagridview排序?

C# 如何按单元格颜色对datagridview排序?,c#,datagridview,colors,cell,background-color,C#,Datagridview,Colors,Cell,Background Color,我想按单元格背景颜色对datagridview进行排序。 例如: 单元格[1]的哪一行是红色的,优先级在第一位。 那个单元格的哪一行是白色的,优先级在第二位 在下面的代码中,我更改单元格的背景色 DataGridViewCellStyle FormTypeCellStyle = new DataGridViewCellStyle(); FormTypeCellStyle.BackColor = Color.Red; for (int i = 0; i <

我想按单元格背景颜色对datagridview进行排序。 例如: 单元格[1]的哪一行是红色的,优先级在第一位。 那个单元格的哪一行是白色的,优先级在第二位

在下面的代码中,我更改单元格的背景色

DataGridViewCellStyle FormTypeCellStyle = new DataGridViewCellStyle();
        FormTypeCellStyle.BackColor = Color.Red;

        for (int i = 0; i < dataGridView1.RowCount; i++)
        {
            if (dataGridView1.Rows[i].Cells["FormID"].Value.ToString() != Convert.ToString(SettingVariables.FormID_NormReqFromBb))
            {
                dataGridView1.Rows[i].Cells["PersianName"].Style = FormTypeCellStyle;
            } 
        }    
DataGridViewCellStyle FormTypeCellStyle=新DataGridViewCellStyle();
FormTypeCellStyle.BackColor=Color.Red;
对于(int i=0;i

现在,我想按单元格颜色对datagridview进行排序。请帮助我,我如何才能做到这一点?

您可以按相同的条件对数据源进行排序,您可以设置颜色

dataGridView1.DataSource = data.OrderBy(x => x.FormID != Convert.ToString(SettingVariables.FormID_NormReqFromBb));

如果不使用DataTable作为绑定源,对DataGridView进行排序是一件令人头疼的事情。我建议您使用DataTable作为绑定源,并添加一些额外的列进行排序。您可以隐藏其他列,单击“排序”按钮后,从DataTable创建DataView并将其用于绑定源。您可以尝试使用此链接