gpt4 book ai didi

asp.net-mvc - Telerik mvc 网格选项卡顺序问题

转载 作者:行者123 更新时间:2023-12-02 01:38:16 24 4
gpt4 key购买 nike

我正在使用 MVC 3.0 应用程序。在我的项目中,我使用 Telerk mvc 网格来列出数据。我将网格编辑模型设置为“InCell”,并在我的问题解答区域中提供键盘导航。每个问题都有 2 个答案选项,例如“事实”和“行动”,并且都是数值。为此,我使用了“整数”编辑器模板。我的要求是,当用户从“事实”整数教科书中按 Tab 键时,焦点会将其移动到“操作”整数文本框,如果用户从“操作”中按 Tab 键,它将移动到下一行“事实”文本框。但目前键盘导航会遍历网格中的所有单元格。 “事实”和“行动”之间只有几栏。我的网格列表代码如下所示。

@(Html.Telerik().Grid<AnswerQuestionVM>()
.Name("GridQuestions")
.DataKeys(keys =>
{
keys.Add(p => p.QuestionID);
})
.Columns(columns =>
{

columns.Bound(p => p.QuestionNumber).Format("{0:0.00}").HtmlAttributes(new { style = "text-align:center;" }).Title("#").Width("5%").ReadOnly();

columns.Bound(p => p.QuestionName).Title("Question Name").Width("43%").ReadOnly();

columns.Bound(p => p.Facts).Width("8%");

columns.Template(@<text></text>).ClientTemplate("<img src='" + @Url.Content("~/images/help.gif") + "' name='help' alt='help' title='<#=FactOptions#>' />");

columns.Bound(p => p.Actions).Width("8%");

columns.Template(@<text></text>).Width("2%").ClientTemplate("<img src='" + @Url.Content("~/images/help.gif") + "' name='help' alt='help' title='<#=ActionOptions#>' />");

columns.Template(@<text></text>).Title("Skip").Width("3%").ClientTemplate(
"<# if(Skip==false) {#>" +
"<input type='checkbox' style='cursor:pointer;' class='skipClass' />" +
"<#} else{#>" +
"<input type='checkbox' style='cursor:pointer;' class='skipClass' checked='checked' />" +
"<# } #>"
);

columns.Bound(p => p.Note).Title("Note").Width("26%");

})
.Editable(editing => editing.Mode(Telerik.Web.Mvc.UI.GridEditMode.InCell))
.KeyboardNavigation( navigation => navigation.EditOnTab(true))
.ClientEvents(e => e.OnSave("OnSave"))
.DataBinding(dataBinding =>
{
dataBinding.Ajax().Select("GetQuestion", "AnswerQuestion", new { Area = "question", ajax = true }).Enabled(true);
})
.Scrollable(scrolling => scrolling.Enabled(false))
.Sortable(sorting => sorting.Enabled(true))
.Pageable(paging => paging.Enabled(true))
.Filterable(filtering => filtering.Enabled(true))
.Groupable(grouping => grouping.Enabled(false))
.Footer(true)
)

下面的“事实”和“操作”列的整数编辑器模板代码。

@(Html.Telerik().IntegerTextBox()
.Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))
.InputHtmlAttributes(new { style = "width:100%", pattern = "[0-9]*" })
.MinValue(1)
.MaxValue(5)
.Value(Model)

)

请提供解决方案。如有任何帮助,我们将不胜感激。

最佳答案

以下是我建议您作为解决方法的建议,因为您的目标不受开箱即用的支持。

随意优化/更改实现或使其更加通用(例如,使用类来查找单元格而不是依赖索引)

 $(function () {
$('#persons tbody').on('keydown', function (e) {
if (e.keyCode == 9) {
var currentCell = $(e.target).closest('td');
var cellIndex = currentCell.index();
if (cellIndex == 2 || cellIndex == 4) { //if editing cell in third or fifth column, use different indexes if needed
e.stopPropagation();
e.preventDefault();
var grid = $('#persons').data().kendoGrid;

if (cellIndex == 2) {
var cellToEdit = currentCell.parent().find('td:eq(4)');
grid._handleEditing(currentCell, cellToEdit);
}
if (cellIndex == 4) {
var cellToEdit = currentCell.parent().find('td:eq(2)');
grid._handleEditing(currentCell, cellToEdit);
}
setTimeout(function () {
cellToEdit.find('input').focus();
})
}
}
})
})

关于asp.net-mvc - Telerik mvc 网格选项卡顺序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com