通过Lightswitch VS2013 HTML表格进行Tab键

时间:2015-07-27 17:47:47

标签: html-table user-input lightswitch-2013

我有一个简单的VS2013 Lightswitch应用程序,我需要一些帮助。

有两个表:

Materials
ID int
Product String

Containers
ID int
Name String
Inventory Double
Comments String

容器和材料之间的关系是一个(材料)到无限(容器)。

我为Containers创建了一个自定义浏览屏幕,其中包含一个Table元素和一些用于添加和保存新容器的自定义脚本,所有这些都可以正常工作。

我的问题是,当用户点击html表并开始编辑其中的项目时,键盘上的Tab键无法按预期工作。每次按下键盘选项卡时,HTML表格的第一个标题单元格都会突出显示。通过表中其余列的进度不会发生。我在Google上做了这个并发现了this博客,但它似乎没有任何效果。

奇怪的是,当我调整IE屏幕大小以强制RWD时,标签按预期工作。

对补救措施的任何想法?

1 个答案:

答案 0 :(得分:0)

请参阅我在MSDN论坛上问自己的这个问题解决了这个问题:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/8c0055c8-367b-407d-a0f4-a33ae81dcc0e/html-client-edit-multiple-lines-of-data-in-a-table?forum=lightswitch

并加入网址:

如果你转到msls-2.5.1.js文件,然后转到第28565行,请更改以下开头的代码:

switch (e.keyCode) {

结束
                break;
        }
    });

并将其更改为:

        switch (e.keyCode) {
            case $.mobile.keyCode.ENTER:
                //if (header) {
                //    sortTableByColumn(table, header.cellIndex);
                //} else {
                //    msls_ui_CollectionControl.selectFocusedItem(table);
                //}
                break;

            //case $.mobile.keyCode.SPACE:
            //    if (header) {
            //        sortTableByColumn(table, header.cellIndex);
            //    } else {
            //        msls_ui_CollectionControl.toggleFocusedItem(table);
            //    }
            //    break;

            case $.mobile.keyCode.TAB:
                //Xpert360: tab in grid
                //if (target.tagName.toLowerCase() != "input")
                //    updateSelectedHeader(table, table._headerRowElement[0]);
                break;
        }
    });

这样就可以在Lightswitch HTML中的表格视图中进行选项卡