如何根据 Layer Contents 中的自定义条件筛选数据?

当使用多个工作簿和工作表中的数据在 图层内容 对话框中添加或删除绘图时, 在左侧面板中找到目标数据列将是一项耗时的工作。除了使用软件内置的 可用数据下拉列表 进行操作之外,还可以在此列表中添加自定义的条件来进一步提高效率。

假如想要在 图层内容 对话框的左侧面板中筛选出该工程中所有短名称为 A (i.e. Col A) 的列。首先需要添加自定义的条件:

  1. 打开 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;}
  2. 编译文件并生成工作区 。

  3. 要把自定义的条件添加到 图层内容 对话框的可用数据下拉列表中,首先关闭 Origin,然后在电脑资源管理器中找到 User File Folder 并打开 Origin.ini 文件,最后把以下代码粘贴到此文件的末尾。保存并关闭文件。

    [DatasetFilterFuncs]ShowColAOnly=MySelection|Column 
    User Defined=Oubtn.ini
  4. 单击 图:图层内容... 菜单以打开 图层内容 对话框,然后再点击左侧面板中的可用数据下拉列表。就可以看到再弹出列表的底部显示有 ShowColAOnly 选项。

  5. 在下拉菜单中选择 ShowColAOnly ,则可以在左侧面板中选出工程中所有短名称都是 A 的项。


注意: 可以 在系统文件夹中添加创建的 C 文件 至代码编辑器,这样每次 Origin 启动时都会运行所定义的函数功能。