[英]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.