【问题标题】:How to apply angular filter on a Angular-Kendo Dropdown list?如何在 Angular-Kendo 下拉列表中应用角度过滤器?
【发布时间】:2015-01-14 06:25:23
【问题描述】:

下面是我需要绑定到两个剑道下拉列表的数据源。一个用于 Program,另一个用于 IForm。我需要在下拉列表中完成过滤。

$scope.programIFormList = new kendo.data.DataSource({
        data: [
                    {
                        Name: "Program1",
                        IsProgram: "true",
                        ProgramId: 1,
                        Status: 0,
                        PatientId: 1,
                        StartDate:"",
                        EndDate:""
                    },
                    {
                        Name: "Program2",
                        IsProgram: "false",
                        ProgramId: 2,
                        Status: 0,
                        PatientId: 1,
                        StartDate:"",
                        EndDate:""
                    }
                ]
    }); 

下面是html代码:

 <div class="col-lg-2 col-md-4 col-sm-4 col-xs-4">
                    <select id="patient" kendo-drop-down-list k-data-text-field="'Name'" k-data-value-field="'PatientId'"  k-data-source="patientList" >                      
                    </select>
                </div>

                <div class="col-lg-2 col-md-4 col-sm-4 col-xs-4">
                    <select kendo-drop-down-list k-data-text-field="'Name'" k-data-value-field="'ProgramId'" k-data-source="programIFormList | filter:{IsProgram: true}" k-cascade-from="'patient'">
                    </select>
                </div>
                <div class="col-lg-2 col-md-4 col-sm-4 col-xs-4">
                    <select kendo-drop-down-list k-data-text-field="'Name'" k-data-value-field="'ProgramId'" k-data-source="programIFormList | filter:{IsProgram: false}"  k-cascade-from="'patient'">
                    </select>
                </div>

在这里,我正在尝试应用角度滤镜。但它不起作用。如何使用 Kendo Angular 实现这一点?

【问题讨论】:

    标签: angularjs kendo-ui angular-filters kendo-dropdown


    【解决方案1】:

    你可以使用这种方法

    angular.module("MyApp", [ "kendo.directives" ])
          .controller("FilterController", function($scope){
    
    
              $scope.programIFormList = new kendo.data.DataSource({
                  data: [
                              {
                                  Name: "Program3",
                                  IsProgram: "true",
                                  ProgramId: 1,
                                  Status: 0,
                                  PatientId: 1,
                                  StartDate: "",
                                  EndDate: ""
                              },
                              {
                                  Name: "Program1",
                                  IsProgram: "false",
                                  ProgramId: 2,
                                  Status: 0,
                                  PatientId: 1,
                                  StartDate: "",
                                  EndDate: ""
                              }
                  ],
                  filter: [
                    { field: "IsProgram", operator: "eq", value: "true" }
    
                  ]
              });
          });
    

    【讨论】:

    • 如果只有一个 Dropdown,该方法是正确的。但是我有两个下拉列表,我需要将这个单个数据源绑定到两者并在视图级别进行过滤。无论如何要从 HTML 视图中传递过滤器值吗? Kendo UI 是否有任何指令?
    • 我们可以使用这种类型的内联过滤器,但我不确定。我用您的示例对其进行了测试,但它不起作用,但如果您可以探索更多,那么可能会有所帮助。 k-filter="' { field: 'IsProgram', operator: 'eq' ,value:'true' }'"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多