我是一个完全的初学者,如果这很简单,请耐心等待。 我在堆栈中有2张牌(见链接)。卡1显示几个文本行,可以通过单击“我的选择”按钮查看复选框进行选择。 切换选择的行并在“所有行”视图和“我的选择”视图之间切换工作正常 - 复选框以适当的方式被选中/取消。
当我点击文本行本身时,我会转到显示整个文本行的卡片2。在那张卡片上,我放置了一个复选框,以便能够切换选择。然而,该复选框未正确显示可见线的hilite状态,并且它不会消除卡1上数据网格中的复选框。
对于cd 2上的复选框,我将此代码用于其所在的卡:
global gMySelection,gMySelectedLineNrs,gCurrentLineNr,gCurrentLine,gCurentIndex
on openCard
set itemDel to tab
put gCurentIndex into fld "a" --- used during development
put gCurrentLine into fld "b" --- used during development
if gCurentIndex is among items of gMySelectedLineNrs then
set the hilite of btn "Check" to "true"
else
set the hilite of btn "Check" to "false"
end if
end openCard
以及该卡上的检查按钮:
global gAllLines,gMySelection,gMySelectedLineNrs,gCurentIndex
on mouseUp
set the itemDelimiter to tab
if the hilite of me then
put "true" into item 2 of line gCurentIndex of gMySelection
put "true" into item 2 of line gCurentIndex of gAllLines
else
put "false" into item 2 of line gCurentIndex of gMySelection
put "false" into item 2 of line gCurentIndex of gAllLines
end if
RefreshAllLines
end mouseUp
如何更正代码以使其正常工作?
提前致谢。
keram
答案 0 :(得分:1)
我现在就开始工作了。 这行不正确:“gCurentIndex是gMySelectedLineNrs的项目之一”,因为虽然gCurentIndex总是一个简单的数字,但gMySelectedLineNr总是带有前导0,所以即使gCurentIndex可能是= gMySelectedLineNr但在gMySelectedLineNr的项目中找不到。 / p>