假如表格有成千上萬行。
uj5u.com熱心網友回復:
我一直用StringGrid,試過14萬行,30列,電腦也很普通,沒覺得有卡。不過千萬級別的沒機會嘗試。小青蛙有對比過千萬級的DrawGrid和StringGrid嗎,差距大不大?
uj5u.com熱心網友回復:
實測創建一千萬行、20列的stringgrid,耗時0.016秒,占用記憶體10.6MB,沒有設定Cells內容,如果2億個cells都設定了串,占用記憶體會超過10GBuj5u.com熱心網友回復:
看錯了,是2.7GB
uj5u.com熱心網友回復:
https://bbs.csdn.net/topics/390305505
我是看的這個帖子,StringGrid慢是因為一次性全部填充資料,而DrawGrid是顯示到哪里畫出哪里(單元格)嗎?
uj5u.com熱心網友回復:
StringGrid會維護其中的資料,必要時重繪,DrawGrid不維護資料,需要用戶自己繪制uj5u.com熱心網友回復:
StringGrid會維護其中的資料,必要時重繪,DrawGrid不維護資料,需要用戶自己繪制
如果專案很多,跟專案不多相比,DrawGrid也占用記憶體變化不大嗎?
uj5u.com熱心網友回復:
ListView控制元件記憶體中要維護表格資料嗎?比StringGrid有什么優勢或劣勢?uj5u.com熱心網友回復:
DrawGrid占用的記憶體基本是恒定的,它只維護grid的外觀,每個格子顯示什么內容它不管,需要用戶在OnDrawCell事件中繪制ListView也維護顯示的資料,有四種顯示模式:大圖示、小圖示、串列、報表,這東西不適合顯示非常多的資料,一般也就幾十、幾百行
uj5u.com熱心網友回復:
DrawGrid占用的記憶體基本是恒定的,它只維護grid的外觀,每個格子顯示什么內容它不管,需要用戶在OnDrawCell事件中繪制
ListView也維護顯示的資料,有四種顯示模式:大圖示、小圖示、串列、報表,這東西不適合顯示非常多的資料,一般也就幾十、幾百行
有用ListView做的檔案管理器,也有檔案很多的情況。
uj5u.com熱心網友回復:
也可能,但不會特別多,我看了一下我的電腦E盤,有12萬多個檔案,但沒有超過1萬個檔案的目錄uj5u.com熱心網友回復:
也可能,但不會特別多,我看了一下我的電腦E盤,有12萬多個檔案,但沒有超過1萬個檔案的目錄
三個表格控制元件還是各有用處的,外觀也不太一樣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/8087.html
標籤:VCL組件使用和開發
