簡體   English   中英

Datagridview單元格樣式更新

[英]Datagridview cell style update

我在使用datagridview時遇到一個奇怪的問題。 我需要更改所選單元格(A)的樣式以響應另一個單元格(B)= x的值。 (A)是文本框,而(B)是組合框。 我捕獲到CellEndEdit事件,並且當用戶更改(B)的值時一切正常:(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;
            }
        }
    }

據我所知,DataGridViews的所有樣式都需要在DataGridView.CellFormatting事件內進行。

此事件是您更改默認單元格樣式/顏色的機會。

我不得不強制刷新網格以更新樣式。 例如。 this.dataGridView_TidKanaler.Refresh()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM