草庐IT

php - Kendo 自动完成搜索多列

coder 2024-04-17 原文

我在我的 KendoGrid 中使用了 kendo Auto Complete, 目前它工作正常,但它只能搜索或仅跨一列获取数据,

我希望它跨多个列进行搜索。

这是我在 KendoGrid 中的自动完成代码。

 $(function(){
    $("#EmployeeGrid").kendoGrid({
        dataSource:{
            serverPaging: true,
            serverFiltering: true,
            pageSize: 5,
            transport: {
                read: "<?php echo base_url() ?>index.php/hr_management/manage_hr/list_view"
            },
            schema:{
                data: "data",
                total: "total"
            }
        },
        toolbar: kendo.template($("#toolbarTemplate").html()),
        pageable: {
            input:true,
            numeric:false
        },
        columns: [
            {
                field: "EmployeeID",
                hidden:true
            },
            {
              field: "FileNo",
              title: "File Number"
            },
            {
                template:"#= FirstName # #= LastName #",
                title: "Full Name"
            },
            {
                field:"City",
                title:"City"
            },
            {
                field:"AddressLine1",
                title:"Address 1"
            },

            {
                field:"WorkPhone",
                title:"WorkPhone"
            },
            {
                field:"MobileNo",
                title:"Mobile No"
            },
            {command: { text: "View", click: showDetails }, title: " ", width: "140px"},
            {command: { text: "Edit", click: EditUserDetails }, title: " ", width: "140px"}
        ]
    });

});
var autoCompleteUsers = $("#employees").kendoAutoComplete({
    minLength: 3,
    dataTextField: "FileNo",
    dataSource: {
        serverFiltering: true,
        transport: {
            read: {
                type: "GET",
                dataType: "json",
                contentType:'application/json; charset=utf-8',
                url: "<?php echo base_url() ?>index.php/hr_management/manage_hr/search_employee/",
                data: function (arg){
                    return {FileNo : autoCompleteUsers.data("kendoAutoComplete").value()};
                }
            }
        }
    },
    change: onChangeAutoComplete
});
function onChangeAutoComplete(){
    var value = this.value();
    var grid = $('#EmployeeGrid');
    if (value) {
        grid.data("kendoGrid").dataSource.filter({ field: "FileNo", operator: "Contains", value: value });
    } else {
        grid.data("kendoGrid").dataSource.filter({});
    }
}


function showDetails(e) {
    e.preventDefault();
    $('.action_button').html('');
    var row = $(e.target).closest("tr");
    var item = $("#EmployeeGrid").data("kendoGrid").dataItem(row);
    $.ajax({
        type: "POST",
        url: "<?php echo base_url().'index.php/hr_management/manage_hr/view_employee_profile/'?>"+JSON.parse(item.EmployeeID),
        success: function(output_string){
            var data = output_string.split("MyMark_Employee");
            $('.second_column_content_container').html(data[0]);
            $('.action_button').html(data[1]);

            $("#createEmployee").hide();
        },
        error: function(data){
            alert("error");
        }
    });

}


function EditUserDetails(e) {
    e.preventDefault();
    $('.action_button').html('');
    var row = $(e.target).closest("tr");
    var item = $("#EmployeeGrid").data("kendoGrid").dataItem(row);
    $.ajax({
        type: "POST",
        url: "<?php echo base_url().'index.php/hr_management/manage_hr/edit_employee_details/'?>"+JSON.parse(item.EmployeeID),
        success: function(output_string){
            var data = output_string.split("MyMark_Employee");
            $('.second_column_content_container').html(data[0]);
            if(data[1]!= " ")
            {
                $('.action_button').html(data[1]);
            }

        },
        error: function(data){
            alert("error");
        }
    });

}

要做什么? 我需要定义多个 dataTextField: 吗? 需要建议。

最佳答案

好问题。我也想知道同样的事情。

