2016-09-28 6 views
0

私はxpageでビューを持っています。ビューには、ユーザーのログインによって関連情報が表示されます。私の以前のpostでは、便利な回答とコメントをいただきありがとうございました。ビューの列ヘッダーは、列を並べ替えることができません。カテゴリ名でフィルタリングしますか?

ただし、列ヘッダーをクリックするとビューで並べ替えることができません。プロパティでは、私は列ヘッダーの表示に行く、私はソート列がチェックボックスにチェックがあることを参照してください。

ビューの列ヘッダーがソートできない理由はわかりませんが、カテゴリ名でフィルターを適用するとソート機能が有効になると思います。カテゴリ名でフィルターでコードを削除すると、列ヘッダーをクリックして並べ替えることができるからです。しかし、カテゴリ名でフィルターに追加コードを追加すると、列ヘッダーをクリックしてもソートできません。

だから私の質問は、ビューの列ヘッダーは、カテゴリ名でフィルタを使用すると列を並べ替えることができないのですか?ビューの列見出しをクリックすると並べ替えることができる方法はありますか?

私が間違っていた部分がわからないので、以下のコードを投稿したいと思います。

<xp:viewPanel rows="30" id="viewPanel3" 
        pageName="/BookVenue.xsp" iewStyle="width:700.0px"> 
        <xp:this.facets> 
         <xp:pager partialRefresh="true" 
          layout="Previous Group Next" xp:key="footerPager" id="pager1"> 
         </xp:pager> 
        </xp:this.facets> 
        <xp:this.data> 
         <xp:dominoView var="view1" 
          viewName="UserBookedVenueInfo"> 
          <xp:this.categoryFilter><![CDATA[# {javascript:var uName:NotesName = session.createName(session.getEffectiveUserName()); 
return uName.getCommon(); 

}]]></xp:this.categoryFilter> 
         </xp:dominoView> 
        </xp:this.data> 
        <xp:viewColumn columnName="Venue" 
         id="viewColumn7" displayAs="link"> 
         <xp:viewColumnHeader value="Course Name" 
          id="viewColumnHeader7" sortable="true"> 
         </xp:viewColumnHeader> 
        </xp:viewColumn> 
        <xp:viewColumn columnName="ReturnDate" 
         id="viewColumn8" displayAs="link"> 
         <xp:this.converter> 
          <xp:convertDateTime type="date" 
           dateStyle="long"> 
          </xp:convertDateTime> 
         </xp:this.converter> 
         <xp:viewColumnHeader value="Remarks" 
          id="viewColumnHeader8" sortable="true"> 
         </xp:viewColumnHeader> 
        </xp:viewColumn> 
        <xp:viewColumn columnName="Remark" 
         id="viewColumn9" displayAs="link"> 
         <xp:viewColumnHeader value="Remark" 
          id="viewColumnHeader9" sortable="true"> 
         </xp:viewColumnHeader> 
        </xp:viewColumn> 
       </xp:viewPanel> 

私の間違いを誰かに教えてください。どうもありがとう。

私は以下の記事を読んでいますが、私はこのソリューションをビューで使用しようとしていますが、まだソートできません。

XPages "filter by category name" for View Panel Controll random error

xpages : Filtering a View Data Source using the keys parameter(filter by category name)

+0

作品ハワードhttp://www.tlcc.com/mwlug

https://www.youtube.com/watch?v=Ln-meA0WXaw&feature=youtu.be

サンプル・データベースがあるを参照してください。分類されたビューをフィルタリングすると、並べ替えは行われません。あなたのコメントのために – stwissel

+0

@stwisselをソートするためにクライアントサイドコードを使用します。私はビューの列をクリックしたときに並べ替えることができるようにクライアント側のコードを使用する必要があると思う。 – Learner

+0

申し訳ありませんクライアント側のコードについて質問してください。デザイナーでは、ビューの列見出しをクリックします。プロパティタブで、ソート列の近くにダイヤモンド記号が表示されます。私は菱形記号をクリックし、計算値を選択します。スクリプトエディタが現れ、言語がJavaScript(Server Side)であることが分かります。コンボボックスをクリックして、JavaScript(Server Side)、Expression Language(EL)、Customを選択します。 – Learner

答えて

1

あなただけのビューコントロールを捨てを繰り返しを使用して、Javaオブジェクトにデータを格納することもできます。次に、列のいずれかを並べ替えることができます。私は、私がやったオンラインセミナーでこれをカバーし、設計通り

+0

ありがとうございます。私は質問してください。列ヘッダーをソート可能にするために、Javaコードをビューに配置する必要がありますか?もしそうなら、どこでJavaコードを書くことができますか? – Learner

+0

デザイナーでは、[ウィンドウ]をクリックし、[パースペクティブを開く]を選択してから、Javaを選択します。現時点では、私はデザイナーのインターフェイスが少し違いがあることに気づいています。私はPackage ExplorerとHierachyを見ることができます。 Package Explorerには、意味のある名前を持つさまざまなフォルダがあります。ローカル、AppProperties、コードなど私はXpagesと呼ばれるフォルダ名があることに気づいた。私はそれをクリックして、アプリケーション内にあるすべてのxspファイルを表示しているようです。ビューにあるxspファイルを開きます。私はJavaコードを書くことができる場所は見当たりません。私はJavaコードを書く場所を見逃していますか? – Learner

+0

おそらく私のウェビナーを見て、サンプルデータベースを見れば最高です。 Javaでは、マネージドBeanとして構成されたJavaコード要素を意味します。反復制御は、そのBean上のメソッドにバインドされています。そのXPageの検索/ソート基準もBeanにバインドされているので、繰り返しがレンダリングされると、このメソッドはユーザー仕様ごとにソートされたデータのセットを返します。 – Howard

関連する問題