有没有办法在 Lightswitch 中基于下拉菜单创建搜索屏幕

2023-12-07

我想在搜索屏幕上的搜索框所在位置放置一个下拉列表,并将每个条目与不同的查询相关联。这是针对我的业务中使用的数据库,我们目前有太多屏幕,例如:

  • 所有设备
  • 新设备
  • 可用设备
  • 出售设备
  • 未付费设备
  • 未付佣金

我正在使用 2012 RC 的 Lightswitch V2


首先单击添加数据项并添加字符串类型的本地属性。为了讨论方便,称之为SearchType。在属性窗口中SearchType单击选择列表。使用上面列出的值填充选择列表(即所有设备、新设备等)。将其拖到控件树上,它将成为一个 AutoCompleteBox。

右键单击我要称呼您的内容Equipment表并单击添加查询。给它起一个名字,比如EquipmentSearch。设置类似于 Yann 链接的步骤 2 中所示的查询:

enter image description here

添加参数但不添加过滤器。代替TownId我们就这样称呼它吧SearchParam并将其设置为 String 类型。

返回屏幕设计器,使用添加数据项添加EquipmentSearch查询到您的屏幕。将其拖到树上,使其成为网格视图。

Click EquipmentSeach位于左侧列表中,以便其展开。然后点击SearchParam在其“属性”窗口中,单击“参数绑定”下方的框并选择SearchType.

Open up EquipmentSearch再次在查询设计器中。在查询设计器的右上角,单击“编写代码”旁边的箭头并选择EqupimentSearch_PreprocessQuery.

现在添加类似于以下的代码:

VB.NET

    Private Sub EquipmentSearch_PreprocessQuery(SearchParam As System.Nullable(Of String), ByRef query As System.Linq.IQueryable(Of LightSwitchApplication.Equipment))
        Select Case SearchParam
            Case "New Equipment"
                query = From es In query
                        Where es.EquipStatus = "New"
                        Select es
            Case "Available Equipment"
                query = From es In query
                        Where es.EquipStatus = "Available"
                        Select es
            Case "Sold Equipment"
                query = From es In query
                        Where es.EquipStatus = "Sold"
                        Select es
            Case "Unpaid Equipment"
                query = From es In query
                        Where es.EquipStatus = "Unpaid"
                        Select es
            Case "Unpaid Commission"
                query = From es In query
                        Where es.EquipCommission = "Unpaid"
                        Select es
        End Select
    End Sub

C#

