SlideShare a Scribd company logo
1 of 22
知らない間に欲しい機能が
ついてた件
9.0.1 FP8 の新機能
中野晴幸
@harunakano
View.createViewNavFromKey
What's new in IBM Domino Designer 9.0.1 Social Edition Feature Pack 8?
https://ibm.co/2OUcJ5J
View.createViewNavFromKey
ViewEntryCollection の代わりに ViewNavigator
を返す点を除き、View.getAllEntriesByKey と同じ
機能を果たします。ViewNavigator を
ViewEntryCollection 上に使用する利点は、複
数の Category を持つビューに、ビューに2度表
示される文書がある可能性があることです。 残
念ながら、ViewEntryCollection は繰り返しエント
リを許可しません。 ただし、ViewNavigator は表
示されたビューと繰り返される文書とを一致さ
せます。
View.createViewNavFromKey
ViewEntryCollection の代わりに ViewNavigator
を返す点を除き、View.getAllEntriesByKey と同じ
機能を果たします。ViewNavigator を
ViewEntryCollection 上に使用する利点は、複
数の Category を持つビューに、ビューに2度表
示される文書がある可能性があることです。 残
念ながら、ViewEntryCollection は繰り返しエント
リを許可しません。 ただし、ViewNavigator は表
示されたビューと繰り返される文書とを一致さ
せます。
①
②
メソッド getAllEntriesByKey createViewNavFromKey
返すモノ ViewEntryCollection ViewNavigator
① 返すモノが違う
ビューエントリの
集合
ビューエントリの
位置
View.createViewNavFromKey
ViewEntryCollection の代わりに ViewNavigator
を返す点を除き、View.getAllEntriesByKey と同じ
機能を果たします。ViewNavigator を
ViewEntryCollection 上に使用する利点は、複
数の Category を持つビューに、ビューに2度表
示される文書がある可能性があることです。 残
念ながら、ViewEntryCollection は繰り返しエント
リを許可しません。 ただし、ViewNavigator は表
示されたビューと繰り返される文書とを一致さ
せます。
①
②
メソッド getAllEntriesByKey createViewNavFromKey
返すモノ ViewEntryCollection ViewNavigator
② 繰り返しエントリ
許可しない 許可する
② 繰り返しエントリ
ビューの「複数値を別のエントリとして表示」を
有効にした列で、別エントリに分かれて表示さ
れている値、のこと?
確かめてみた
「繰り返しエントリを許可しません」ってどういうこと?
フォーム
“果物#1”が2文書
Subject を「カテゴリ別」にしたビュー
getAllEntriesByKey
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Dim ec As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim keys$( 0 )
Dim tmp As Variant
Set db = ss.Currentdatabase
Set vw = db.Getview( "byTitle“ )
vw.Refresh
vw.Autoupdate = False
keys( 0 ) = "果物#1“
Set ec = vw.getAllEntriesByKey( keys, True )
Set entry = ec.Getfirstentry()
While Not entry Is Nothing
tmp = entry.Columnvalues( 1 )
If IsArray( tmp ) Then
Print Join( tmp, “,” )
Else
Print tmp
End If
Set entry = ec.Getnextentry( entry )
Wend
ビューエントリの
集合
一致する全ての
エントリを取得
エントリから2列
目の値を出力
結果
いちご
いちご
びわ
バナナ
バナナ
getAllEntriesByKey
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Dim ec As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim keys$( 0 )
Dim tmp As Variant
Set db = ss.Currentdatabase
Set vw = db.Getview( "byTitle“ )
vw.Refresh
vw.Autoupdate = False
keys( 0 ) = "果物#1“
Set ec = vw.getAllEntriesByKey( keys, True )
Set entry = ec.Getfirstentry()
While Not entry Is Nothing
tmp = entry.Columnvalues( 1 )
If IsArray( tmp ) Then
Print Join( tmp, “,” )
Else
Print tmp
End If
Set entry = ec.Getnextentry( entry )
Wend
結果
いちご
いちご
びわ
バナナ
バナナ
View.createViewNavFromKey
ViewEntryCollection の代わりに ViewNavigator
を返す点を除き、View.getAllEntriesByKey と同じ
機能を果たします。ViewNavigator を
ViewEntryCollection 上に使用する利点は、複
数の Category を持つビューに、ビューに2度表
示される文書がある可能性があることです。 残
念ながら、ViewEntryCollection は繰り返しエント
リを許可しません。 ただし、ViewNavigator は表
示されたビューと繰り返される文書とを一致さ
せます。
②
こういうことね!
結果
いちご
バナナ
びわ
みかん
りんご
createViewNavFromKey
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Dim nav As NotesViewNavigator
Dim entry As NotesViewEntry
Dim keys$( 0 )
Dim tmp As Variant
Set db = ss.Currentdatabase
Set vw = db.Getview( "byTitle“ )
vw.Refresh
vw.Autoupdate = False
keys( 0 ) = "果物#1"
Set nav = vw.createViewNavFromkey( keys, True )
Set entry = nav.Getfirst()
While Not entry Is Nothing
tmp = entry.Columnvalues( 1 )
If IsArray( tmp ) Then
Print Join( tmp, “,” )
Else
Print tmp
End If
Set entry = nav.Getnext( entry )
Wend
ビューエントリの
位置
位置を決める
エントリから2列
目の値を出力
じゃあ
ビューの列を入れ替えてみると?
Categoriesを「カテゴリ別」にしたビュー
getAllEntriesByKey
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Dim ec As NotesViewEntryCollection
Dim entry As NotesViewEntry
Dim keys$( 0 )
Set db = ss.Currentdatabase
Set vw = db.Getview( "byCategory“ )
vw.Refresh
vw.Autoupdate = False
keys( 0 ) = "バナナ“
Set ec = vw.getAllEntriesByKey( keys, True )
Set entry = ec.Getfirstentry()
While Not entry Is Nothing
Print entry.Columnvalues( 1 )
Set entry = ec.Getnextentry( entry )
Wend
結果
果物#1
果物#2
果物#3
createViewNavFromKey
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Dim nav As NotesViewNavigator
Dim entry As NotesViewEntry
Dim keys$( 0 )
Set db = ss.Currentdatabase
Set vw = db.Getview( "byCategory“ )
vw.Refresh
vw.Autoupdate = False
keys( 0 ) = "バナナ"
Set nav = vw.createViewNavFromKey( keys, True )
Set entry = nav.Getfirst()
While Not entry Is Nothing
Print entry.Columnvalues( 1 )
Set entry = nav.Getnext( entry )
Wend
結果
果物#1
果物#2
果物#3
果物#1
果物#1
createViewNavFromKey
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim vw As NotesView
Dim nav As NotesViewNavigator
Dim entry As NotesViewEntry
Dim keys$( 0 )
Set db = ss.Currentdatabase
Set vw = db.Getview( "byCategory“ )
vw.Refresh
vw.Autoupdate = False
keys( 0 ) = "バナナ"
Set nav = vw.createViewNavFromKey( keys, True )
Set entry = nav.Getfirst()
While Not entry Is Nothing
Print entry.Columnvalues( 1 )
Set entry = nav.Getnext( entry )
Wend
結果
果物#1
果物#2
果物#3
果物#1
果物#1
まとめ
キー列が単数値
取得する列が複数値
キー列が複数値
取得する列が単数値
getAllEntriesByKey
createViewNavFromKey
【メモ】
1列目をカテゴリ表示しないビューではどうなる?
→ 結果は上の表と同じ結果
Categories の値が1つの場合はどうなる?
→ いずれも期待どおりの結果となった
ビュー
メソッド

More Related Content

More from Haruyuki Nakano

NotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxNotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxHaruyuki Nakano
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?Haruyuki Nakano
 
どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳Haruyuki Nakano
 
個人フォルダの作成権限
個人フォルダの作成権限個人フォルダの作成権限
個人フォルダの作成権限Haruyuki Nakano
 
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Haruyuki Nakano
 
V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化Haruyuki Nakano
 
ベータフォーラムってこんなとこ
ベータフォーラムってこんなとこベータフォーラムってこんなとこ
ベータフォーラムってこんなとこHaruyuki Nakano
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉Haruyuki Nakano
 
パブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスパブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスHaruyuki Nakano
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL SametimeHaruyuki Nakano
 
読者/作成者 フィールド
読者/作成者 フィールド読者/作成者 フィールド
読者/作成者 フィールドHaruyuki Nakano
 
HCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしようHCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしようHaruyuki Nakano
 
Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Haruyuki Nakano
 
テーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたテーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたHaruyuki Nakano
 
ビュー索引のキホン(後編)
ビュー索引のキホン(後編)ビュー索引のキホン(後編)
ビュー索引のキホン(後編)Haruyuki Nakano
 
ビュー索引のキホン(前編)
ビュー索引のキホン(前編)ビュー索引のキホン(前編)
ビュー索引のキホン(前編)Haruyuki Nakano
 

More from Haruyuki Nakano (20)

NotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptxNotesQueryResultsProcessor.pptx
NotesQueryResultsProcessor.pptx
 
プロフィール文書って何?
プロフィール文書って何?プロフィール文書って何?
プロフィール文書って何?
 
Nomad開発の苦悩つ
Nomad開発の苦悩つNomad開発の苦悩つ
Nomad開発の苦悩つ
 
どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳どうしてもドメインがほしくなった訳
どうしてもドメインがほしくなった訳
 
個人フォルダの作成権限
個人フォルダの作成権限個人フォルダの作成権限
個人フォルダの作成権限
 
Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -Domino v12の新機能 - 多要素認証対応 (TOTP) -
Domino v12の新機能 - 多要素認証対応 (TOTP) -
 
V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化V12 TLS証明書管理の自動化
V12 TLS証明書管理の自動化
 
V12 DAOS 拡張
V12 DAOS 拡張V12 DAOS 拡張
V12 DAOS 拡張
 
ベータフォーラムってこんなとこ
ベータフォーラムってこんなとこベータフォーラムってこんなとこ
ベータフォーラムってこんなとこ
 
V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉V12 の DAOS はさらに使いやすくなるかも⁉
V12 の DAOS はさらに使いやすくなるかも⁉
 
オレのDocker元年
オレのDocker元年オレのDocker元年
オレのDocker元年
 
パブリック文書/パブリックアクセス
パブリック文書/パブリックアクセスパブリック文書/パブリックアクセス
パブリック文書/パブリックアクセス
 
初めての HCL Sametime
初めての HCL Sametime初めての HCL Sametime
初めての HCL Sametime
 
読者/作成者 フィールド
読者/作成者 フィールド読者/作成者 フィールド
読者/作成者 フィールド
 
HCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしようHCL Nomad で GPS へアクセスしよう
HCL Nomad で GPS へアクセスしよう
 
HCL Nomad と OCR
HCL Nomad と OCRHCL Nomad と OCR
HCL Nomad と OCR
 
Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料Notes Domino Solution 2019 資料
Notes Domino Solution 2019 資料
 
テーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみたテーマカラーをロータス色に変えてみた
テーマカラーをロータス色に変えてみた
 
ビュー索引のキホン(後編)
ビュー索引のキホン(後編)ビュー索引のキホン(後編)
ビュー索引のキホン(後編)
 
ビュー索引のキホン(前編)
ビュー索引のキホン(前編)ビュー索引のキホン(前編)
ビュー索引のキホン(前編)
 

getAllEntriesByKey vs createViewNavFromKey

Editor's Notes

  1. View.createViewNavFromKey (Java and LotusScript) - This method in the View class is now available with this release. It functions the same as View.getAllEntriesByKey except that it returns a ViewNavigator instead of a ViewEntryCollection. The advantage of using a ViewNavigator over a ViewEntryCollection is that a view with multiple catgories may have documents that appear twice in the view. Unfortunately, a ViewEntryCollection does not allow for the repeat entries. A ViewNavigator, however, will match the view as displayed AND with the repeated documents. This the ViewNavigator collection can be traversed faster when using the ViewNavigator.setCacheSize and View.setAutoUpdate(false) methods. Java syntax: ViewNavigator createViewNavFromKey(java.util.Vector keys, boolean exact) throws NotesException; LotusScript syntax: CreateViewNavFromKey(Keyarray, Optional Byval exactmatch as Boolean) as NotesViewNavigator View.createViewNavFromKey(JavaおよびLotusScript) - Viewクラスのこのメソッドは、今回のリリースで使用可能になりました。 ViewEntryCollectionの代わりにViewNavigatorを返す点を除いて、View.getAllEntriesByKeyと同じ機能を果たします。 ViewNavigatorをViewEntryCollectionに使用する利点は、複数のCatgoryを持つビューに、ビューに2度表示されるドキュメントがある可能性があることです。 残念ながら、ViewEntryCollectionは繰り返しエントリを許可しません。 ただし、ViewNavigatorは表示されたビューと繰り返されるドキュメントとを一致させます。 このViewNavigatorコレクションは、ViewNavigator.setCacheSizeメソッドとView.setAutoUpdate(false)メソッドを使用すると、より高速にトラバースできます。 LotusScript構文:NotesViewNavigatorとして CreateViewNavFromKey (Keyarray、省略可能なByval exactmatchをBooleanとして使用)