2

我在显示以编程方式显示列的表格时遇到问题。

以下是可以看到此问题的 html 代码(并已确认它不是影响渲染的代码)。

<table>
<tr>
    <th>NUMER</th>                                      
    <th>NAME</th>
    <th align="center" style="display:block;">LOCATION</th>
    <th align="center" style="display:none;">1</th>
    <th align="center" style="display:block;">2</th>
</tr>
<tr>
    <td>12345</td>
    <td>BOB Jr</td>                                     
    <td align="center" style="display:block;"><input type="CheckBox" ID="updateLocation" runat="server" /></td>
    <td align="center" style="display:none;"><input type="CheckBox" ID="updateLocation" runat="server" /></td>
    <td align="center" style="display:block;"><input type="CheckBox" ID="updateLocation" runat="server" /></td>                                            
</tr>

这将在 Chrome 和 Firefox 上显示如下:在此处输入图像描述

样式是以编程方式添加的,这显然是导致问题的原因,但是我想知道是否有人有解决此问题的建议?

由于此功能是用户驱动的,因此必须以编程方式显示表格列。

另请注意,这在 IE 上运行良好。

4

2 回答 2

1

由于 HTML 代码中的特定样式,您会看到此问题。从 html 中删除 style="display:block" (或以编程方式插入)将解决该问题。请参阅更正的 HTML 标记。

<table>
<tbody>
    <tr>
        <th>NUMER</th>                                      
        <th>NAME</th>
        <th align="center" style="">LOCATION</th>
        <th align="center" style="display:none;">1</th>
        <th align="center" style="">2</th>
    </tr>
    <tr>
            <td>12345</td>
            <td>BOB Jr</td>                                     
            <td align="center" style=""><input type="CheckBox" id="updateLocation" runat="server"></td>
            <td align="center" style="display:none;"><input type="CheckBox" id="updateLocation" runat="server"></td>
            <td align="center" style=""><input type="CheckBox" id="updateLocation" runat="server"></td>                                            
    </tr>
</tbody>

希望这可以帮助。

于 2013-05-29T14:11:53.537 回答
1

不要使用

 display:block

这与表格不兼容。

您正在寻找:

display:table-cell

也就是说,我建议您在继续之前给出这个问题并回答好问题,特别是如果您必须支持较旧的 IE:show/hide html table columns using css

于 2013-05-29T13:54:46.857 回答