我使用最多的DEV控件就是這個TreeList啦,固然用好它很不簡單,若是用好它,能作出很精彩的樹形層次結構圖。TreeList控件很強大,以致於你看DEV自帶的DEMO,也得浪費你很長時間應用。DEV控件的DEMO只是告訴你有些什麼功能,只是拋磚引玉,決不能照搬DEMO!html
用好TreeList控件絕對會讓你的軟件錦上添花!精益求精促使我總想用TreeList實現出更好的效果,但對TreeList控件的每一步深刻學習,都須要花費不要時間和精力。如今記錄一下我學習使用該控件的一個小功能的過程。函數
就是下面我綠色強調的部分,DEV的DEMO中Priority列中同時出現圖片和文字。工具
直接看DEMO代碼,也很難弄清如何實現的。下面是我如何在本身的DEMO中實現上面的功能。post
1.創建WIN窗體,從工具箱中將DEV的TreeList控件拖入該窗體中。學習
2.創建列,選中上圖中右上黑三角,彈出菜單,選擇Run Designer進入設計界面,添加列。(列的添加能夠在本身代碼中定義添加實現)this
上圖中,點擊 Add按鈕添加一普通列,在右邊屬性上修改,如:修改Caption屬性值,可以定義本身顯示的列名(日期)。spa
3.再添加一列(天氣),此次修改 ColumnEdit屬性,添加框後的向下的黑三角,在彈出面板中選擇NEW,而後這裏選ImageComboBox。截圖以下:設計
4.點擊ColumnEdit前的+,打開該列所用控件的屬性列表,修改SmallImage屬性爲imageList1(先期要拉入該ImageList控件,並引入圖片)。code
5.添加必要的代碼,創建枚舉類型,並初始化ColumnEdit中控件與枚舉類型的關聯。orm
{
private enum Weather { 晴天 = 0 , 降溫 = 1 , 寒潮 = 2 };
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 初始化ColumnEdit的ImageComboBox控件與枚舉類型
/// Weather的關係
/// </summary>
private void InitColumnEditor()
{
repositoryItemImageComboBox1.Items.AddEnum( typeof (Weather));
repositoryItemImageComboBox1.Items[ 0 ].ImageIndex = 0 ;
repositoryItemImageComboBox1.Items[ 1 ].ImageIndex = 1 ;
repositoryItemImageComboBox1.Items[ 2 ].ImageIndex = 2 ;
}
private void Form1_Load( object sender, EventArgs e)
{
InitColumnEditor();
// 向TreeList控件中加入數據
this .treeList1.AppendNode( new object []{ " 2010.1.22 " ,Weather.降溫}, null );
this .treeList1.AppendNode( new object []{ " 2010.1.23 " ,Weather.晴天}, null );
}
}
實現效果截圖以下:
另外注意:
1)若是使用TreeList輸出列表函數時,輸出的文檔中,天氣列中只有圖片,沒有文字。
2)ColumnEdit中能夠使用其餘的控件,根據須要實現個性列,具體使用能夠本身摸索。