Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 剑道UI角度全局搜索_Angular_Kendo Ui_Kendo Grid - Fatal编程技术网

Angular 剑道UI角度全局搜索

Angular 剑道UI角度全局搜索,angular,kendo-ui,kendo-grid,Angular,Kendo Ui,Kendo Grid,只是一个简短的问题,我试着四处看看如何对剑道进行全局搜索。我所说的全局搜索是,剑道表外部有一个文本字段,然后我们在字段中键入任何内容,然后剑道表将加载并搜索数据 我已经使用剑道Angular Jquery完成了这项工作,但到目前为止,我还没有找到如何在剑道UI Angular上进行全局搜索的解决方案 如果有人已经这样做了,可以和我分享如何做剑道UI角度表的全局搜索 注意:我使用angular 4进行当前开发 非常感谢 除了过滤行之外,我不知道还有其他类似的功能。 您可以创建自己的过滤器来实现这一

只是一个简短的问题,我试着四处看看如何对剑道进行全局搜索。我所说的全局搜索是,剑道表外部有一个文本字段,然后我们在字段中键入任何内容,然后剑道表将加载并搜索数据

我已经使用剑道Angular Jquery完成了这项工作,但到目前为止,我还没有找到如何在剑道UI Angular上进行全局搜索的解决方案

如果有人已经这样做了,可以和我分享如何做剑道UI角度表的全局搜索

注意:我使用angular 4进行当前开发

非常感谢


除了过滤行之外,我不知道还有其他类似的功能。 您可以创建自己的过滤器来实现这一点,因为毕竟,您只是将一个数据数组提供给kend grid

所以我要创建一个searchInput管道,它接受关键字参数

<kendo-grid [data]="gridData | searchInput: keyword">
您可以使用filter函数,并为其提供一个回调函数,该函数将参数输入与每个数据元素进行比较。注意:在这个例子中,我们只比较了两件事,你可以很容易地用几个成员来做

@Pipe({
  name: 'searchData'
})
export class SearchData implements PipeTransform {
  transform(data: DeviceType[], arg: string): any {
    return data.filter(item => {
      if (arg) {
        const searchInput = arg.toLowerCase();
        const deviceId = item.deviceId.toLowerCase();
        const deviceType = item.deviceType .toLowerCase();

        if(deviceId.includes(searchInput) || deviceType .includes(searchInput)){
          return item;
        }
      }
});
} }

创建输入表单并将其作为参数提供给

管道输入数据,并使用输入中输入的字符串为参数提供数据


@兰科维奇你好,谢谢你的回答。但你能给我看一些普朗克的工作实例吗?如果我不能实现你的想法,我很担心。@FaiZalDong,你没有共享任何代码,所以我不知道你是如何设置你的项目的。如果您在plunker或stackblitz上启动一个项目,我将演示如何集成管道。
@Pipe({
  name: 'searchData'
})
export class SearchData implements PipeTransform {
  transform(data: DeviceType[], arg: string): any {
    return data.filter(item => {
      if (arg) {
        const searchInput = arg.toLowerCase();
        const deviceId = item.deviceId.toLowerCase();
        const deviceType = item.deviceType .toLowerCase();

        if(deviceId.includes(searchInput) || deviceType .includes(searchInput)){
          return item;
        }
      }
});