c# WPF 项目优化

业务流程图

优化前后对比:

优化过程:

1. 界面刷新,特别是表格刷新

把ListView.DataContext  = DataSet 这些代码替换成以下:

        public static void SetDataSource(ListView lv, DataSet ds)
        {
            DataSet preds = (DataSet)lv.DataContext;
            if (preds == null) // first set datacontext
            {
                preds = ds;
                lv.DataContext = preds;
            }
            else // reset data context, we don't change the datacontext object , but change data rows
            {
                DataTable tb = preds.Tables[0];
                tb.Clear();
                tb.Dispose();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    tb.ImportRow(dr);
                }
                lv.DataContext = preds;
                ds.Dispose();
                ds = null;
            }
        }

        public static void AddDataRowToDataSource(ListView lv, DataRow dr)
        {
            DataSet ds = (DataSet)lv.DataContext;
            if (ds == null) 
            {
                return;
            }
            else 
            {
                DataTable tb = ds.Tables[0];
                tb.ImportRow(dr);
                lv.DataContext = ds;
            }
        }

  2. 尽量减少 new 的使用

转载于:https://www.cnblogs.com/EasyInvoice/p/5512420.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值