Wolfram mathematica 操作列表中的复选框

Wolfram mathematica 操作列表中的复选框,wolfram-mathematica,Wolfram Mathematica,我想制作一个简单的界面,用于从Mathematica中有很多列的数据库中对较少的列进行SQL SELECT查询。 我有我的列名列表,例如: dbColumnNames={"name1","name2","name3",...."nameN"} 我想做的是为这个列表中的每个元素设置一个复选框,将其命名为与列表中的元素相同的元素,当选中该复选框时,我将得到一个列名为选中的列表。 例如,我单击name1、name50、name74,列表应该如下所示: selectedNames={"name1","

我想制作一个简单的界面,用于从Mathematica中有很多列的数据库中对较少的列进行SQL SELECT查询。 我有我的列名列表,例如:

dbColumnNames={"name1","name2","name3",...."nameN"}
我想做的是为这个列表中的每个元素设置一个复选框,将其命名为与列表中的元素相同的元素,当选中该复选框时,我将得到一个列名为选中的列表。 例如,我单击name1、name50、name74,列表应该如下所示:

selectedNames={"name1","name50","name74"}
如果我有这个列表,就很容易生成SQL查询字符串。

查看和的帮助

以下是一个工作示例:

dbColumnNames = {"name1", "name2", "name3", "name4", "name5", "nameN"};
TogglerBar[Dynamic[selected], dbColumnNames]
单击要选择的,然后评估:

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

如果您的姓名较长,您可能更喜欢:

CheckboxBar[Dynamic[selected], dbColumnNames, Appearance -> "Vertical"]
TextCell[
 TogglerBar[Dynamic[selected], dbColumnNames, Appearance -> "Row"],
 LineIndent -> 0
]
如果您有很多列名,您可能更喜欢:

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

我使用了TextCell[CheckboxBar[Dynamic[selected],dbColumnNames],LineIndent->0],虽然不是很漂亮,但它可以完成这项工作。谢谢你,巫师先生。@enedene不客气。谢谢你的接受。你说不太漂亮-你指的是代码还是输出?也许我们可以对此进行改进。您的代码很好,输出有点麻烦,因为我有330列。但我得到了我想要的东西,我可以动态快速地更改SQL查询。对于任何美学改进,我需要以某种方式对这些列进行分组,这样我就不会失去功能。这不是当务之急。@enedene,好的,如果你需要帮助,请再发一次。实际上我正在对szabolcs的figure post工具进行大规模测试。这样我就可以发挥作用了。