优化模块资源释放与异步预加载

This commit is contained in:
2026-09-03 14:16:48 +08:00
parent a263522b47
commit fddab16bd2
35 changed files with 1553 additions and 977 deletions
@@ -449,7 +449,8 @@ namespace Lskj.PubAccraditation
}));
cachesDic.AddTask(tab_basicInfo, "DynamicModel", dynamicModelTask);
cachesDic.AddTask(tab_basicInfo, "Details", detailTask);
tab_basicInfo.GetDataCaches(cachesDic);
// TabControlEx.GetDataCaches 会创建明细页中的 WinForms/DevExpress
// 控件,不能在此后台预加载阶段调用;BindTab 在 UI 线程补充创建。
//BindBill
Task<DataTable> controlLocationTask = cachesDic.AddTask(this, "ControlLocation", new Task<DataTable>(() =>
{
@@ -975,6 +976,12 @@ namespace Lskj.PubAccraditation
{
this.tab_basicInfo.OnDetailSaveGridCallBack += Tab_basicInfo_OnDetailSaveGridCallBack;
}
if (dataCaches != null &&
dataCaches.GetTask<DynamicModel>(tab_basicInfo, "DynamicModel") != null &&
dataCaches.GetTask<List<GridDetailModel>>(tab_basicInfo, "Details") != null)
{
tab_basicInfo.GetDataCaches(dataCaches);
}
if (!dataCaches.GetValue(tab_basicInfo, "Details", out List<GridDetailModel> details))
{
details = GetTabDetails();