2017-07-26 6 views
1

私のデータベースで自分のフォルダやビューを見つけようとしています。どちらの名前がチーム文書このフォルダにはのようなフィルタオプションがあります。日付別カテゴリです。しかし、これは既にフォルダが存在していても私にはnullを返します。View.getView()がnullを返します

String dbServer = "d23dbm95/23/A/IBM", dbFileName = "dbom\\farizan\\stsklb1.nsf"; 


public void runNotes() 
{ 
    Session session = null; 
    Database db = null; 
    View view = null; 
    Document doc = null; 

    try 
    { 
     NotesThread.sinitThread(); 
     session = NotesFactory.createSession(); 
     System.out.println("User = " + session.getUserName()); 
     db = session.getDatabase(dbServer, dbFileName); 

     if(db.isOpen()) 
     { 
      System.out.println("Title "+db.getTitle()); 

      view = db.getView("Team Documents \\ By Date"); 


      if(view == null) 
      { 
       System.out.println("still null"); 
      } 

     } 

    } 
    catch(NotesException e) 
    { 
     e.printStackTrace(); 
    } 
} 

私はチームのドキュメントように私のgetView()方法を埋めるためにも試してみました。しかし、まだnullを返します。この問題へのアプローチは?

答えて

3

ドミノデザイナークライアントのフォルダリストのスクリーンショットへのリンクを含めると、「フィルタオプション」を持つフォルダは1つではなく、2つのフォルダがあると推測されます。また、私の推測では、 "Team Documents"は実際にはフォルダではありません。それはとなるフォルダ名の接頭辞で、が親フォルダにネストされているように見えます。

そのような場合、あなたは

iew = db.getView("Team Documents\\By Category"); 

それとも

iew = db.getView("Team Documents\\By Date"); 

注意必要があります:バックスラッシュの後&前にはスペースを。

私の前提が正しくない場合は、Domino Designerのフォルダにエイリアス名を割り当て、コード内の表示名の代わりにエイリアスを使用することをお勧めします。率直に言えば、は常にです。これは、表示名を変更した場合でもコードが機能し続けるためです。

+1

私はあなたの専門用語に注意する必要があると付け加えます。フォルダはビューではなく、ビューはフォルダではありません。 – Duston

+1

True!しかし、Notesクラスの観点から見ると、それらは同じように見えます。 –

+0

@リチャード・シュワルツあなたはトリックをやった! :)私はまだ適切なフォルダを取得するために私のフォルダのエイリアスを追加しようとします。あなたの助けを感謝しました! – Francisunoxx

関連する問題