PB 关于DDDW中的模糊搜索定位问题,求教。。

mlwstc 2018-04-18 04:35:46
我在DW中其中一个字段使用了DDDW风格,关联了数据,动态获取datawindowchild,我想实现输入其中部分字符串的时候能模糊定位,比如说我的DDDW字段里有AB-1,AB-2,AB-3,这些数据,我在输入时输入 AB, 或者 B-1 ,或者 -1 都能定位出第一次搜索到的数据行,然后SCROLL到该行。

我是在editchanged 事件里写的代码。

最开始用的SETFILTER,但是这个DW我需要一次插入多行数据,用这个方式,第2行数据在选择DDDW字段的时候会影响第一行,所以不能用。

然后改成FIND,网上查了资料, find里的表达式用 LIKE 或者 POS 都不行,没有效果,始终只能查询首字母或者从第一个字母开始的字符串,比如查 AB, AB-, AB-1 都行,但是如果查询B-1,就不行。

然后发现如果不使用FIND,把editchanged事件里代码都注释掉,还是能实现首字母定位的功能,这个应该是PB自带的,我本来打算用getitem循环取出DDDW中的所有行,然后用POS函数判断输入的字符是否存在其中,如果存在就SCROLL到该行,运行后发现这种方式和PB自带的自动定位首字母的功能冲突,而且是先执行了editchanged事件里的代码后,再触发的首字母定位功能,导致我写的代码完全无效。。。。


求教高手。。。想了好久,一直没办法解决这个问题。。。
...全文
1164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxbkkk 2018-05-04
  • 打赏
  • 举报
回复
楼上很详细了,editchanged 要注意ACCEPT事件配合
a79486738 2018-04-24
  • 打赏
  • 举报
回复
DW的editchanged事件: //////////////////////////////////// DataWindowChild ldwc_name This.GetChild('kh_xz',ldwc_name) ldwc_name.SetTransObject(SQLCA) string ls_kh ls_kh=trim(this.Describe ( "Evaluate('LookupDisplay(kh_xz)',1)" )) If len(ls_kh) = 0 Then ldwc_name.SetFilter('') ///清除过滤 ldwc_name.Filter() ldwc_name.Retrieve() else ldwc_name.SetFilter("(kh_name like '%"+ls_kh+"%') or (kh_pym like '%"+ls_kh+"%')") ldwc_name.Filter() ldwc_name.Retrieve() End If ///////////////////////////////////// 参考一下,SCROLL没写,自己写下把, 是不是这个意思???
qinxueyuan 2018-04-23
  • 打赏
  • 举报
回复
find用POS可以的,find("pos(a,'B')>0",1,1000)
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 ImageStitching 图像矩阵实现,图片拼接、缩放、旋转等工能 一、前文 之前有个朋友委托我实现一个图片拼接的组件,感觉挺有意思,于是周末花了些时间去研究了下,其实拼接这一步并不难,但是我在研究发现了Matrix这个东西,非常好的东西。 为此,我竟然拾起了多年没有动过的线性代数。 二、原理 要彻底搞懂matrix还是需要一定的线性代数上面的理解,不过对于基本使用,了解到矩阵乘法就足够了。 在android坐标系,分为x、y和z三个轴,分别代表了长、宽、高三个维度。 如下图所示 android坐标系 在android,使用三维坐标(x,y,z)组成一个行列式与一个三阶行列式进行矩阵乘法。 矩阵乘法 图显示的使用初始坐标组成的矩阵与单位矩阵进行矩阵乘法。 矩阵乘法使用可以参考矩阵乘法) Martix会把输入进来的矩阵带入到其内部的矩阵进行计算,最终输出新的矩阵,来达到对图形形态的处理。 三、基本方法的使用 Matrix提供的基本方法有三种模式, setXXX()方法,例如 setRotate(),setScale() preXXX()方法,例如 preRotate(),preScale() postXXX()方法,例如 postRotate(),postScale() 其,setXXX()会先将矩阵重置为单位矩阵,然后再进行矩阵变幻 preXXX()和postXXX()方法会牵扯到矩阵的前乘和后乘,如果了解了矩阵乘法规则,就会明白矩阵前乘和后乘得出来的结果是不一样的,不过一般情况下都会选择使用post方法,后乘。 其还有扩展方法比如: mapRect(rect) /...
内容概要:本文系统研究了改进灰狼优化算法在复杂山地环境下无人机三维路径规划的应用,旨在解决地形起伏剧烈、障碍物密集等挑战性条件下的航迹安全性与全局最优性问题。通过构建综合威胁代价函数与路径优化模型,结合Matlab平台实现算法仿真,有效提升了路径的平滑性、避障能力与收敛效率。文详细阐述了算法的改进策略,包括种群初始化优化、自适应控制参数调整及局部搜索能力增强机制,并通过与传统灰狼算法及其他智能优化算法(如蚁狮算法、蜣螂算法)的对比实验,验证了所提方法在路径质量、计算效率和鲁棒性方面的优越性能。; 适合人群:具备一定智能优化算法理论基础和Matlab编程能力,从事无人机路径规划、智能控制、人工智能或相关领域研究的研究生、科研人员及工程技术开发者。; 使用场景及目标:①应用于复杂自然地形(如高山、峡谷)或多障碍城市环境无人机自主导航系统的路径规划;②为新型群智能算法在三维空间路径优化的改进与工程化应用提供技术参考;③服务于学术论文复现、科研项目攻关及实际无人机系统仿真验证需求; 阅读建议:建议结合文涉及的多种路径规划算法(如A*、RRT、DWA等)进行对比学习,深入理解目标函数设计、约束处理机制与仿真可视化流程,重点关注算法改进策略对收敛性能的影响,以全面提升科研创新能力与工程实践水平。

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