从列表中操作复选框

时间:2011-10-20 18:08:49

标签: wolfram-mathematica

我想创建一个简单的界面,用于从Mathematica中具有大量列的数据库中为较少数量的列进行SQL SELECT查询。
我有我的列名列表,例如:

dbColumnNames={"name1","name2","name3",...."nameN"}

我想要做的是为此列表中的每个元素设置一个与列表元素相同的复选框,并在选中时检查列表中是否选中了列名。
例如,我点击“name1”,“name50”,“name74”,列表应如下所示:

selectedNames={"name1","name50","name74"}

如果我有该列表,则可以轻松创建SQL查询字符串。

1 个答案:

答案 0 :(得分:5)

查看CheckboxBarTogglerBar的帮助。

这是一个有效的例子:

dbColumnNames = {"name1", "name2", "name3", "name4", "name5", "nameN"};
TogglerBar[Dynamic[selected], dbColumnNames]

Mathematica graphics

单击要选择的项目,然后评估:

selected

查看该符号的当前值。符号名selected是任意的。


如果你有长名字,你可能更喜欢:

CheckboxBar[Dynamic[selected], dbColumnNames, Appearance -> "Vertical"]

Mathematica graphics

如果你有很多的列名,你可能更喜欢:

TextCell[
 TogglerBar[Dynamic[selected], dbColumnNames, Appearance -> "Row"],
 LineIndent -> 0
]