业务流程图
优化前后对比:
优化过程:
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 的使用