Filter-Dataset-in-Layer-Content
最終更新: 2018/07/08
複数のワークブックやシートがあり、レイヤ内容 ダイアログでデータを追加したり削除する場合、左パネルで目的の列を見つけるのに時間がかかることがあります。組み込みの利用可能なデータドロップダウンリストを使用する方法のほかに、このリストにカスタム条件を追加して、より効果的にフィルタをかけることができます。
同じプロジェクト内のすべての列から、ショートネームがA (例: Col A )のというフィルタを、レイヤ内容 ダイアログの左パネルで使用したい場合を考えます。 カスタム条件を追加するには、
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; }
[DatasetFilterFuncs] ShowColAOnly=MySelection|Column User Defined=Oubtn.ini
Note:コードビルダー内でシステムフォルダに作成したCファイルを追加することでOriginを立ち上げるとすぐに利用できるようになります。
Origin 2018bでは、ワークシートのタブを右クリックし、作図ダイアログから除外を選択し、作図セットアップとレイヤ内容ダイアログで表示されるワークシートを制限できます。
キーワード: フィルタ, レイヤ内容, 列