Kendo UI网格,mvc工具栏中的搜索框

Vis*_*Sen 2 kendo-ui kendo-grid kendo-asp.net-mvc

mvc工具栏中的剑道网格搜索框,带有剃刀语法,

我正面临着我需要工具栏的搜索框,这个搜索框搜索到网格数据.

Vis*_*Sen 11

只需使用mvc模型和自定义按钮(CRUD)复制并粘贴此代码绑定,并在kendo网格模板的工具栏中搜索框

<div>
    @(Html.Kendo().Grid(Model)
    .Name("DiagnosisTestGrid")
    .Columns(columns =>
    {
        columns.Bound(c => c.Description).Title("Description");
        columns.Bound(c => c.Cost).Title("Cost");
        columns.Bound(c => c.CostingRequired).Title("Cost Req.");
        columns.Bound(c => c.DxTestId).ClientTemplate(@"
    <a href='/DiagnosisTest/Details/#=DxTestId#' class = 'dialog-window'>Detail</a> |
    <a href='/DiagnosisTest/Edit/#=DxTestId#' class = 'dialog-window'  >Edit</a> |
    <a href='/DiagnosisTest/Delete/#=DxTestId#' class = 'dialog-window'>Delete</a>
            ").Title("");
    })

       .ToolBar(toolbar =>
        {
            toolbar.Template(@<text>
                <div class="toolbar">

                    <div class="row">
                        <div class="col-md-4">
                            <div class="input-group">
                                <span class="input-group-addon"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></span>
                                <input type="text" class="form-control" id='FieldFilter' placeholder="Search for...">
                                <span class="input-group-btn">
                                    <button class="btn btn-default" type="button"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span></button>
                                </span>
                            </div>
                        </div>
                    </div>
                </div>
            </text>);
        })

     .Resizable(resizing => resizing.Columns(true))
     .Sortable(sorting => sorting.Enabled(true))
     .Reorderable(reorder => reorder.Columns(true))
     .Pageable()
     .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(5)
        .ServerOperation(false)
        ))
</div>
Run Code Online (Sandbox Code Playgroud)

搜索框的脚本.并过滤网格项目

<script>
$(document).ready(function () {
    $("#FieldFilter").keyup(function () {

        var value = $("#FieldFilter").val();
        grid = $("#DiagnosisTestGrid").data("kendoGrid");

        if (value) {
            grid.dataSource.filter({ field: "Description", operator: "contains", value: value });
        } else {
            grid.dataSource.filter({});
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 试试这个: .k-grid-toolbar { float: right; 右内边距:20px;} (2认同)

Mis*_*ish 5

我知道现在这是一个老问题,但似乎接受的答案非常有限。这就是我将搜索框添加到工具栏中的方式。

.ToolBar(toolBar => toolBar.Template(@<text><input class='k-textbox' value="Search..." onfocus="if (this.value=='Search...') this.value='';" onblur="this.value = this.value==''?'Search...':this.value;" id='searchbox'/></text>))
Run Code Online (Sandbox Code Playgroud)

然后脚本

<script type="text/javascript">
    function addSearch() {
        return { searchbox: $('#searchbox').val() };
    }
    $('#searchbox').keyup(function () {
        $('#gridWorkflows').data('kendoGrid').dataSource.read();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这似乎比您目前使用的要简单一些。
希望能帮助到你。