列リスト ボックスのエントリを制限するCol List Box に問題があります。 選択できる列のリストを制限したいと思います。
すでに数値と連続に制限していますが、私のアプリケーションでは非常に長いリストが残っています。
さらに言えば、もっと簡単な方法 (Column Dialog?) があれば、それもいいでしょう。 ドキュメントはこれに限定されているようです。 たとえば、Col List Box() 関数にスクリプトを追加できることを示していますが、例がなく、その方法が説明されていません。
Scripting Index の変更された例を使用すると、たとえば、N で始まるすべての列名を削除するにはどうすればよいでしょうか?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
New Window( "Col List Box Example 3",
H List Box(
ll1 = Col List Box( all,
<< Set Data Type( "Numeric" ),
<< Set Analysis Type( "Continuous" )),
Button Box( "Add", ll2 << append( ll1 << get selected ) ),
ll2 = Col List Box( "numeric", MaxItems( 1 ), nlines( 1 ) ),
Button Box( "Remove", ll2 << remove selected )
)
);
Re: 列リスト ボックスのエントリを制限するこれも機能します。 フィルタリングについては知っていましたが、それをスクリプト化することは考えていませんでした。Re: 列リスト ボックスのエントリを制限するそれはまさに私が考えていたものではありませんでしたが、うまくいきました!Re: 列リスト ボックスのエントリを制限するfilter col selector() をチェックしてください。
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
new window("Test",
fcs = filter col selector(dt)
);
削減のための多くのオプションを提供します。
Re: 列リスト ボックスのエントリを制限する@mwechtal 、
このようなものはどうですか?
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
ColumnNames = dt << Get Column Names("String");
for(i = N Items(ColumnNames), i >= 1 , i--,
If(!IsMissing(Regex(Char(ColumnNames[i]),"PNP*")),
Remove From(ColumnNames,i);
);
);
ColumnNames;
New Window( "Example", b = Button Box( "Popup Menu", Print( b << Get Menu Choice ) ) );
b << set menu items(ColumnNames);