table的行和列的隐藏和显示

今天偶然发现表格隐藏行和列挺好用的,觉得还不错,下面是隐藏和显示table行、隐藏table列(显示的类同)的js函数,直接调用这些函数就可以实现表格行和列的显示和隐藏。
1.显示行
function setShowRow(oTable,iRow){
    oTable.rows[iRow].style.display = oTable.rows[iRow].style.display = "block";
}
2.隐藏行
function setHiddenRow(oTable,iRow){
    oTable.rows[iRow].style.display = oTable.rows[iRow].style.display = "none";
}

3.隐藏列
function setHiddenCol(oTable,iCol)
{
    for (i=0;i < oTable.rows.length ; i++)
    {
       oTable.rows[i].cells[iCol].style.display =        
                  oTable.rows[i].cells[iCol].style.display=="none";
//如果该列隐藏则让其显示,反之则让其隐藏
//oTable.rows[i].cells[iCol].style.display=="none"?"block":"none";
       }
}
oTable为表的id,iRow和iCol是从0开始的,iRow=0表示的是第一行,iCol=0表示的是第一列。

例如:
     <table>
        <tr>
          <td width="15%">Country</td>
          <td width="35%" height="30"><select name="type" id="type"οnchange="selectType();" style="height:20;width:150" >
            <option value="China" <c:if test="${type == 'China'}">selected</c:if>>中国</option>
           <option value="A" <c:if test="${type == 'A'}">selected</c:if>>美国</option>            
            </td>
          </tr>
       </table>


      <table id="table1" width="100%">
         <tr>
           <td width="15%">时间</td>
           <td width="35%" height="30"><s:textfield id="time" name="time"  maxlength="20"         cssStyle="width:150" /></td>         
            </tr>

           <tr>
             <td width="15%">地点</td>
             <td width="35%" height="30"><s:select id="address" name="address"                   list="addressList"  οnblur="findStorage()"  cssStyle="height:20;width:150" />
             <td width="15%">人物</td>
             <td width="35%" height="30"><s:textfield id="person" name="person"                 cssStyle="width:150" disabled="true" /></td>
           </tr>
        </table>

<script type="text/javascript">
//显示某一行
function setShowRow(oTable,iRow){
    oTable.rows[iRow].style.display = oTable.rows[iRow].style.display = "block";
}
//隐藏某一行
function setHiddenRow(oTable,iRow){
    oTable.rows[iRow].style.display = oTable.rows[iRow].style.display = "none";
}
//选择某一类型时,显示所要显示的行
function selectType(){
    var obj = $('type').value;
    var oTable = document.getElementByIdx_x('Table1');
    if(obj=='China'){
        setHiddenRow(oTable,0);//隐藏id=Table1的第1行数据
        setShowRow(oTable,1);//显示id=Table1的第2行数据
    }
  if(obj=='A'){
        setShowRow(oTable,0);//显示id=Table1的第1行数据
        setHiddenRow(oTable,1);//隐藏id=Table1的第2行数据
    }
}



 
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ant Design Table 组件中的列可以动态隐藏显示,具体实现方式如下: 1. 在 Table 组件中的 columns 属性中,为每个列设置一个属性“visible”,表示该列是否可见。默认情况下,所有列都可见。 2. 通过控制“visible”属性的值,来动态隐藏显示某些列。 例如,下面的代码演示了如何动态隐藏显示第二列: ```jsx import React, { useState } from 'react'; import { Table } from 'antd'; function DynamicTable() { const [visible, setVisible] = useState(true); const columns = [ { title: 'Name', dataIndex: 'name', key: 'name', }, { title: 'Age', dataIndex: 'age', key: 'age', visible: visible, }, { title: 'Address', dataIndex: 'address', key: 'address', }, ]; const data = [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park', }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', }, { key: '3', name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park', }, ]; const toggleVisible = () => { setVisible(!visible); }; return ( <div> <button onClick={toggleVisible}> {visible ? 'Hide Age Column' : 'Show Age Column'} </button> <Table columns={columns} dataSource={data} /> </div> ); } export default DynamicTable; ``` 在上面的代码中,我们使用了 useState 钩子来控制第二列的可见性。默认情况下,该列是可见的。当用户点击按钮时,我们会调用 toggleVisible 函数,从而改变“visible”属性的值,实现动态隐藏显示第二列。 需要注意的是,如果要动态隐藏显示多个列,可以为每个列都设置“visible”属性,然后分别控制它们的值即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值