敬爱的老师,您好!我是个Aardio新手,这段代码点击查找按钮就出错.具体情况如下:第一张图是一个listview,第二列,即姓名列的数据由TNM这三个大写字母及每个字母后面再分别加一个下标组成(如下图示),这些下标是数字或者单词“any”。我想实现的功能是:在Edit1文本框里输入数据,点击查找按钮后,从listview的第二列的数据里查找与Edit1相同的数据,并把查找到的数据的同一行的第三列(即部门列)的数据返回到Edit2中。listview的第二列的数据里T、N、M的某个字母的下标如果为any,那么,Edit1的对应的字母的任何下标都视为和它相同。比方,第二张图里,Edit1输入了T5N1M1,listview里TanyN1M1就是要查找的值(any的意思就是任意值,即T5=Tany,当然,剩下的N1M1两者更没问题了,即T5N1M1=TanyN1M1),于是,返回同一行的下一列即“III级”到Edit2文本框里,即第二张图示的效果。
import win.ui;
/*DSG{{*/
var Winform = win.form(text="aardio form";right=392;bottom=394)
Winform.add(
button2={cls="button";text="查找";left=27;top=293;right=107;bottom=319;z=2};
edit1={cls="edit";left=123;top=296;right=177;bottom=319;edge=1;z=5};
edit2={cls="edit";left=263;top=293;right=361;bottom=319;edge=1;z=3};
listview={cls="listview";left=24;top=32;right=365;bottom=287;edge=1;z=1};
static={cls="static";text="结果";left=220;top=296;right=278;bottom=319;transparent=1;z=4}
)
/*}}*/
//设置listviewcheckbox扩展属性
Winform.listview.setExtended(0x4/*_LVS_EX_CHECKBOXES*/)
Winform.listview.insertColumn("序号",60,1)
Winform.listview.insertColumn("姓名",100,2)
Winform.listview.insertColumn("部门",100,3)
var tablvData={
{1;"T1N0M0";"I级"};
{2;"T2N1M0";"II级"};
{3;"TanyN1M1";"III级"};
{4;"T3NanyM2";"IV级"};
{5;"TanyNanyM3";"V级"};
}
Winform.listview.items=tablvData
// 添加查找按钮的点击事件
Winform.button2.oncommand = function(id,event){
var searchText = Winform.edit1.text
var lvcount = Winform.listview.count
for(i=1;lvcount;1){
var itemText = Winform.listview.getItemText(i,2)
var itemTextSplit = itemText.split("N")
var searchTextSplit = searchText.split("N")
if((itemTextSplit[0].includes(searchTextSplit[0]) || itemTextSplit[0].includes("any")) &&
(itemTextSplit[1].includes(searchTextSplit[1]) || itemTextSplit[1].includes("any"))){
var resultText = Winform.listview.getItemText(i,3)
Winform.edit2.text = resultText
break
}
}
}
Winform.show()
win.loopMessage();