字符集中在asp.net树视图上

时间:2010-09-12 12:54:47

标签: asp.net

我在面板中有一个树视图。树视图有父项和子项。当我按下键盘上的任何字符时,焦点需要转到相应的父母或孩子。我尝试使用谷歌解决方案,但我找不到任何解决方案。

2 个答案:

答案 0 :(得分:1)

您需要使用一些JavaScript来实现您的目标。

您需要查看keyboard events以查看正在按下的键,然后focus正确的元素。

答案 1 :(得分:0)

        document.onkeyup = function keyPress(e) {
        wkey = e.which ? e.which : window.event.keyCode;
        var ch = String.fromCharCode(wkey).trim();
        var chlower = ch.toLowerCase().trim();

        var foo = [];
        var fo = [];
        var k = 0;
        var lastword;
        var looping = [];
        var lastwordforkeypress;

        $('#ctl00_mainContentPlaceHolder_channelTreeView table').each(function(l, table) {
            looping[l] = $(table).text().trim();
            if (looping[l].indexOf(ch) === 0 || looping[l].indexOf(chlower) === 0) {
                lastwordforkeypress = looping[l];
            }
        });

        $('#ctl00_mainContentPlaceHolder_channelTreeView table').each(function(i, table) {
            foo[i] = $(table).text().trim();
            if (foo[i].indexOf(ch) === 0 || foo[i].indexOf(chlower) === 0) {
                fo = $('#keystroke').html().split(',');

                if (fo[k].trim() == foo[i].trim()) {                        
                    k = k + 1;
                }
                else {
                    $('#keystroke').html($('#keystroke').html() + foo[i] + ',');
                    lastword = foo[i].trim();
                    var keystroke = $('#keystroke').html()
                    if (keystroke.indexOf(ch) === 0 || keystroke.indexOf(chlower) === 0) {
                        $('table').select().css({ backgroundColor: 'white' });
                        $(table).select().css({ backgroundColor: 'orange' });
                        if (lastwordforkeypress == lastword) {
                            $('#keystroke').html('');
                            k = 0;
                        }
                        return false;
                    }
                    else {
                        $('#keystroke').html('');
                        k = 0;
                        $('#keystroke').html($('#keystroke').html() + foo[i] + ',');
                        $('table').select().css({ backgroundColor: 'white' });
                        $(table).select().css({ backgroundColor: 'orange' });
                        return false;
                    }
                }
            }
        });
    }

我是通过Jquery实现的。但问题是,当焦点在树视图上向下时,我无法滚动面板滚动条。根本不知道。需要帮助。