# C1.LiveLinq.AdoNet.IndexedDataTable-1.BeginUpdate

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_LiveLinq_AdoNet_IndexedDataTable_1_BeginUpdate_" data-uid="C1.LiveLinq.AdoNet.IndexedDataTable`1.BeginUpdate*">BeginUpdate Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_LiveLinq_AdoNet_IndexedDataTable_1_BeginUpdate_" data-uid="C1.LiveLinq.AdoNet.IndexedDataTable`1.BeginUpdate*"></a>
<h4 id="C1_LiveLinq_AdoNet_IndexedDataTable_1_BeginUpdate" data-uid="C1.LiveLinq.AdoNet.IndexedDataTable`1.BeginUpdate">BeginUpdate()</h4>
<div class="markdown level1 summary"><p>Suspends notifications while massive changes are being made to a data table.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public void BeginUpdate()</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub BeginUpdate()</code></pre>
</div>
<h5 id="C1_LiveLinq_AdoNet_IndexedDataTable_1_BeginUpdate_remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>This method must be followed by <a class="xref" href="C1.LiveLinq.AdoNet.IndexedDataTable-1.EndUpdate.html#C1_LiveLinq_AdoNet_IndexedDataTable_1_EndUpdate">EndUpdate()</a>.</p>
<p>Use this method when you already have indexes built over a data table or live views based on that data table,
and you need to re-populate it or perform other massive changes to rows of that data table.
Without this method, every single change you make causes LiveLinq to perform necessary operations
for maintaining your indexes and live views dependent on this data table. In case of massive changes,
this can be slower than to wait until the massive changes are done and rebuild the indexes and live views.</p>
<p> Between <b>BeginUpdate</b> and <a class="xref" href="C1.LiveLinq.AdoNet.IndexedDataTable-1.EndUpdate.html#C1_LiveLinq_AdoNet_IndexedDataTable_1_EndUpdate">EndUpdate()</a> calls, indexes, live views, bound controls
and other change notification listeners are not updated, they don't receive change notifications.</p>
<p>When <a class="xref" href="C1.LiveLinq.AdoNet.IndexedDataTable-1.EndUpdate.html#C1_LiveLinq_AdoNet_IndexedDataTable_1_EndUpdate">EndUpdate()</a> is called, a 
<a class="xref" href="C1.LiveLinq.SourceChangeType.html">SourceChangeType.Modify</a> or <a class="xref" href="C1.LiveLinq.SourceChangeType.html">SourceChangeType.Reset</a>
notification is sent, depending on whether the change affected a single row or multiple rows of the data table.
Even when you change a single row, it may make sense to enclose your changes in <b>BeginUpdate/EndUpdate</b> if
you change multiple fields in the row. In that case a <a class="xref" href="C1.LiveLinq.SourceChangeType.html">SourceChangeType.Modify</a>
notification is sent. If more than one row was changed, a <a class="xref" href="C1.LiveLinq.SourceChangeType.html">SourceChangeType.Reset</a>
notification is sent, meaning all indexes, live views and other collections dependent on this data table
must be rebuilt from scratch.</p>
</div>
</div>
