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

时间:2015-03-28 12:39:13

标签: kendo-ui kendo-grid kendo-asp.net-mvc

使用razor语法在mvc工具栏中的Kendo-grid搜索框

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

2 个答案:

答案 0 :(得分:10)

只需使用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>

搜索框脚本。并过滤网格项

<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({});
        }
    });
});

enter image description here

答案 1 :(得分:4)

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

.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>))

然后是剧本

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

这似乎比你目前使用的更简单。
希望它有所帮助。