轉帖|使用教程|編輯:龔雪|2016-06-13 09:18:01.000|閱讀 1172 次
概述:對于選擇,C1FlexGrid提供了SelectionBackground和SelectionForeground屬性,可以設置選擇的背景色和前景色。本文就在此基礎上擴展,選擇行的樣式該如何設置。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
<ComponentOne Studio for WPF下載>
在之前的章節里,我們已經討論過給單元格和選擇單元格設置顏色。對于選擇,C1FlexGrid提供了SelectionBackground和SelectionForeground屬性,可以設置選擇的背景色和前景色。本文就在此基礎上擴展,選擇行的樣式該如何設置。
同樣的我們需要繼承CellFactory,并且重寫ApplyCellStyls方法。代碼參考:
flex.CellFactory = new MyCellFactory();
然后我們重寫ApplyCellStyles方法,代碼參考:
public override void ApplyCellStyles(C1FlexGrid grid, CellType cellType, CellRange range, Border bdr) { if (cellType == CellType.Cell && (grid.Rows[range.Row] as Row) != null) { Row rowExt = grid.Rows[range.Row] as Row; if (grid.Selection.Row == range.Row) { rowExt.FontWeight = FontWeights.Bold; rowExt.FontStyle = FontStyles.Italic; rowExt.FontSize = 16; rowExt.Foreground = Brushes.Gray; } else { rowExt.FontWeight = FontWeights.Normal; rowExt.FontStyle = FontStyles.Normal; rowExt.FontSize = 12; rowExt.Foreground = Brushes.Black; } } base.ApplyCellStyles(grid, cellType, range, bdr); }
在這段代碼中,我們可以看出來,我們需要通過grid拿到行,并且通過行的相關屬性來設置字體、樣式。
當選擇的時候使用該樣式,當不選擇的時候,恢復樣式。效果如圖:
從圖我們可以看出來,選擇到第四行的時候,選擇單元格和行都有相應樣式的變化。
當然,掌握了這個技巧,你可以可以對特定的行的樣式進行設置。比如:
if (range.Row == 2) { rowExt.Background = Brushes.Pink; }
本文的示例請下載:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網