Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

PrimeFacesの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へ
にほんブログ村