Posted by: dragonquestx on: พฤษภาคม 7, 2008
งานที่ทำอยุ่ตอนนี้ ต้องเอา dataGridView มาใช้ จากที่ตอนแรก ทดสอบด้วยประมาณ 100 row ทำการเพิ่ม column ขึ้นมาเอง ละใส่ค่าลงไป ก็ไม่มีปัญหาอะไร
ทีนี้ลองเปลี่ยนมา 100000 row โอ้วพระเจ้า add ข้อมุล 3 ช่อง ใช้เวลาไป 10 วิ นี่มันอะไรกัน dataGridView ไม่เหมาะกับข้อมูลเยอะๆ งั้นรึ แต่เวลาอ่านข้อมูล ก็ใช้เวลาแค่ .1 ms เท่านั้น
และแล้วเราก็พบว่าสาเหตุที่ช้าเกิดจาก การตั้งค่า autoresize ซึ่งตอนนั้น set ไว้เป็น allcell
ซึ่งการทำงานของ autoresize เมื่อค่ามีการเปลี่ยนแปลง มันก็ทำการวัดขนาดของข้อมูลทั้งหมด เพื่อมาหาว่าจะต้อง set size เป็นเท่าไหร่ ดังนั้น เมื่อมีการ set ข้อมูล ทีนึง มันก็ต้องไปทำการอ่านข้อมูลทั้ง 100000 row ทุกครั้ง นั่นเองที่ทำให้มันซัดไป 10 วิ [...]