Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Stacey Z ChuiIndiaBernardo Dominic NEGOTIATION
Maisha R SergiJapanStephen Shaw PROPOSAL
Ivar W FlosiGermanyAmy Elsner RENEWAL
Cody Y PerinJapanElwin Sharvill NEW
Maria G RulapaughArgentinaElwin Sharvill RENEWAL
Ricardo S MacleadBrazilBernardo Dominic UNQUALIFIED
Ashley L GillianItalyBernardo Dominic NEW
Ashley S BriddickIndiaAmy Elsner QUALIFIED
Sinclair D WieserGermanyIoni Bowcher UNQUALIFIED
Kaitlin S CampainAustraliaAsiya Javayant RENEWAL
Tony U KolmetzUnited KingdomStephen Shaw QUALIFIED
Faith D SchemmerSpainXuxue Feng NEW
James P DilliardGermanyBernardo Dominic NEW
Cody X TollnerArgentinaBernardo Dominic PROPOSAL
Jennifer X GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem W SergiArgentinaIvan Magalhaes RENEWAL
Clifford Y BologniaItalyAnna Fali PROPOSAL
Mujtaba Q RoysterIndiaOnyama Limba NEGOTIATION
Darci B KuskoFranceElwin Sharvill UNQUALIFIED
Chavez L VocelkaRussiaXuxue Feng NEW
Mayumi U TollnerArgentinaXuxue Feng PROPOSAL
Jones M SaylorsGermanyBernardo Dominic UNQUALIFIED
Jennifer C OldroydAustraliaAnna Fali NEW
Ivar S RimRussiaStephen Shaw UNQUALIFIED
Nicolas H CaudyJapanStephen Shaw PROPOSAL
Clifford Y RulapaughIndiaAmy Elsner NEW
Misaki E WieserSpainElwin Sharvill UNQUALIFIED
Misaki Y DarakjyBrazilXuxue Feng NEW
Jeanfrancois W IturbideItalyIoni Bowcher RENEWAL
Juan T RoysterGermanyAsiya Javayant QUALIFIED
Isabel C NickaArgentinaAsiya Javayant RENEWAL
Ricardo I VenereCanadaIvan Magalhaes RENEWAL
Silvio G StensethBrazilIvan Magalhaes PROPOSAL
Antonio U FigeroaIndiaStephen Shaw RENEWAL
Rodrigues E WieserBrazilAnna Fali UNQUALIFIED
Murillo U WhobreyGermanyStephen Shaw NEGOTIATION
Ivar W SlusarskiRussiaIvan Magalhaes NEGOTIATION
Wickens Z MorascaAustraliaAmy Elsner QUALIFIED
Misaki M KolmetzSpainAmy Elsner NEGOTIATION
Faith F DoeCanadaAnna Fali NEW
Morrow C GillianIndiaBernardo Dominic NEGOTIATION
David G AlbaresArgentinaOnyama Limba NEGOTIATION
Wickens D ChuiAustraliaAsiya Javayant QUALIFIED
Antonio F MacleadArgentinaAmy Elsner RENEWAL
Cody L TollnerSpainAmy Elsner NEW
Cody G VocelkaRussiaAnna Fali NEW
Adams Y VocelkaGermanyIvan Magalhaes NEW
Juan H BologniaItalyXuxue Feng UNQUALIFIED
Aika W GarufiJapanAsiya Javayant UNQUALIFIED
Ivar T RulapaughSpainStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer P KuskoFranceIoni Bowcher NEGOTIATION
Misaki E ShinkoGermanyAmy Elsner RENEWAL
Maria B DarakjySpainAsiya Javayant RENEWAL
Octavia L StockhamJapanBernardo Dominic NEGOTIATION
Sinclair K BriddickBrazilIvan Magalhaes PROPOSAL
Costa U WieserJapanStephen Shaw QUALIFIED
Arvin S VenereCanadaAmy Elsner NEW
Greenwood Y PaprockiRussiaOnyama Limba RENEWAL
Izzy W FigeroaRussiaAsiya Javayant PROPOSAL
Claire A ShinkoCanadaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin I MaletAustralia2024-05-17Buckley Miller Wright NEGOTIATION14Xuxue Feng
1001Morrow P IturbideSpain2024-05-25Chemel, James L Cpa QUALIFIED72Onyama Limba
1002Chavez R KuskoArgentina2024-06-07Dorl, James J Esq RENEWAL8Onyama Limba
1003Aditya Y NickaUnited Kingdom2024-06-13Commercial Press NEW78Ioni Bowcher
1004Octavia M BowleyArgentina2024-05-21Dorl, James J Esq NEGOTIATION58Amy Elsner
1005Emily M MaletAustralia2024-05-27Buckley Miller Wright NEGOTIATION1Ioni Bowcher
1006Smith Z OldroydSpain2024-05-23Feiner Bros NEGOTIATION55Ioni Bowcher
1007Darci K VenereGermany2024-06-04Buckley Miller Wright RENEWAL91Elwin Sharvill
1008Sinclair I RimItaly2024-06-04Printing Dimensions NEGOTIATION15Ivan Magalhaes
1009Jones A PerinUnited Kingdom2024-05-25Commercial Press RENEWAL42Stephen Shaw
1010Costa C GlickJapan2024-05-16Morlong Associates NEW41Stephen Shaw
1011Octavia J WieserAustralia2024-06-02Printing Dimensions RENEWAL75Elwin Sharvill
1012Leon A NestleIndia2024-06-07Feiner Bros UNQUALIFIED78Stephen Shaw
1013Jefferson V WaycottJapan2024-06-13Rangoni Of Florence NEGOTIATION18Amy Elsner
1014Ivar U BowleyBrazil2024-05-21Chemel, James L Cpa NEGOTIATION39Asiya Javayant
1015Mujtaba I FigeroaUnited Kingdom2024-06-08Benton, John B Jr QUALIFIED87Xuxue Feng
1016Misaki L NickaArgentina2024-05-26Rangoni Of Florence NEGOTIATION13Xuxue Feng
1017Cody A VenereSpain2024-05-22Commercial Press QUALIFIED6Onyama Limba
1018Claire V RutaRussia2024-05-23Commercial Press PROPOSAL91Elwin Sharvill
1019James X MarrierBrazil2024-06-02Printing Dimensions QUALIFIED50Elwin Sharvill
1020Silvio K DarakjySpain2024-05-30Chapman, Ross E Esq PROPOSAL75Asiya Javayant
1021Stacey D DilliardSpain2024-05-30Chanay, Jeffrey A Esq QUALIFIED17Ioni Bowcher
1022Ashley U NickaItaly2024-05-30Feiner Bros UNQUALIFIED78Elwin Sharvill
1023Wickens O PerinFrance2024-06-06Chapman, Ross E Esq NEW83Stephen Shaw
1024Stacey N AlbaresJapan2024-05-20Morlong Associates NEGOTIATION88Bernardo Dominic
1025Clifford S AlbaresAustralia2024-05-26Chemel, James L Cpa UNQUALIFIED87Anna Fali
1026Francesco O NickaGermany2024-05-26Chapman, Ross E Esq UNQUALIFIED26Amy Elsner
1027Jennifer V WhobreySpain2024-05-16Chapman, Ross E Esq PROPOSAL36Xuxue Feng
1028Deepesh K GlickGermany2024-05-29Chapman, Ross E Esq PROPOSAL95Onyama Limba
1029Clifford P RoysterItaly2024-06-13Morlong Associates RENEWAL97Anna Fali
1030Jefferson M OstroskyCanada2024-05-16Chemel, James L Cpa PROPOSAL93Anna Fali
1031Adams V RutaRussia2024-05-20Commercial Press RENEWAL75Bernardo Dominic
1032Jennifer O MaletUnited Kingdom2024-05-23Feiner Bros UNQUALIFIED27Onyama Limba
1033Julie T SaylorsArgentina2024-05-15Rousseaux, Michael Esq NEW69Asiya Javayant
1034Jefferson M KuskoBrazil2024-05-19Dorl, James J Esq NEGOTIATION51Stephen Shaw
1035Emily E SaylorsItaly2024-05-16Benton, John B Jr NEGOTIATION12Amy Elsner
1036Julie I InouyeRussia2024-05-20Feltz Printing Service RENEWAL99Xuxue Feng
1037Kaitlin P MorascaArgentina2024-06-06Commercial Press QUALIFIED70Elwin Sharvill
1038Kadeem I TollnerItaly2024-05-30Rangoni Of Florence RENEWAL16Xuxue Feng
1039Cody O TollnerFrance2024-06-02Rangoni Of Florence RENEWAL64Xuxue Feng
1040Tony X SaylorsCanada2024-05-25Chapman, Ross E Esq QUALIFIED95Ivan Magalhaes
1041Tony Z ShinkoItaly2024-06-06Commercial Press PROPOSAL1Ivan Magalhaes
1042Arvin Q RimBrazil2024-05-19Buckley Miller Wright QUALIFIED38Anna Fali
1043Wickens V MacleadAustralia2024-05-23Printing Dimensions PROPOSAL39Bernardo Dominic
1044Smith E PerinCanada2024-05-16Rangoni Of Florence NEGOTIATION1Bernardo Dominic
1045Darci W GillianJapan2024-05-21King, Christopher A Esq QUALIFIED33Elwin Sharvill
1046Jones I MaletArgentina2024-06-07Morlong Associates RENEWAL7Stephen Shaw
1047Octavia A IturbideCanada2024-05-25Chanay, Jeffrey A Esq RENEWAL62Anna Fali
1048Stacey W SlusarskiItaly2024-05-29Printing Dimensions NEGOTIATION12Ivan Magalhaes
1049Smith D NestleJapan2024-05-25Commercial Press RENEWAL45Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James I SchemmerUnited KingdomStephen Shaw QUALIFIED
Adams U FlosiIndiaBernardo Dominic RENEWAL
Aditya H StensethItalyOnyama Limba NEW
Francesco U VenereAustraliaAsiya Javayant NEGOTIATION
Darci Y DarakjyItalyIoni Bowcher NEGOTIATION
Morrow Q IturbideJapanElwin Sharvill QUALIFIED
Cody M CaldareraItalyAmy Elsner NEW
Faith G PaprockiArgentinaIoni Bowcher NEGOTIATION
Sinclair N CaldareraItalyOnyama Limba QUALIFIED
Alejandro X StensethSpainXuxue Feng NEGOTIATION
Misaki G DilliardUnited KingdomBernardo Dominic NEGOTIATION
Jones T NestleFranceElwin Sharvill PROPOSAL
Izzy D MacleadIndiaAsiya Javayant PROPOSAL
Kaitlin B AlbaresSpainOnyama Limba UNQUALIFIED
Morrow N BriddickAustraliaIoni Bowcher PROPOSAL
Costa O SergiSpainIvan Magalhaes UNQUALIFIED
Kaitlin E StensethCanadaAsiya Javayant RENEWAL
Leja Z KolmetzBrazilStephen Shaw PROPOSAL
David V GlickGermanyIvan Magalhaes RENEWAL
Ashley K NestleAustraliaIvan Magalhaes PROPOSAL
Ashley Q AmigonArgentinaIvan Magalhaes PROPOSAL
Rodrigues A SergiGermanyIvan Magalhaes NEW
Jefferson C FollerAustraliaXuxue Feng UNQUALIFIED
Mayumi X ChuiFranceAmy Elsner NEGOTIATION
Arvin I RoysterItalyAmy Elsner UNQUALIFIED
Nicolas O AlbaresCanadaXuxue Feng UNQUALIFIED
Aika U VenereItalyBernardo Dominic NEW
Adams I MorascaAustraliaElwin Sharvill QUALIFIED
James F OldroydSpainXuxue Feng QUALIFIED
Mayumi I WaycottRussiaStephen Shaw NEGOTIATION
Claire T KuskoSpainElwin Sharvill NEGOTIATION
Kadeem P BologniaFranceBernardo Dominic PROPOSAL
Stacey I PoquetteFranceAmy Elsner QUALIFIED
Jones F ChuiAustraliaIvan Magalhaes UNQUALIFIED
David D SergiUnited KingdomIoni Bowcher PROPOSAL
Johnson U WaycottRussiaAnna Fali UNQUALIFIED
Cody Y StensethRussiaAmy Elsner NEW
Alejandro Y NestleAustraliaAsiya Javayant RENEWAL
Smith X CaldareraFranceAmy Elsner PROPOSAL
Sinclair U WieserArgentinaIoni Bowcher RENEWAL
Wickens W ButtIndiaAmy Elsner PROPOSAL
Kadeem T WaycottItalyXuxue Feng QUALIFIED
Ricardo R SaylorsFranceOnyama Limba RENEWAL
Clifford W IturbideBrazilAmy Elsner QUALIFIED
Octavia D BriddickFranceAsiya Javayant NEW
Misaki K WhobreySpainIvan Magalhaes PROPOSAL
Izzy E GarufiArgentinaIvan Magalhaes QUALIFIED
Wickens D FigeroaItalyElwin Sharvill NEGOTIATION
Rodrigues D WieserBrazilAnna Fali PROPOSAL
Costa H NickaIndiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Smith P Slusarski
Murillo D Darakjy
Misaki C Amigon
Munro I Dilliard
Johnson N Nicka
Leon Q Sergi
Costa R Ruta
Mayumi U Marrier
Johnson Z Inouye
Juan E Ostrosky
Arvin T Nicka
Jones L Butt
Juan T Malet
Isabel F Schemmer
Johnson R Doe
Alejandro R Whobrey
Murillo G Doe
Faith G Vocelka
Misaki W Ostrosky
Greenwood J Albares
Costa W Darakjy
Greenwood B Tollner
Francesco L Dilliard
Cody G Campain
Izzy P Dilliard
Cody Z Perin
Jennifer B Glick
Faith Y Gillian
Arvin M Wieser
Arvin Z Albares
Mujtaba S Stockham
Morrow G Campain
Jones O Rulapaugh
Izzy A Bolognia
Wickens E Shinko
Aika H Morasca
Jefferson E Chui
Octavia W Oldroyd
Ashley Y Oldroyd
Johnson H Kolmetz
Ivar C Paprocki
Clifford F Stockham
Alejandro O Garufi
Aruna T Slusarski
Chavez Q Chui
Leja X Morasca
Cody F Figeroa
Maria P Bowley
Costa H Iturbide
David Q Butt
IdCountryDate
1000United Kingdom2024-05-30
1001France2024-05-28
1002Germany2024-05-30
1003Spain2024-06-10
1004France2024-05-21
1005United Kingdom2024-05-16
1006India2024-05-19
1007Australia2024-05-25
1008Canada2024-05-23
1009Italy2024-05-27
1010United Kingdom2024-06-03
1011Spain2024-05-19
1012Japan2024-06-06
1013Australia2024-05-18
1014Canada2024-05-28
1015United Kingdom2024-06-03
1016Russia2024-05-24
1017United Kingdom2024-06-03
1018Spain2024-06-04
1019Italy2024-05-27
1020India2024-05-24
1021Germany2024-05-29
1022Spain2024-05-16
1023Italy2024-06-01
1024Australia2024-06-01
1025Brazil2024-05-23
1026Russia2024-05-15
1027Russia2024-06-04
1028France2024-05-20
1029Russia2024-06-10
1030Germany2024-05-26
1031Spain2024-05-29
1032Australia2024-06-03
1033Canada2024-05-28
1034Germany2024-05-19
1035Australia2024-05-19
1036Japan2024-05-29
1037Germany2024-05-23
1038Japan2024-06-13
1039Germany2024-05-31
1040France2024-05-16
1041Italy2024-05-19
1042France2024-05-18
1043Canada2024-05-24
1044Australia2024-05-17
1045France2024-05-16
1046Argentina2024-05-23
1047France2024-06-09
1048Japan2024-06-11
1049Argentina2024-06-01

