2012-01-16 51 views
2

剛剛創建了一個帶有VBA(Access 2007)的ListView控件。 到目前爲止,初始化,填充和排序ListView工作正常。 但是使用SubItems.Item(i).ForeColor和SubItems.Item(i).Bold屬性我在排序列表時遇到了一些奇怪的行爲。 第一次運行一切正常。但是,只要我排序ListView,.ForeColor和.Bold設置混合起來。事實上,它看起來像.ForeColor和.Bold設置是堅持ListView行本身,而不是數據。 如果這是正確的,這意味着,我必須重新應用ForeColor和.Bold設置每次ListView已被排序=Sorting Listview混合了SubItems.Item(i).ForeColor和.Bold設置

這是一個正常的行爲,還是我錯過了什麼?

感謝您的幫助 劉若英

回答

1

我發現顏色的屬性等與你最好的列表視圖,努力避免這樣做的.item財產,並與名單參考這樣更好,當:

ListView.ListItems(RowNumber).ListSubItems(ColNumber).ForeColor = vbBlue 
ListView.ListItems(RowNumber).ListSubItems(ColNumber).Bold = True 

這些似乎排序好,沒有搞亂順序:)

+0

問題解決了。這是因爲我使用Windows API來對ListView控件進行排序,而不是對ListView內置函數進行排序 – devWin 2012-01-30 07:27:57