Shield UI网格工具栏按钮单击过滤器网格

时间:2018-10-23 14:02:13

标签: javascript jquery filtering shieldui

所以我有一个网格,正在使用工具栏的模板。我有一列名为状态。当状态=请求重新安排,已取消,需要Office呼叫或无效号码时,我们只希望显示这些行。因此,当用户单击工具栏上的按钮时,它会自动过滤网格,并且仅显示“状态”列等于以上内容的行。

我通过电子邮件发送了盾牌支持,他们给了我这个链接:https://www.shieldui.com/documentation/datasource/javascript/api/settings/filter

基于对我提供的链接防护的支持,我添加了按钮并测试了各种代码,但无法正常工作。这是我尝试过的一些内容:

function templateFunc(item) {
      var grid = this;

                 $("<button type='button' id='showActionRequired' class='sui-button'><span class='sui-sprite sui-grid-icon-export-excel'></span> <span class='sui-grid-button-text'>Show Action-Required Items</span></button>")
                     .click(function () {

                      var dataSource = grid.DataSource({
                            filter: {
                                filter: { path: "CommStatusText", filter: "eq", value: "Cancelled" }
                            }
                         });

                   }).appendTo(item);
            }

我尝试过: var dataSource = $("#newGrd").swidget().DataSource({-就像我已经在上面的过滤器网格

var dataSource = new shield.DataSource({-盾牌示例中的内容。这什么也没做。没有检测到网格。

var dataSource = grid.DataSource({-基于我用于导出按钮的内容。

我也经常收到此错误:

enter image description here

请帮助!!!

2 个答案:

答案 0 :(得分:0)

您可以查看以下演示:

https://demos.shieldui.com/web/grid-general/search-by-filtering

您可以使用下拉菜单更改文本框,该下拉列表使用给定的选项和on change事件初始化,具体取决于所选值,以在所需列上进行过滤。

答案 1 :(得分:0)

好最后,在盾ui支持和大量测试的帮助下,终于找到了答案。想要发布对我有用的东西,以帮助其他人解决这个问题。

$("<button type='button' id='showActionRequired' class='sui-button'><span class='sui-sprite sui-grid-icon-export-excel'></span> <span class='sui-grid-button-text'>Show Action-Required Items</span></button>")
                     .click(function () {                             
                         var dataSource = $("#newGrd").swidget().dataSource;
                         dataSource.filter = {
                                or: [
                                    { path: "CommStatusText", filter: "eq", value: "Cancelled" },
                                    { path: "CommStatusText", filter: "eq", value: "Invalid Number" },
                                    { path: "CommStatusText", filter: "eq", value: "Request to Reschedule" },
                                    { path: "CommStatusText", filter: "eq", value: "Office Call Required" }
                                ]
                            }
                         dataSource.read();

                    }).appendTo(item);