如何根据 Layer Contents 中的自定义条件筛选数据?
当使用多个工作簿和工作表中的数据在 图层内容 对话框中添加或删除绘图时, 在左侧面板中找到目标数据列将是一项耗时的工作。除了使用软件内置的 可用数据下拉列表 进行操作之外,还可以在此列表中添加自定义的条件来进一步提高效率。
假如想要在 图层内容 对话框的左侧面板中筛选出该工程中所有短名称为 A (i.e. Col A) 的列。首先需要添加自定义的条件:
打开 Code Builder, 新建一个 C 语言文件 并输入以下代码:
BOOL MySelection(OriginObject& obj, int nType){ switch ( nType ) { case QUERYRESULTS_FILTER_ELEMENTTYPE__FOLDER: return TRUE; case QUERYRESULTS_FILTER_ELEMENTTYPE__PAGE: { WorksheetPage wksPage; wksPage = (WorksheetPage)obj; return wksPage.IsValid(); } case QUERYRESULTS_FILTER_ELEMENTTYPE__LAYER: { Worksheet wks; wks = (Worksheet)obj; return wks.IsValid(); } case QUERYRESULTS_FILTER_ELEMENTTYPE__COLUMN: { Column col; col = (Column)obj; if ( !obj ) return FALSE; string strName; col.GetName(strName); return strName.Compare("A") == 0; } } return FALSE;}
编译文件并生成工作区 。
要把自定义的条件添加到 图层内容 对话框的可用数据下拉列表中,首先关闭 Origin,然后在电脑资源管理器中找到 User File Folder 并打开 Origin.ini 文件,最后把以下代码粘贴到此文件的末尾。保存并关闭文件。
[DatasetFilterFuncs]ShowColAOnly=MySelection|Column User Defined=Oubtn.ini
单击 图:图层内容... 菜单以打开 图层内容 对话框,然后再点击左侧面板中的可用数据下拉列表。就可以看到再弹出列表的底部显示有 ShowColAOnly 选项。
在下拉菜单中选择 ShowColAOnly ,则可以在左侧面板中选出工程中所有短名称都是 A 的项。
注意: 可以 在系统文件夹中添加创建的
C 文件 至代码编辑器,这样每次 Origin 启动时都会运行所定义的函数功能。