# C1.Win.FlexGrid.C1FlexGridBase.BeginUpdate

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate_" data-uid="C1.Win.FlexGrid.C1FlexGridBase.BeginUpdate*">BeginUpdate Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate_" data-uid="C1.Win.FlexGrid.C1FlexGridBase.BeginUpdate*"></a>
<h4 id="C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate" data-uid="C1.Win.FlexGrid.C1FlexGridBase.BeginUpdate">BeginUpdate()</h4>
<div class="markdown level1 summary"><p>Maintains performance by preventing the control from updating itself until
the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EndUpdate.html#C1_Win_FlexGrid_C1FlexGridBase_EndUpdate">EndUpdate()</a> method is called.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public override void BeginUpdate()</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Overrides Sub BeginUpdate()</code></pre>
</div>
<h5 class="overrides">Overrides</h5>
<div><a class="xref" href="C1.Win.FlexGrid.Util.BaseControls.ScrollableControl.BeginUpdate.html#C1_Win_FlexGrid_Util_BaseControls_ScrollableControl_BeginUpdate">ScrollableControl.BeginUpdate()</a></div>
<h5 id="C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>The <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.BeginUpdate.html#C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate">BeginUpdate()</a> and <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EndUpdate.html#C1_Win_FlexGrid_C1FlexGridBase_EndUpdate">EndUpdate()</a> methods are used to
optimize the performance of the grid. Call <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.BeginUpdate.html#C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate">BeginUpdate()</a> before making
extensive changes, and call <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EndUpdate.html#C1_Win_FlexGrid_C1FlexGridBase_EndUpdate">EndUpdate()</a> when done to suspend repainting.
This will reduce flicker and increase performance. This optimization is especially
effective when adding large numbers of rows to the grid, because it needs to
recalculate ranges and update scrollbars each time a row is added.</p>
</div>
<h5 id="C1_Win_FlexGrid_C1FlexGridBase_BeginUpdate_examples">Examples</h5>
<p>The code below shows how to add a large number of rows to the grid efficiently.
Note how the <a class="xref" href="C1.Win.FlexGrid.C1FlexGridBase.EndUpdate.html#C1_Win_FlexGrid_C1FlexGridBase_EndUpdate">EndUpdate()</a> method is called inside a 'finally' block
to ensure repainting is properly restored.</p>
<pre><code class="lang-csharp">void UpdateGrid(C1FlexGrid flex)
{
  try
  {
    flex.BeginUpdate(); // suspend painting to avoid flicker
    flex.Rows.Count = 1;
    for (int i = 1; i &lt; 10000; i++)
      flex.AddItem("Row " + i.ToString());
  }
  finally
  {
    flex.EndUpdate(); // always restore painting
  }
}</code></pre>

</div>
