Telerik MVC Grid фокусируется на первом поле фильтра при загрузке страницы - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь найти способ для начальной загрузки страницы, чтобы установить курсор пользователя и сосредоточиться на текстовом поле фильтра item_id. аналогично тому, как это сделать для страницы бритвы "@autofocus =" autofocus "" или

$(function () {
    $('.focus :input:first').focus();
});

Кажется, я не могу найти работающего решения, чтобы сосредоточиться на строке фильтра, когда пользователь загружает страницу.

Я пытаюсь установить фокус на текстовом поле фильтра 'item_id'

Вот так выглядит столбцовая часть сетки. Я попытался добавить событие, когда сетка загружается, чтобы найти текстовое поле, а затем установить фокус, но это не выглядит, как будто что-то выставлено.

    @(Html.Kendo().Grid<Portal.Models.Location_Inventory>()
                                    .Name("grid")
                                        .Columns(columns =>
                                        {
                                            columns.Bound(p => p.item_id).Title("Item ID").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)).UI("focus"));
                                            columns.Bound(p => p.item_desc).Title("Item Desc").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)));
                                            columns.Bound(p => p.ext_desc).Title("Extended Desc").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)));
                                            columns.Bound(p => p.vmi_pkg).Title("VMI Pack Size").Filterable(false).Width(125);
                                            columns.Bound(p => p.bin).Title("Bin").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains))).EditorTemplateName("String");
                                            columns.Bound(p => p.qty_issued).Title("Qty to Issue").Filterable(false).EditorTemplateName("Integer").Width(125);                                        
                                            columns.Bound(p => p.qty_on_hand).Title("Qty on Hand").Filterable(false).EditorTemplateName("Integer").Width(125);

                                })

1 Ответ

0 голосов
/ 07 июня 2019

Посмотрите, работает ли это для вас.

@(Html.Kendo().Grid<Portal.Models.Location_Inventory>()
                                    .Name("grid")
                                        .Columns(columns =>
                                        {
                                            columns.Bound(p => p.item_id).Title("Item ID").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)).UI("focus"));
                                            columns.Bound(p => p.item_desc).Title("Item Desc").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)));
                                            columns.Bound(p => p.ext_desc).Title("Extended Desc").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)));
                                            columns.Bound(p => p.vmi_pkg).Title("VMI Pack Size").Filterable(false).Width(125);
                                            columns.Bound(p => p.bin).Title("Bin").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains))).EditorTemplateName("String");
                                            columns.Bound(p => p.qty_issued).Title("Qty to Issue").Filterable(false).EditorTemplateName("Integer").Width(125);                                        
                                            columns.Bound(p => p.qty_on_hand).Title("Qty on Hand").Filterable(false).EditorTemplateName("Integer").Width(125);

                                }).Events(ev => ev
                                            .DataBound("onDataBound")
                                 )
<script>
function onDataBound(arg) {
    $('[data-text-field="item_id"]').focus();
}
</script>

...