Conditional DataGridView Formatting

后端 未结 2 339
再見小時候
再見小時候 2020-11-29 11:37

I have a DataGridView. I set its .DataSource prop to be an BindingList of my own objects: a BindingList

I then created some columns fo

2条回答
  •  有刺的猬
    2020-11-29 11:38

    You can use the 'CellFormatting' event of the DataGridView. The DataGridViewCellFormattingEventArgs contains indexes of the row and the column of the current cell as it is being bound. I hope my code example makes some sense to you:

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        // Compare the column to the column you want to format
        if (this.dataGridView1.Columns[e.ColumnIndex].Name == "ColumnName")
        {
            //get the IChessitem you are currently binding, using the index of the current row to access the datasource
            IChessItem item = sourceList[e.RowIndex];
            //check the condition
            if (item == condition)
            {
                 e.CellStyle.BackColor = Color.Green;
            }
        }
    }
    

提交回复
热议问题