1

如果我想gridView.EndDataUpdate (gridView.BeginDataUpdate)gridView.EndSummaryUpdate (gridView.BeginSummaryUpdate)一起使用,哪一个应该是正确的顺序?
订单 1:

gridView.BeginDataUpdate();
gridView.BeginSummaryUpdate();
...
gridView.EndSummaryUpdate();
gridView.EndDataUpdate();

订单 2:

gridView.BeginDataUpdate();
gridView.BeginSummaryUpdate();
...
gridView.EndDataUpdate();
gridView.EndSummaryUpdate();

当我应该使用时gridView.EndUpdate (gridView.BeginUpdate),是否有任何订单要求?

谢谢!!

4

1 回答 1

1

BaseView.BeginUpdate / BaseView.EndUpdate方法锁定视图并阻止后续的视觉更新。使用 BeginUpdate 和 EndUpdate 方法无法避免任何数据更新。相反,必须使用BaseView.BeginDataUpdateBaseView.EndDataUpdate方法。每当将摘要项添加到网格视图或修改它们的设置时,网格都会自动重新计算摘要。要在所有汇总项都正确初始化之前阻止汇总计算,请使用BeginSummaryUpdateEndSummaryUpdate方法。
以下是所有这些方法用法的详细说明:
-批量修改概述

在您的情况下,您可以将数据和摘要更新包含在可视更新中,如下所示:

view.BeginUpdate();
try {
    ...view options modifications...

    view.BeginDataUpdate();
    try {
        ...data modifications...
    }
    finally{ view.EndDataUpdate(); } // real data update here

    view.BeginSummaryUpdate();
    try {
        ...summary modifications...
    }
    finally{ view.EndSummaryUpdate(); } // real summary recalculation

    ...another view options modifications...
}
finally{ view.EndUpdate(); } // real visual update
于 2012-08-08T04:39:59.450 回答