原創(chuàng)|使用教程|編輯:郝浩|2013-07-24 14:27:26.000|閱讀 305 次
概述:WPF界面控件套包ComponentOne Studio for WPF中的網(wǎng)格控件C1FlexGrid的靈活性非常受人稱(chēng)道,他擁有一個(gè)叫CellFactory的類(lèi),堪稱(chēng)在數(shù)據(jù)表現(xiàn)領(lǐng)域的夢(mèng)幻工具。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
WPF界面控件套包ComponentOne Studio for WPF中的網(wǎng)格控件C1FlexGrid的靈活性非常受人稱(chēng)道,他擁有一個(gè)叫CellFactory的類(lèi),堪稱(chēng)在數(shù)據(jù)表現(xiàn)領(lǐng)域的夢(mèng)幻工具。CellFactory類(lèi)允許在單元格中自定義網(wǎng)格,大大方便了網(wǎng)格的開(kāi)發(fā),能夠?qū)崿F(xiàn)不少意想不到的功能。今天慧都就通過(guò)使用這個(gè)類(lèi)來(lái)實(shí)現(xiàn)動(dòng)態(tài)條件格式,來(lái)證明其的實(shí)用性。
一個(gè)很常見(jiàn)的需求:以文本內(nèi)容來(lái)決定單元格的格式,需要實(shí)現(xiàn)的效果如下:
首先,創(chuàng)建一個(gè)繼承與CellFactory類(lèi)的類(lèi)。
public class CustomCellFactory : CellFactory { }
然后用CellFactory類(lèi)來(lái)覆蓋CreateCellContent()方法,用條件來(lái)設(shè)置單元式的邊框元素的背景。
public override void CreateCellContent(C1FlexGrid grid, Border bdr, CellRange rng) { base.CreateCellContent(grid, bdr, rng); //format cells in second column if (rng.Column == 2) { if (grid[rng.Row, rng.Column].ToString() == "Japan") { bdr.Background = new SolidColorBrush(Colors.LimeGreen); } else if (grid[rng.Row, rng.Column].ToString() == "India") { bdr.Background = new SolidColorBrush(Colors.MediumVioletRed); } else if (grid[rng.Row, rng.Column].ToString() == "United States") { bdr.Background = new SolidColorBrush(Colors.Yellow); } else if (grid[rng.Row, rng.Column].ToString() == "United Kingdom") { bdr.Background = new SolidColorBrush(Colors.Gold); } } }
然后動(dòng)態(tài)條件格式就完成了,下面這個(gè)GIF就是其動(dòng)態(tài)效果:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)