查看 Kendo 代码 (kendo.web.min.js) 后,似乎无法为属性 dataTextField 定义多个字段。看起来只允许一个字段。

解决方法是在您的模型中添加一个字段,其中包含(以字符串形式)您要搜索的所有字段。然后将 dataTextField 设置为该字段。这不是一个理想的解决方案,但它确实有效。

关于php - Kendo 自动完成搜索多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014205/

有关php - Kendo 自动完成搜索多列的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  3. ruby-on-rails - Nokogiri:使用 XPath 搜索 <div> - 2

    我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll

  4. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

  5. ruby-on-rails - 在 Ruby on Rails 中发送响应之前如何等待多个异步操作完成? - 2

    在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.

  6. ruby - 如何搜索有用的 ruby - 2

    寻找有用的ruby的好网站是什么? 最佳答案 AgileWebDevelopment列出插件(虽然不是ruby​​gems,我不确定为什么),并允许人们对它们进行评级。RubyToolbox按类别列出gem并比较它们的受欢迎程度。Rubygems有一个搜索框。StackOverflow对最有用的rails插件和ruby​​gems有疑问。 关于ruby-如何搜索有用的ruby,我们在StackOverflow上找到一个类似的问题: https://stacko

  7. ruby-on-rails - 有没有一种工具可以在编码时自动保存对文件的增量更改? - 2

    我最喜欢的Google文档功能之一是它会在我工作时不断自动保存我的文档版本。这意味着即使我在进行关键更改之前忘记在某个点进行保存,也很有可能会自动创建一个保存点。至少,我可以将文档恢复到错误更改之前的状态,并从该点继续工作。对于在MacOS(或UNIX)上运行的Ruby编码器,是否有具有等效功能的工具?例如,一个工具会每隔几分钟自动将Gitcheckin我的本地存储库以获取我正在处理的文件。也许我有点偏执,但这点小保险可以让我在日常工作中安心。 最佳答案 虚拟机有些人可能讨厌我对此的回应,但我在编码时经常使用VIM,它具有自动保存功

  8. ruby - 如何搜索、递增和替换 Ruby 字符串中的整数子字符串? - 2

    我有很多这样的文档:foo_1foo_2foo_3bar_1foo_4...我想通过获取foo_[X]的所有实例并将它们中的每一个替换为foo_[X+1]来转换它们。在这个例子中:foo_2foo_3foo_4bar_1foo_5...我可以用gsub和一个block来做到这一点吗?如果不是,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以暴力破解它,但我觉得有一些正则表达式技巧值得学习。 最佳答案 我(完全)不懂Ruby,但类似这样的东西应该可以工作:"foo_1foo_2".gsub(/(foo_)(\d+)/

  9. ruby-on-rails - Rails 单选按钮 - 模型中多列的一种选择 - 2

    我希望用户从一个模型的三个选项中选择一个。即我有一个模型视频,可以被评为正面/负面/未知目前我有三列bool值(pos/neg/unknown)。这是处理这种情况的最佳方式吗?为此,表单应该是什么样的?目前我有类似的东西但显然它允许多项选择,而我试图将它限制为只有一个..怎么办? 最佳答案 如果要使用字符串列,让我们说rating。然后在你的表单中:#...#...它只允许一个选择编辑完全相同但使用radio_button_tag: 关于ruby-on-rails-Rails单选按钮-模

  10. ruby - Ruby 中的必应搜索 API - 2

    我读了"BingSearchAPI-QuickStart"但我不知道如何在Ruby中发出这个http请求(Weary)如何在Ruby中翻译“Stream_context_create()”?这是什么意思?"BingSearchAPI-QuickStart"我想使用RubySDK,但我发现那些已被弃用前(Rbing)https://github.com/mikedemers/rbing您知道Bing搜索API的最新包装器(仅限Web的结果)吗? 最佳答案 好吧,经过一个小时的挫折,我想出了一个办法来做到这一点。这段代码很糟糕,因为它是

随机推荐