On-Demand Data

NameIdCountryDate
Misaki M Figeroa1000Italy2024-05-26
James W Vocelka1001India2024-05-31
Chavez L Rulapaugh1002France2024-06-10
Nicolas X Amigon1003India2024-06-01
Aika F Albares1004Australia2024-06-02
Mayumi Y Maclead1005United Kingdom2024-05-25
Julie E Doe1006Argentina2024-05-25
Faith M Marrier1007Brazil2024-05-30
Leon M Slusarski1008Germany2024-05-20
Stacey A Marrier1009Germany2024-06-13
Leja O Kusko1010India2024-06-13
Chavez G Saylors1011Russia2024-06-02
Aruna J Dilliard1012Argentina2024-05-23
Jones B Tollner1013France2024-06-09
Ivar Z Venere1014France2024-05-20
Mujtaba Z Bowley1015United Kingdom2024-06-03
Arvin K Whobrey1016Russia2024-05-21
Deepesh Y Briddick1017Australia2024-05-15
Mujtaba B Gaucho1018Brazil2024-06-04
Wickens I Butt1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues H MorascaCanadaIvan Magalhaes QUALIFIED
Wickens D SlusarskiSpainIoni Bowcher UNQUALIFIED
Isabel Q DoeFranceAnna Fali PROPOSAL
Julie V SchemmerIndiaElwin Sharvill NEW
Tony T FerenczItalyIvan Magalhaes NEGOTIATION
James P StensethFranceAsiya Javayant NEGOTIATION
Maria O DilliardAustraliaAmy Elsner PROPOSAL
Arvin Z MorascaJapanIoni Bowcher NEGOTIATION
Morrow L KuskoFranceAmy Elsner RENEWAL
Emily Y DarakjyCanadaXuxue Feng NEGOTIATION
Aika E GlickIndiaAsiya Javayant PROPOSAL
James E PoquetteGermanyElwin Sharvill PROPOSAL
Maria G MaletItalyXuxue Feng PROPOSAL
Kadeem E MaletCanadaAmy Elsner PROPOSAL
Greenwood I GauchoItalyElwin Sharvill PROPOSAL
Silvio D MaletSpainIoni Bowcher UNQUALIFIED
Aditya S MaletBrazilBernardo Dominic RENEWAL
Darci Z PaprockiRussiaElwin Sharvill NEGOTIATION
Claire R DilliardFranceIvan Magalhaes QUALIFIED
Rodrigues B AlbaresArgentinaAmy Elsner NEW
Cody Y NickaAustraliaXuxue Feng NEGOTIATION
Mujtaba I ChuiArgentinaAmy Elsner NEW
Misaki R MarrierItalyAmy Elsner RENEWAL
Greenwood E WhobreyArgentinaIoni Bowcher RENEWAL
Rodrigues J MorascaBrazilElwin Sharvill NEW
Juan I NestleUnited KingdomElwin Sharvill RENEWAL
Isabel Z IturbideGermanyXuxue Feng NEW
Cody P FollerUnited KingdomElwin Sharvill UNQUALIFIED
James R VenereSpainBernardo Dominic NEW
Adams M BowleySpainStephen Shaw QUALIFIED
Deepesh J FollerSpainAnna Fali QUALIFIED
Deepesh J DoeItalyIvan Magalhaes QUALIFIED
Rodrigues L BriddickUnited KingdomElwin Sharvill NEW
Claire Z WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas G FlosiGermanyOnyama Limba QUALIFIED
Darci F InouyeSpainXuxue Feng RENEWAL
Jennifer J KuskoSpainStephen Shaw NEW
Sinclair C WaycottSpainIoni Bowcher NEW
Mayumi V NestleItalyAnna Fali RENEWAL
Ricardo W NickaAustraliaOnyama Limba NEW

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>