2017-08-01 31 views
0

私は現在、C#を使用してIBM Lotus Notesのプラグインのプロジェクトに取り掛かります。IBM Lotus Notesで列の値を表示する方法

「日付」などのビュー列の名前でデータを表示したいというリクエストです。

"NotesView"クラスのメソッド "GetColumn"を使用して、列名やその他の基本情報の情報を取得できますが、実際のデータは含まれていません。 データを取得するには、 "ViewEntry"クラスまたは "Document"クラスの "ColumnValues"属性を使用する必要があります。

残念ながら、IBMが提供する技術文書に関しては、すべての列の値が返されない場合があります。 https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.0/com.ibm.designer.domino.main.doc/H_COLUMNVALUES_PROPERTY_JAVA.html

たとえば、GetColumnの結果は16列、12列の名前は「Date」です。これはdatetime型です。しかし、ColumnValuesには13の列しかなく、列名はなく、8番目の列の型は "Date"列と思われるdatetimeです。

どのような種類の列を省略するかを調べようとしました。 まず、数式で「UI専用関数」をキャッチしようとしましたが、十分ではないようです。第二に、私は "一定"をキャッチしようとしましたが、方法はありません。最後に、「定数」の数列がすべて削除されるわけではないことがわかりました。私は放棄した。

ビューの列番号を列の値で示すのに役立つ人はいますか?

+1

を返し、(vwcol.IsFormula =真)doc.GetItemValue(vwcol.ItemName)

  • を返し、真でありますUIアクセスのビュー。プログラムによるアクセスビューでは、列の値に含まれていない列は使用しないでください。そうすれば、あなたのコードはより簡単に開発できます。 – Newbs

  • +0

    "plugin"の意味を説明してください。どのようなタイプのプラグインですか?どのように、どこで動作しますか? EclipseベースのクライアントUI環境内で動作するプラグインは、私の知る限り、C#ではなくJavaで書かれています。また、文書内のNotesItemを介して値にアクセスするのではなく、ビューのcolumnValuesを介して値にアクセスする必要があると思われる理由を説明してください。 (これにはたぶん良い理由がありますが、NotesDocumentsとNotesItemsを使用するほうがはるかに単純なときに、それをやろうとする人がよく見えます。 –

    +0

    @Newbsあなたの論理的なアイデアをありがとうございます。現在のところ、プログラムによるアクセスのビュー値は見つかっていますが、プログラムによるアクセスのビュー名は見つからないため、表示を完了できませんでした。Lotus Notesでプログラムによるアクセスのビュー列名を取得する方法を知っていますか? –

    答えて

    0

    @RichardSchwartz私はノートでメニュー項目を作成するためにC++を使いました。これは本当のノートアプリを外に呼び出すと、それらを合計として「プラグイン」と呼びました。 IBMはロータススクリプトとJavaを非COMとCOM(Windowsの技術)として紹介し、C#とJavaはどちらもCOM経由でサポートされていますが、同じ機能を提供するので、Javaは主にIBM、C#docs.C++には記述されていません。 docsは、Notes C++開発キットに含まれています。これはnsfです。ユーザーのための

    1. 可視性を:私はNotesDocumentクラス内の値をルックアップするのではなく、ビュー内の値を取得したい理由

      は2つの理由があります。
      NotesDocumentのアイテム名(textbox_1など)は表示されませんでしたが、ビューに直接列名が表示され、この名前は列(ただし列値ではありません)を示すことができます。

    2. 普遍性。
      異なるDBと同じ意味を持つ項目については、項目名が異なるだけでなく項目値も異なります。 NotesDoumentで値を調べると、プログラムはたったの1 dbしか動かないでしょう。 たとえば、1つのDBのドキュメントの「承認状態」という値は、「確認済み、承認済み」であり、同じワードがビューに表示されています。しかし、別のDBの場合、1つのDBの "Approve State"の値は "1,2,3"、ビュー列の数式は "1,2,3"の値を判断し、最終的に "Checked、Approved"と表示されます。あなたは(ユーザがタイトルを選択して列を選択させる)を使用したい普遍的なアプローチについては

    0

    、あなた方のNotesViewオブジェクトのColumnsプロパティを使用して提供されるだろうし、ご希望のドキュメントビューを繰り返します選択されたビューの列について:

    • vwcol。IsFieldプロパティは、vwcol.IsFieldプロパティがFalseの場合のベストプラクティスは別にプログラムによるアクセスのためのビューを持つことであるEvaluate(vwcol.Formula, doc)
    関連する問題