private void EquipmentSearch_PreprocessQuery(System.Nullable[] SearchParam, void Of, void String) {
    ((System.Linq.IQueryable[])(query));
    Of;
    LightSwitchApplication.Equipment;

    switch (SearchParam) {
        case "New Equipment":
            query = From es In query
                    Where es.EquipStatus = "New"
                    Select es
            break;
        case "Available Equipment":
            query = From es In query
                    Where es.EquipStatus = "Available"
                    Select es
            break;
        case "Sold Equipment":
            query = From es In query
                    Where es.EquipStatus = "Sold"
                    Select es
            break;
        case "Unpaid Equipment":
            query = From es In query
                    Where es.EquipStatus = "Unpaid"
                    Select es
            break;
        case "Unpaid Commission":
            query = From es In query
                    Where es.EquipCommission = "Unpaid"
                    Select es
            break;
    }

让“所有装备”和所有其他装备都失败。如果它失败了,那么网格视图将显示整个表格的完整的、未过滤的视图,这就是我假设您在“所有设备”的情况下想要的。在其他情况下,可以根据需要使用 LINQ 自定义返回结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 Lightswitch 中基于下拉菜单创建搜索屏幕 的相关文章

随机推荐

  • 导出Excel时如何消除空白行?

    当我将水晶报表导出到 Excel 文件时 它会在每个详细信息行后添加一个空白行 我尝试了很多解决方案 例如对齐字段 保持高度相似 对齐为基线 但它们都不起作用 您能否让我知道一个解决方案 以便不添加此类空白行 最后 我通过反复试验的方法得到
  • SQL 级函数是否可用于 LINQ to Entity 查询?

    我希望我可以编写调用其他函数的 LINQ to Entity 查询 from c in context Widgets where MyFunc c name select c 这会导致错误 因为表达式显然无法转换为调用 MyFunc 的
  • PHP 函数 ssh2_connect 不起作用

    以下是我的脚本
  • 如何使用Hamcrest来测试异常?

    我有以下代码 def f String s assert s contains 什么 Hamcrest 匹配器可用于测试断言 我知道我可以使用try catch块 但我更喜欢将测试的圈复杂度保持为 1 EDIT 如果你真的必须使用 Hamc
  • “resolve_variable”在 Django 中做什么? (“模板.变量”)

    什么是resolve variable做 我可以用它来访问request视野之外 Edit So template Variable是正确的方法 但我仍然不确定其目的 该文档并没有真正的帮助 干杯 伙计们 我假设您尝试在此处编写自定义模板标
  • 关闭 pyplot 窗口

    最终编辑 我在关闭 pyplot 窗口的主题上发现 它实际上可能不应该使用 pyplot 来完成 SRK 给出了一个关于如何处理绘图的很好的例子 这些例子将在下面的答案中更新 另外 我还偶然发现了如何将 pyplot 绘图放入 Tkinte
  • 如果没有循环,这个 JavaScript 问题是否可能实现?

    目前在代码提交网站上 它不会让我继续前进 使用此字符数组 将名称以 M 开头的每个字符打印到控制台 暂时不要使用任何类型的循环 var filmCharacters Vito Michael Sonny Freddo Mia Vincent
  • 如何声明一个可以被每个方法使用的变量? | C#

    我想问一下如何声明一个可以被所有方法使用的变量 我尝试将方法的访问类型公开 但这不允许我在其他方法中使用它的变量 此外 我基本上想通过不同的方法累积具有不同值的变量 这就是我问这个的原因 NOTE 我想避免创建任何静态类 EDIT 例如 我
  • 我如何知道 Flex DataGrid itemRenderer 中的按钮何时被单击?

    我有一个显示几列数据的 DataGrid 组件 它还有一个附加列 显示一个按钮 允许用户对记录执行操作
  • Pandas 中通过多个分隔符将一列拆分为多列

    给定一个数据框如下 player score 0 Sergio Ag ero Forward Manchester City 209 98 1 Eden Hazard Midfield Chelsea 274 04 2 Alexis S n
  • MongoDB-CR 身份验证失败

    我在验证用户身份时收到以下错误 purchase user purchase 失败 MongoDB CR 身份验证失败 当我通过浏览器访问 Web 服务时 用户文档中缺少凭据 但我能够从 mongo 验证 buy user 它返回 1 转到
  • 在 WooCommerce 中将爱尔兰的邮政编码结帐字段设置为必填字段

    在 WooCommerce 结帐页面中 我希望将邮政编码字段 爱尔兰爱尔兰代码 更改为必填字段 默认情况下 当所选国家 地区为爱尔兰时 这是可选字段 我只是想知道是否有办法将其更改为必填字段 并在 Eircode 旁边有一个小红星来表示它是
  • 如何在R中快速组合60个矩阵

    我在 R 中有 60 个矩阵 名为 mat1 mat2 mat60 我想使用 rbind 将它们组合成一个大矩阵 我知道我可以写一些类似的东西 matList lt list mat1 mat2 mat60 rbind matList 但这
  • 如何使用FileSavePicker保存现有的StorageFile?

    我正在尝试将现有文件保存到另一个地方 这是某种副本 但我想允许用户使用 FileSavePicker 选择新的目的地 这是我的代码 StorageFile currentImage await StorageFile GetFileFrom
  • 我可以在 Windows XP SP2 上使用哪些免费的 Powershell 编辑器?

    我家里有 Windows 7 和 Powershell 2 我非常喜欢免费版本的 PowerGUI Powershell 编辑器 我想在工作中开始使用 Powershell 但我们使用的是 XP SP2 上的 1 o 版本 我本来打算安装
  • 对 2 个相互依赖的表进行复杂的 SQL 更新

    我有一个数据库 其中有几个表跟踪电话 短信 数据和津贴 我正在尝试计算是否可以在不诉诸游标的情况下将电话分配给津贴 但我无法找到一种方法构造 SQL 来执行此操作 我的尝试没有得到任何有用的 SQL 因为我似乎不知道如何处理它 问题是 对我
  • lxml xpath 不会忽略“ ”

    我有这个 HTML td class 0 b Bold Text b nbsp a href a td td class 0 Regular Text nbsp a href a td 当使用 xpath 格式化时 new html tre
  • Android、Java 上的单选按钮列表

    我需要创建一个单选按钮列表 但如果我尝试使用 ListView 来完成此操作 我可以同时选择所有单选按钮 但我需要同时选择 1 个单选按钮 因此 我可以尝试这段代码 RadioGroup group new RadioGroup this
  • 使用 FCM 从服务器发送推送通知

    最近我问了一个关于使用GCM发送推送通知的问题 向 Android 发送推送通知 现在有了FCM 我想知道它与服务器端开发有什么不同 就编码而言 它们相同吗 在哪里可以找到显示从服务器向 Android 设备发送推送通知的示例 FCM 代码
  • 有没有办法在 Lightswitch 中基于下拉菜单创建搜索屏幕

    我想在搜索屏幕上的搜索框所在位置放置一个下拉列表 并将每个条目与不同的查询相关联 这是针对我的业务中使用的数据库 我们目前有太多屏幕 例如 所有设备 新设备 可用设备 出售设备 未付费设备 未付佣金 我正在使用 2012 RC 的 Ligh