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

Shield UI Grid Toolbar button click filters grid

所以我有一个网格,我正在使用工具栏的模板。我有一个名为 Status 的列。当 Status = Request to Reschedule、Cancelled、Office Call Required 或 Invalid Number 时,我们只想显示这些行。因此,当用户单击工具栏上的按钮时,它会自动过滤网格并仅显示 Status 列等于上述的行。

我给盾牌支持发了邮件,他们给了我这个link:https://www.shieldui.com/documentation/datasource/javascript/api/settings/filter

基于 link 屏蔽支持给我,我添加了按钮并测试了各种代码,但无法使其正常工作。这是我尝试过的一些方法:

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({ - shield 示例中的内容。这没有任何作用。未检测到网格。

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

我也经常遇到这个错误:

请帮忙!!!

您可以查看以下演示:

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

您可以使用给定选项和更改事件初始化的下拉列表更改文本框,具体取决于所选值以对所需列进行筛选。

好的,在 shield ui 支持和大量测试的帮助下,终于弄明白了。想要 post 对我有用的东西来帮助其他人解决这个问题。

$("<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);