經(jīng)過(guò)測(cè)試發(fā)現(xiàn),RowHeadersWidthSizeMode屬性和ColumnHeadersHeightSizeMode屬性,非常影響,DataGridView的顯示性能,DataGridView的數(shù)據(jù)綁定應(yīng)該是迭代的,如果你把DataGridViewRowHeadersWidthSizeMode設(shè)置了AuToSize類型的屬性,那么每設(shè)置一行就要進(jìn)行一次對(duì)HeaderWidth的調(diào)整,那么對(duì)于N行的表就將進(jìn)行N!次操作,再加上列的情況,這種性能損失將是巨大的.
如果一定需要控件自動(dòng)調(diào)整寬度,可以先把DataGridViewColumnHeadersHeightSizeMode或DataGridViewRowHeadersWidthSizeMode設(shè)置為DisableResizing或EnableResizing,設(shè)置了DataSouce屬性后在將他改為AutoSize.
DataGridViewColumnHeadersHeightSizeMode
成員名稱 說(shuō)明 AutoSize 列標(biāo)題的高度根據(jù)所有列標(biāo)題單元格的內(nèi)容進(jìn)行調(diào)整。 DisableResizing 用戶不能使用鼠標(biāo)調(diào)整列標(biāo)題的高度。 EnableResizing 用戶可以使用鼠標(biāo)調(diào)整列標(biāo)題的高度。
DataGridViewRowHeadersWidthSizeMode:
成員名稱 說(shuō)明 AutoSizeToAllHeaders 為適應(yīng)所有行標(biāo)頭單元格的內(nèi)容大小而進(jìn)行的行標(biāo)頭寬度調(diào)整。 AutoSizeToDisplayedHeaders 為適應(yīng)當(dāng)前顯示的行中所有行標(biāo)頭的內(nèi)容大小而進(jìn)行的行標(biāo)頭寬度調(diào)整。 AutoSizeToFirstHeader 為適應(yīng)第一個(gè)行標(biāo)頭的內(nèi)容大小而進(jìn)行的行標(biāo)頭寬度調(diào)整。 DisableResizing 用戶不能使用鼠標(biāo)調(diào)整列標(biāo)頭的寬度。 EnableResizing 用戶可以使用鼠標(biāo)調(diào)整列標(biāo)頭的寬度。
|