Datagridview单元格样式更新

本文关键字:更新 样式 单元格 Datagridview | 更新日期: 2023-09-27 18:14:01

我面对一个奇怪的问题与数据视图。我需要改变选定单元格(a)的样式,以响应另一个单元格(B) = x的值。(A)为文本框,(B)为组合框。当用户改变(B)的值时,我捕获了事件CellEndEdit,一切都工作正常:(A)的样式立即改变。

现在,当我尝试以编程方式更新datagridview时,这不起作用。奇怪的是这两种方式共享同一个方法UpdateTimeChannelCell。如果我以编程方式调用此方法,则datagridview不会更新其单元格的样式。我尝试了更新,刷新,无效的datagridview没有运气

        private void UpdateTimeChannelCell(DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex == 1 || e.ColumnIndex == 3 || e.ColumnIndex == 5 || e.ColumnIndex == 7 || e.ColumnIndex == 9 || e.ColumnIndex == 11 || e.ColumnIndex == 13)
        {
            if ((int)this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == 0)
            {
                this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value = new Time();
                this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Style = disableStyle;
            }
            else
            {
                this.dataGridView_TidKanaler.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Style = enableStyle;
            }
        }
    }

Datagridview单元格样式更新

据我所知,DataGridViews的所有样式都需要在DataGridView中发生。CellFormatting事件。

此事件是您更改单元格默认样式/颜色的机会。

我必须强制刷新我的网格来更新样式。如。this.dataGridView_TidKanaler.Refresh ()