0

做了一些研究,但没有找到任何东西...我已经为基本联系人表创建了一个 LightSwitch 应用程序。浏览屏幕包含名称、号码等...当我使用搜索参数时,是否有可能或这个搜索文本框在每次击键后自动刷新?

例如,我输入“A”,然后根据姓氏加载所有以 A 开头的姓氏,并且不按 Enter 键。

这可以通过内部设置完成吗?还是我需要使用 JavaScript 或 C#> 感谢您的帮助

4

2 回答 2

1

我从http://blog.pragmaswitch.com/?p=1670得到了这个,它工作得很好。我在所有搜索屏幕中都使用它。

myapp.BrowseScreen.SearchText_postRender = function (element, contentItem) {
    // This block is from somewhere else, sets the focus to the search box
    $searchBox = $("input", $(element));
    setTimeout(function () {
        $searchBox.focus();
    }, 1);

    // The blog post linked above set the required characters to 3, but I liked the instant filtering of 1
    onInputAsYouType(element, 1, function (text) {
        contentItem.screen.SearchText = text; //SearchText here is the data item in the screen designer linked to the query parameter
    });

    function onInputAsYouType(element, numberOfRequiredChars, done) {
        var inputbox = $("input", $(element));
        inputbox.on("input", function (e) {
            var text = $(this).val();
            if (text.length >= numberOfRequiredChars)
                done(text);
        });
    };
};

您可以转到博客文章获取屏幕截图,但这非常简单。创建您的浏览/搜索屏幕,将搜索文本设置为文本框,然后将此代码插入到后期渲染中。

于 2014-08-14T17:19:07.993 回答
0

我不知道您的代码,但您可以尝试将代码直接插入到 textBox 的“text_changed”事件中。

private void textBox_TextChanged(object sender, EventArgs e)
    {
        //your code here for instance, or call a method that contain your code
    }
于 2014-06-06T08:57:48.520 回答