Я считаю, что это то, что вы хотите
<table width="100%">
<tr>
<td colspan="3" width="33%">a</td>
<td width="33%">b</td>
<td width="33%">c</td>
</tr>
<tr>
<td width="10%">1</td>
<td width="10%">2</td>
<td colspan="3" width="80%">3+4</td>
</tr>
</table>
Проблема, которую Вы испытываете, вызывается, не переопределяя клон () событие в Вашем пользовательском событии.
Когда события повторно диспетчеризируются, они клонированы и изменены. Если Вы не переопределяете клон (), Вы получаете базовое внедрение клона (), который возвращает Событие. Поскольку Событие не может быть брошено к Вашему пользовательскому типу события, ошибка периода выполнения брошена.
Из документации:
При создании собственного Класса событий необходимо переопределить наследованный Event.clone () метод для него для дублирования свойств пользовательского класса. Если Вы не установите все свойства, которые Вы добавляете в своем подклассе события, то те свойства не будут иметь правильных значений, когда слушатели обработают повторно диспетчеризированное событие.
подробнее см .: http://casario.blogs.com/mmworld/2006/08/the_clone_metho.html