Friday, October 31, 2008

BlackBerry browser's table redering bug and mending

If you open a web page and there's a table which have rowspan or colspan in it.
You will find it's always can't display properly in the last row. It will miss handle rowspan or colspan in last column. That's basically happens on testified BlackBerry 8830 and 8700. It's also believable for others which include simulator and real device.
Whatever you use .NET GridView, Repeater, Datalist or others, it would happen definitely.

There are 2 method to fix this bug.

1. Add a new same structure blank row in the end of the table. Here is an example
It actually add a new <tr></tr> in the end.

<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" rowspan="2">HW</td>
<td>HW</td>
<td>HW</td>
<td valign="middle" rowspan="2">HW</td>
</tr>
<tr>
<td>HW</td>
<td>HW</td>
</tr>
<tr>
<td valign="middle" rowspan="2">HW</td>
<td>HW</td>
<td>HW</td>
<td valign="middle" rowspan="2">HW</td>
</tr>
<tr>
<td>HW</td>
<td>HW</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>

2. Add a new same structure blank column in the end of the table. Here's an example.
It actually add a new <td></td> in each </tr>.

<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td valign="middle" rowspan="2">HW</td>
<td>HW</td>
<td>HW</td>
<td valign="middle" rowspan="2">HW</td>
<td></td>
</tr>
<tr>
<td>HW</td>
<td>HW</td>
<td></td>
</tr>
<tr>
<td valign="middle" rowspan="2">HW</td>
<td>HW</td>
<td>HW</td>
<td valign="middle" rowspan="2">HW</td>
<td></td>
</tr>
<tr>
<td>HW</td>
<td>HW</td>
<td></td>
</tr>
</table>

No comments: