Winform dataGridView數據更新問題處理


問題描述:當數據量過多,但是又需全部展示出來時;拖動dataGridView滾動條時數據逐條更新,加載緩慢;

解決方案:利用System.Reflection緩沖刷新

代碼實現:

    /// <summary>
    /// 緩沖幫助類
    /// </summary>
    public class Buffered
    {
        /// <summary>
        /// 用於解決dataGridView數據更新問題
        /// 利用反射機制修改控件的的Protected的DoubleBuffered屬性
        /// </summary>
        /// <param name="dgv">DataGridView控件</param>
        /// <param name="setting">是否開啟</param>
        public static void DoubleBuffered(System.Windows.Forms.DataGridView dgv, bool setting)
        {
            dgv.GetType()
                .GetProperty("DoubleBuffered", 
                System.Reflection.BindingFlags.Instance
               | System.Reflection.BindingFlags.NonPublic)
                .SetValue(dgv, setting, null);
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM