如何在Informix-4GL表单中使用Order by实现数据升序显示
Informix-4GL表单实现Teleid升序显示方案
不用数组也能解决,给你两个简单的实现方式:
方法一:直接在TABLES子句指定默认排序
修改你的表单代码,在TABLES customer后加上ORDER BY Teleid ASC,让表单默认按Teleid升序加载记录。修改后的完整代码:
DATABASE store SCREEN { Teleid:[f000] Telephoneno:[f001] CustomerName:[f002 ] } TABLES customer ORDER BY Teleid ASC ATTRIBUTES f000 = customer.Teleid; f001 = customer.Telephoneno; f002 = customer.CustomerName;
这样操作后,当你查询Telephoneno时,匹配的记录会自动按Teleid从小到大展示,完全不需要数组相关操作。
方法二:通过QUERY块自定义查询排序
如果需要仅在输入Telephoneno后触发排序,可以添加QUERY块,用SQL的ORDER BY指定排序规则,代码示例:
DATABASE store SCREEN { Teleid:[f000] Telephoneno:[f001] CustomerName:[f002 ] } TABLES customer ATTRIBUTES f000 = customer.Teleid; f001 = customer.Telephoneno; f002 = customer.CustomerName; QUERY SELECT Teleid, Telephoneno, CustomerName FROM customer WHERE Telephoneno = f001 ORDER BY Teleid ASC END QUERY
这个方式会在你输入Telephoneno并执行查询时,返回按Teleid升序排列的目标记录,逻辑更精准,同样不用碰数组。
内容的提问来源于stack exchange,提问作者KenKeBuns
相关产品推荐
相关产品推荐

