読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

PrimeFacesのDataTableを探る ~テーブル内テキストとソート~

PrimeFaces JSF DataTable

昨日RichFacesを触り始めたばかりですが、またPrimeFacesネタに戻ります(^^;

次期案件が複数あって、そこで仕様検討してるメンバから「こんなことできる?」的な技術調査的な依頼がポツリポツリ…てか、サンプルレベルなんて簡単に確認できるので、本当は各人がやれるようになれればいいんだけどなぁ…うーん部内という狭い世界でもJava EEを普及するには時間がかかる(-_-;

で、今日はすさまじくショボイ確認ですが、念のため的なモノです。

以前に書いた「PrimeFacesのDataTableを探る ~カラムソート~」の中身がラベルではなくテキストボックスのような直接入力できるコンポーネントの場合でもソートが効くかどうか?という確認です。

ビューの定義を具体的にのせると

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>テキストとソート</title>
    </h:head>
    <h:body>
        <h:form>
            <p:dataTable id="dt" var="book" value="#{bookTableSortBean.bookList}"
                         paginator="true" rows="5" rowsPerPageTemplate="5,10,15"
                         paginatorTemplate="
                        {CurrentPageReport}  {FirstPageLink} 
                        {PreviousPageLink} {PageLinks} 
                        {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
                         pageLinks="5">

                <p:column id="colTitle" headerText="書籍タイトル" sortBy="#{book.title}">
                    <p:inputText id="txtTitle" value="#{book.title}" />
                </p:column>

                <p:column id="colAuthor" headerText="著者名" sortBy="#{book.author}">
                    <p:inputText id="txtAuthor" value="#{book.author}" />
                </p:column>

            </p:dataTable>
            <p:commandButton actionListener="#{bookTableSortBean.update()}"
               value="更新" />
        </h:form>
    </h:body>
</html>

具体的には、以下のようなDataTableを想定。ラベルではなくテキストです。
f:id:kikutaro777:20130708201922j:plain

まあ、確認するまでもなく…値でソートしてるので…
f:id:kikutaro777:20130708201929j:plain

f:id:kikutaro777:20130708201946j:plain

当然こんな感じにソートできます(^^)

で、入力値を変えて(更新ボタンつけて値更新して)ソートすると…
f:id:kikutaro777:20130708202143j:plain

f:id:kikutaro777:20130708202148j:plain

まあ、予想通り大丈夫(^^;

確認するまでもなかったわけですが。。。単純なテキストボックスだし。
プルダウンとかその他のコンポーネントになった場合にどこまでできるか、が気になる所です。

なお今まで書いたPrimeFacesのDataTable探りの旅は以下です。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村