I am having a few issues with this control, one of which is that if I edit anything past the first 4 rows I have an issue when I try to apply updates. This seems related to the fact that it creates a div around a table with in the table that is set to 88px (which is the height of the 4 rows displayed in design mode) even though HeightStyle is set to auto. Anyway I have a work around for that using CSS.
I think most of my issues stem from the fact that the structure of this control is so complex:
<table class="table" id="SalesList" style="overflow: hidden;">
<table id="SalesListtbl" class="table.SalesList" style="border-collapse: collapse; border-spacing: 0px; border: 0px; font-family: Arial; font-style: normal; font-size: 8pt;">
<tbody>
<tr>
<td style="border: 0px; width: 20px;">
<div style="height: 22px; overflow: hidden; background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px;">
<table id="SalesListtblResizeFixedRowTable" style="border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr style="height: 22px;">
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px; max-width: 20px;"></td>
</tr>
</tbody>
</table>
</div>
</td>
<td style="border: 0px; background-color: rgb(240, 240, 240); color: rgb(0, 0, 0);">
<div style="height: 22px; overflow: hidden; background-color: rgb(240, 240, 240); color: rgb(0, 0, 0);">
<div style="height: 22px;">
<table id="SalesListtblResizeRowTable" style="border-collapse: collapse; border-spacing: 0px; border: 0px;">
<tbody>
<tr style="height: 22px;">
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 64px; max-width: 64px;">Donor Id</td>
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 64px; max-width: 64px;">Amount</td>
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 64px; max-width: 64px;">Claim Status</td>
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 64px; max-width: 64px;">Tax Year</td>
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 64px; max-width: 64px;">SheetId</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
<tr>
<td valign="top" style="border: 0px; background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px;">
<div style="overflow: hidden; background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px;">
<table id="SalesListtblResizeFixedColTable" style="border-collapse: collapse; border-spacing: 0px;">
<tbody>
<tr style="height: 22px;">
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px; max-width: 20px;"> ▶</td>
</tr>
<tr style="height: 22px;">
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px; max-width: 20px;"></td>
</tr>
<tr style="height: 22px;">
<td style="background-color: rgb(240, 240, 240); color: rgb(0, 0, 0); width: 20px; max-width: 20px;"></td>
</tr>
</tbody>
</table>
</div>
</td>
<td style="border: 0px; vertical-align: top;">
<div style="overflow: auto;">
<div style="height: 88px;">
<table id="SalesListtblNormalCellTable" tabindex="14" style="border-collapse: collapse; border-spacing: 0px; outline: none;">
<tbody>
<tr style="height: 22px;" class="">
<td style="width: 64px; max-width: 64px;">160074</td>
<td style="width: 64px; max-width: 64px;">21.00</td>
<td style="width: 64px; max-width: 64px;">Unclaimed</td>
<td style="width: 64px; max-width: 64px;"></td>
<td style="width: 64px; max-width: 64px;">181217</td>
</tr>
<tr style="height: 22px;" class="">
<td style="max-width: 64px;">S495333</td>
<td style="max-width: 64px;">12.00</td>
<td style="max-width: 64px;">Unclaimed</td>
<td style="max-width: 64px;"></td>
<td style="max-width: 64px;">181217</td>
</tr>
<tr style="height: 22px;" class="selected">
<td style="max-width: 64px;">72817</td>
<td style="max-width: 64px;">5.00</td>
<td style="max-width: 64px;">Unclaimed</td>
<td style="max-width: 64px;"></td>
<td style="max-width: 64px;">181217</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</table>
I think a TDBSimpleTable might be in order.