【问题标题】:How to hide jquery datatable Rows with conditions in ASP.Net MVC5?如何在 ASP.Net MVC5 中隐藏带有条件的 jquery 数据表行?
【发布时间】:2016-02-18 04:12:52
【问题描述】:

在 Asp.net mvc5 上工作。在我的项目视图 jquery 数据表中,想要动态隐藏带有条件的行,隐藏行之后如何检索这个隐藏的行值。

在 Jquery Datatable 中可以吗?

注意:this 链接向我展示了如何使用列尚未了解如何使用行

【问题讨论】:

  • 您可以使用搜索功能吗?那只会显示你想要的行,对吧?
  • @Mario Lopez,感谢您的回复,请您告诉我一些语法如何根据按钮单击事件条件隐藏/过滤选定的行
  • 我说的是数据表默认的搜索输入。我可能没有得到你想要完成的事情。你想有按钮来隐藏行吗?是这个意思吗?

标签: jquery .net datatables


【解决方案1】:

在您的表定义 .dataTable({ ... }) 中,您必须添加如下内容

"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
    if (aData.ToHide == true) {
        var row = $('td', nRow).closest('tr');
        row.data("storeSomeDataToDistinguishTheRowCanBeAnId", 12343);
        row.hide();
    }

    return nRow;
}

现在取决于您的实现,但建议存储一些 jQuery data 以区分您是否必须显示该行。之后,您只需使用 jQuery 选择器来查找您之前存储的 data 所在的行。

当您使用.dataTable({ ... }) 插件加载数据时,上述内容适用。

为了以防万一(我不知道您的实现),我还建议您使用Ajax 异步加载数据。这样可以减少服务器的处理时间,页面加载速度更快,然后dataTable 异步查询数据。

【讨论】:

    【解决方案2】:

    官方文档上有一个关于Search()的例子:

     var table = $('#example').DataTable();
    
     // #myInput is a <input type="text"> element
     $('#myInput').on( 'keyup', function () {
        table.search( this.value ).draw();
     } );
    

    您可以尝试将按钮设置为:

    <input id="#myInput" value="foo">Show only Foo values</input>
    

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 2011-01-23
      • 2015-02-24
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      相关资源
      最近更新 更多