列选择下拉列表|运算符下拉(=!=><< => =)|值选择下拉列表
用户可以多次执行此 *** 作,并且“过滤器”当前全部与AND编号在一起。
我想添加创建OR语句的可能性。在列相同的情况下,我可以很容易地添加OR,但是复杂的逻辑语句如何
((或或B或C)和(D或E))或(F和G)?
如何让用户以用户友好的方式创建此类语句?
编辑:为一般受众指定,用户友好。目前,我与开发人员合作,他们偶尔会为需要我们数据库中特定信息的非技术客户端手动编写SQL查询。我们的目标是通过为客户提供易于使用的工具来自行完成,这个Web应用程序将无需我们手动编码。
EDIT2:目前最终用户尚未使用该应用。我使用的唯一数据是以前的手写SQL查询,因此客户端要求的查询类型。鉴于我可以简化它(例如限制用户为他们倾向于要求的查询类型生成查询的能力),但我想看看是否有人在GUI中简单而完整地传达布尔逻辑的经验。
感谢您的时间。
解决方法 当您需要处理((A或B)和C)或(D或E或F)时,您正在使用树状数据结构。根据我的经验,没有简单的方法以“漂亮”或“直观”的方式向用户表示决策树。它在ASP.NET webforms中倍增难度。但是,一种经过验证的方法如下:单个文本框接受where子句。相信我,单输入法真的是最简单直观的用户界面,它还具有允许快速输入/修改查询过滤器的优点*。
**从技术方面来说,另一个优点是能够编写自己的词法分析器/解析器和AST。你经常在一个基本的crud应用程序中做到这一点:)*
您已经开始培训您的用户如何使用您的即席查询引擎,您也可以训练他们输入(account.Balance< -2000 and account.Type =='Checking')OR(account.Number) = 123456)返回它所说的返回值。 如果采用这种方法,请为用户提供可用列的下拉列表,以便双击项目将项目插入光标位置的文本框中。
总结以上是内存溢出为你收集整理的user-interface – 如何在Web表单GUI中实现用户友好的布尔逻辑?全部内容,希望文章能够帮你解决user-interface – 如何在Web表单GUI中实现用户友好的布尔逻辑?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)