# GrapeCity.Spreadsheet.UI.UIManager.OnDataChanged

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="GrapeCity_Spreadsheet_UI_UIManager_OnDataChanged_" data-uid="GrapeCity.Spreadsheet.UI.UIManager.OnDataChanged*">OnDataChanged Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="GrapeCity_Spreadsheet_UI_UIManager_OnDataChanged_" data-uid="GrapeCity.Spreadsheet.UI.UIManager.OnDataChanged*"></a>
<h4 id="GrapeCity_Spreadsheet_UI_UIManager_OnDataChanged_GrapeCity_Spreadsheet_IWorksheet_System_Int32_System_Int32_" data-uid="GrapeCity.Spreadsheet.UI.UIManager.OnDataChanged(GrapeCity.Spreadsheet.IWorksheet,System.Int32,System.Int32)">OnDataChanged(IWorksheet, int, int)</h4>
<div class="markdown level1 summary"><p>Called when cell's value is changed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">protected abstract void OnDataChanged(IWorksheet worksheet, int row, int column)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Protected MustOverride Sub OnDataChanged(worksheet As IWorksheet, row As Integer, column As Integer)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.IWorksheet.html">IWorksheet</a></td>
      <td><span class="parametername">worksheet</span></td>
      <td><p>A <a class="xref" href="GrapeCity.Spreadsheet.IWorksheet.html">IWorksheet</a> indicates the worksheet contains the changed cell.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">row</span></td>
      <td><p>An integer value indicates the row index of the cell.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">column</span></td>
      <td><p>An integer value indicates the column index of the cell.</p>
</td>
    </tr>
  </tbody>
</table>


<a id="GrapeCity_Spreadsheet_UI_UIManager_OnDataChanged_" data-uid="GrapeCity.Spreadsheet.UI.UIManager.OnDataChanged*"></a>
<h4 id="GrapeCity_Spreadsheet_UI_UIManager_OnDataChanged_GrapeCity_Spreadsheet_IWorksheet_System_Int32_System_Int32_System_Int32_System_Int32_GrapeCity_Spreadsheet_UI_ActionCategory_" data-uid="GrapeCity.Spreadsheet.UI.UIManager.OnDataChanged(GrapeCity.Spreadsheet.IWorksheet,System.Int32,System.Int32,System.Int32,System.Int32,GrapeCity.Spreadsheet.UI.ActionCategory)">OnDataChanged(IWorksheet, int, int, int, int, ActionCategory)</h4>
<div class="markdown level1 summary"><p>Called when cell range's values are changed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">protected abstract void OnDataChanged(IWorksheet worksheet, int row, int column, int row2, int column2, ActionCategory invalidateCategory = ActionCategory.General)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Protected MustOverride Sub OnDataChanged(worksheet As IWorksheet, row As Integer, column As Integer, row2 As Integer, column2 As Integer, Optional invalidateCategory As ActionCategory = ActionCategory.General)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="GrapeCity.Spreadsheet.IWorksheet.html">IWorksheet</a></td>
      <td><span class="parametername">worksheet</span></td>
      <td><p>A <a class="xref" href="GrapeCity.Spreadsheet.IWorksheet.html">IWorksheet</a> indicates the worksheet contains changed cells.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">row</span></td>
      <td><p>An integer value indicates the top row index of cell range.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">column</span></td>
      <td><p>An integer value indicates the left column index of cell range.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">row2</span></td>
      <td><p>An integer value indicates the bottom row index of cell range.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></td>
      <td><span class="parametername">column2</span></td>
      <td><p>An integer value indicates the right column index of cell range.</p>
</td>
    </tr>
    <tr>
      <td><span class="xref">ActionCategory</span></td>
      <td><span class="parametername">invalidateCategory</span></td>
      <td></td>
    </tr>
  </tbody>
</table>
</div>
