> For the complete documentation index, see [llms.txt](https://chaoses-ib.gitbook.io/directory-opus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chaoses-ib.gitbook.io/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumndata.zh.md).

# ScriptColumnData

**ScriptColumnData** 对象传递给脚本定义的入口点，用于任何由 [脚本加载项](/directory-opus/guan-fang-shou-ce/readme.zh-8/readme.zh-1.md) 添加的 [自定义列](/directory-opus/guan-fang-shou-ce/readme.zh-8/readme.zh-6/adding_a_new_column.zh.md)。这些事件的函数名由脚本本身定义，但通常称为 [**OnScriptColumn**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh-1/onscriptcolumn.zh.md)。请注意，字段 **group**、**sort**、**type** 和 **value** 是可设置的，并且是您的方法返回列值的途径。

| 属性名称        | 返回类型                                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| col         | *string*                                                                                             | 提供 Opus 希望脚本返回值的列的名称。如果您使用相同的 [**OnScriptColumn**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh-1/onscriptcolumn.zh.md) 方法提供多个列，您可以使用它来区分这些列。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| columns     | *object:*[**Map**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md)   | <p>如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性提供一个 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a>，允许您一次返回一个或多个列的值。</p><p>您可能希望使用此方法，如果您的脚本返回多个共享共同计算的列（例如读取文件夹的内容）。这样，当您被调用以获取第二列和后续列时，您可以避免重复可能很耗时的操作。</p><p><a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 包含每个列的一个成员元素。每个成员元素都具有 <strong>group</strong>、<strong>group\_type</strong>、<strong>sort</strong>、<strong>type</strong>、<strong>userdata</strong> 和 <strong>value</strong> 属性，这些属性等同于下面描述的属性。</p><p>例如，您可以像这样设置名为 <em>MyColumn</em> 的列的值：</p><p><em>scriptColData.columns("MyColumn").value = "My Column Value";</em><br>您应该在填充列的数据之前检查列是否在映射中存在。在某些情况下，Opus 仅会请求加载项支持的某些列，而不是所有列。<br>如果您没有为 Opus 仍然需要的列填写数据，Opus 将再次调用您的方法以请求它，并在 <strong>col</strong> 属性中包含其名称（但仍然处于多列模式）。如果计算一个数据会导致某些列的值但不是所有列的值，您可以利用这一点。您不需要填充所有列，如果数据不可用，但您至少应该填充 <strong>col</strong> 列。<br>由于以上原因，在使用多列模式时，您<em>始终</em>应该为计算过的任何列设置某种值，即使计算结果是该列不应显示任何内容。如果应该隐藏任何内容，请将值设置为一个空字符串（即使该列通常显示数字或其它类型的数据也可以这样做）。如果您根本没有设置任何值，Opus 会假设您尚未计算该列，并可能再次调用您的脚本以请求它，这可能会导致您浪费时间重新计算您已经知道是空白的列。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| group       | *string*                                                                                             | <p>如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.autogroup</strong> 值设置为 <strong>False</strong>，您应该将此值设置为指示当列表按您的列分组时该文件应放入的组。如果您没有提供组，则此文件将进入 <em>未指定</em> 组。如果 <strong>autogroup</strong> 设置为 <strong>True</strong>，则忽略此值。</p><p>请注意，如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性将在 <strong>columns</strong> <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中找到。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| group\_type | *string*                                                                                             | <p>如果组是通过 <strong>group</strong> 属性设置的，<strong>group\_type</strong> 允许您使用与 <strong>type</strong> 字段相同的关键字控制组标题的格式（例如，您可以提供一个数字，并通过设置 <em>group\_type="size"</em> 使组标题格式化为文件大小）。</p><p>请注意，如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性将在 <strong>columns</strong> <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中找到。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| item        | *object:*[**Item**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/item.zh.md) | 返回一个 [**Item**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/item.zh.md) 对象，该对象表示 Opus 希望脚本返回列值的 文件或文件夹。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| sort        | *variant*                                                                                            | <p>允许您通过提供一个与 <strong>value</strong> 不同的 <em>排序键</em> 来控制列的排序顺序。如果提供排序键，并且列表按您的列排序，Opus 将使用此字段的值来定位此项，而不是使用 <strong>value</strong> 值。</p><p>请注意，如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性将在 <strong>columns</strong> <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中找到。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| tab         | *object:*[**Tab**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/tab.zh.md)   | 返回一个 [**Tab**](/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/tab.zh.md) 对象，该对象表示包含该项的标签。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| type        | *string*                                                                                             | <p>允许您在每个文件/文件夹的基础上覆盖列的默认类型（在添加列时通过 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.type</strong> 设置）。<br>如果未指定，并且也没有指定默认类型，则列默认为纯文本。<br>请注意，如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性将在 <strong>columns</strong> <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中找到。<br>可接受的值为： <strong>number</strong>: \ \ \ \ 该列显示整数。 <strong>double</strong>: \ \ \ \ 该列显示浮点数（小数）。 <strong>size</strong>: \ \ \ \ 该列显示文件大小（自动显示字节、KB、MB 等）。 <strong>zip</strong>: \ \ \ \ 该列显示文件大小（使用 Zip 文件大小的设置）。 <strong>graph</strong>: \ \ \ \ 该列显示条形图（预期值为 0 到 100）。 <strong>igraph</strong>: \ \ \ \ 该列显示反向条形图。 <strong>percent</strong>: \ \ \ \ 该列显示百分比。 <strong>date</strong>: \ \ \ \ 该列显示日期。 <strong>time</strong>: \ \ \ \ 该列显示时间。 <strong>datetime</strong>: \ \ \ \ 该列同时显示日期和时间。 <strong>stars</strong>: \ \ \ \ 该列显示星号（类似于内置的 <em>Rating</em> 列）。<strong>value</strong> 应采用 "x" 或 "x/y" 的形式。</p><p>对于 <em>date</em>、<em>time</em> 和 <em>datetime</em> 列，您还可以指定 <strong>utc</strong>，以便将值自动从 UTC 转换为本地时间（例如 <strong>datetime,utc</strong>）。对于 <em>number</em> 和 <em>double</em> 列，您还可以指定 <strong>signed</strong>，以便将值视为有符号而不是无符号（例如 <strong>number,signed</strong>）。以上选项是您可以通过 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.type</strong> 指定的选项的子集，因为并非所有选项在每个文件/文件夹的基础上都有意义。请注意，如果您在一个列中混合了不同的类型，那么按此列排序或使用 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-1/readme.zh-2/readme.zh/readme.zh.md"><strong>高级查找</strong></a> 功能在您的列上搜索时获得的结果可能难以预测。</p> |
| value       | *variant*                                                                                            | <p>此字段是您的方法如何返回列的实际值 - 也就是说，为每个文件和文件夹在该列中显示给用户的 信息。</p><p>如果为该列设置了类型（通过 <strong>ScriptColumnData.type</strong> 或 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.type</strong> 设置），则 Opus 将尝试将提供的值转换为指定的类型。如果未设置类型，则 Opus 将将该值视为纯文本字符串。</p><p>如果您没有通过 <strong>sort</strong> 字段提供排序键，则 Opus 还将使用此值来在按该列排序时对列表进行排序。</p><p>请注意，如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性将在 <strong>columns</strong> <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中找到。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| userdata    | *variant*                                                                                            | <p>此返回值与通过 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.userdata</strong> 添加列时关联的此列的值（如果有）。</p><p>请注意，如果在添加列时将 <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/scriptcolumn.zh.md"><strong>ScriptColumn</strong></a><strong>.multicol</strong> 值设置为 <strong>True</strong>，则此属性将在 <strong>columns</strong> <a href="/directory-opus/guan-fang-shou-ce/readme.zh-10/readme.zh-3/readme.zh/map.zh.md"><strong>Map</strong></a> 中找到。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
