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
Faith B RulapaughUnited KingdomAmy Elsner UNQUALIFIED
Maria V StensethFranceAsiya Javayant RENEWAL
Deepesh D OldroydRussiaIvan Magalhaes PROPOSAL
Aditya X NickaAustraliaIoni Bowcher NEGOTIATION
Deepesh X BriddickBrazilAnna Fali NEW
Adams S SergiSpainAmy Elsner UNQUALIFIED
Maisha D CampainArgentinaOnyama Limba PROPOSAL
Arvin Z NickaAustraliaOnyama Limba NEGOTIATION
Tony L FigeroaRussiaIoni Bowcher UNQUALIFIED
Morrow U GillianItalyAmy Elsner NEW
Ricardo V DilliardGermanyIvan Magalhaes RENEWAL
Ivar J FollerRussiaIvan Magalhaes NEGOTIATION
Leja K ButtIndiaAsiya Javayant QUALIFIED
Jennifer P OldroydSpainStephen Shaw QUALIFIED
Adams Z WieserFranceIvan Magalhaes QUALIFIED
Ivar C FigeroaJapanIoni Bowcher UNQUALIFIED
Chavez L OstroskyAustraliaAmy Elsner NEW
Misaki D CaldareraRussiaElwin Sharvill NEW
Murillo S FerenczRussiaBernardo Dominic RENEWAL
Silvio G GillianUnited KingdomAmy Elsner RENEWAL
Isabel D KuskoAustraliaBernardo Dominic NEW
Darci P FigeroaFranceAsiya Javayant RENEWAL
Alejandro D BriddickBrazilIvan Magalhaes PROPOSAL
Octavia G PoquetteFranceAsiya Javayant UNQUALIFIED
Aika P MacleadArgentinaElwin Sharvill QUALIFIED
Aditya Y VenereRussiaXuxue Feng QUALIFIED
Tony L ChuiBrazilIoni Bowcher QUALIFIED
Jefferson N FollerIndiaElwin Sharvill NEGOTIATION
Jefferson U FollerBrazilOnyama Limba UNQUALIFIED
Greenwood C CampainItalyIvan Magalhaes RENEWAL
Jefferson O WieserItalyOnyama Limba NEGOTIATION
Jones A InouyeAustraliaBernardo Dominic QUALIFIED
Jones Q FigeroaIndiaAnna Fali NEGOTIATION
Darci T InouyeCanadaAsiya Javayant QUALIFIED
Aika Y PoquetteAustraliaBernardo Dominic QUALIFIED
Antonio Y BriddickItalyBernardo Dominic NEGOTIATION
Emily T ShinkoJapanAmy Elsner QUALIFIED
Silvio U DarakjyItalyStephen Shaw QUALIFIED
Ashley C BologniaRussiaOnyama Limba NEGOTIATION
Juan F GarufiIndiaOnyama Limba UNQUALIFIED
Greenwood Y SchemmerAustraliaBernardo Dominic NEW
Kadeem Y CaudyFranceIvan Magalhaes NEGOTIATION
Jeanfrancois C ChuiArgentinaIvan Magalhaes NEGOTIATION
Munro U WhobreyRussiaAnna Fali PROPOSAL
Sinclair Y FigeroaItalyOnyama Limba RENEWAL
Salvatore C CaudyBrazilOnyama Limba NEGOTIATION
Jones W RutaGermanyBernardo Dominic QUALIFIED
Kaitlin Z BologniaIndiaIoni Bowcher NEGOTIATION
Munro X AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Johnson Z DoeArgentinaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez D MorascaArgentinaAsiya Javayant UNQUALIFIED
David R MacleadRussiaIoni Bowcher PROPOSAL
Salvatore L WieserAustraliaAmy Elsner UNQUALIFIED
Johnson D GlickGermanyAsiya Javayant RENEWAL
Greenwood Q FlosiItalyOnyama Limba QUALIFIED
Maisha L GillianIndiaElwin Sharvill UNQUALIFIED
Tony E WhobreyItalyXuxue Feng QUALIFIED
Aika U MaletFranceXuxue Feng QUALIFIED
Francesco Z RulapaughRussiaXuxue Feng NEW
Izzy J FlosiRussiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith Q GlickArgentina2024-05-22Morlong Associates RENEWAL25Bernardo Dominic
1001Costa Z WieserFrance2024-05-02Chemel, James L Cpa UNQUALIFIED67Amy Elsner
1002Antonio N PoquetteSpain2024-05-18Benton, John B Jr NEW8Onyama Limba
1003Stacey B PoquetteIndia2024-04-29Morlong Associates UNQUALIFIED20Elwin Sharvill
1004Silvio P RutaAustralia2024-05-04Commercial Press NEGOTIATION21Amy Elsner
1005Maria O GillianRussia2024-05-24Morlong Associates RENEWAL17Ivan Magalhaes
1006Silvio S PerinSpain2024-05-09Morlong Associates PROPOSAL67Asiya Javayant
1007Misaki R CaudyFrance2024-05-01Buckley Miller Wright NEGOTIATION34Ioni Bowcher
1008James W PaprockiArgentina2024-05-16Chanay, Jeffrey A Esq UNQUALIFIED7Xuxue Feng
1009Tony I SaylorsUnited Kingdom2024-05-08King, Christopher A Esq UNQUALIFIED46Anna Fali
1010Tony E ButtFrance2024-05-02Truhlar And Truhlar Attys NEGOTIATION56Amy Elsner
1011Arvin J FerenczItaly2024-05-03King, Christopher A Esq UNQUALIFIED63Asiya Javayant
1012Arvin D MorascaArgentina2024-05-18Commercial Press PROPOSAL71Asiya Javayant
1013Chavez N InouyeFrance2024-05-09Feiner Bros QUALIFIED41Bernardo Dominic
1014Octavia L CaudyFrance2024-05-20Buckley Miller Wright UNQUALIFIED22Ioni Bowcher
1015Ashley S WhobreyItaly2024-05-06Benton, John B Jr NEGOTIATION76Stephen Shaw
1016Cody Y FigeroaSpain2024-05-11Commercial Press QUALIFIED18Amy Elsner
1017Mujtaba X WaycottIndia2024-04-29King, Christopher A Esq PROPOSAL63Asiya Javayant
1018Ivar P SchemmerCanada2024-05-22Feiner Bros NEW23Ivan Magalhaes
1019David L FollerGermany2024-05-15Rousseaux, Michael Esq RENEWAL96Bernardo Dominic
1020Isabel P AlbaresBrazil2024-05-12Printing Dimensions PROPOSAL93Elwin Sharvill
1021Izzy U BriddickCanada2024-05-13Chemel, James L Cpa QUALIFIED80Asiya Javayant
1022Mujtaba T SergiItaly2024-05-06Truhlar And Truhlar Attys NEW98Onyama Limba
1023Antonio R PoquetteArgentina2024-05-18King, Christopher A Esq UNQUALIFIED59Ioni Bowcher
1024Johnson S InouyeCanada2024-05-01Dorl, James J Esq UNQUALIFIED47Ivan Magalhaes
1025Murillo A SchemmerUnited Kingdom2024-05-15Feiner Bros RENEWAL76Ioni Bowcher
1026Murillo C CaudyFrance2024-04-29Chemel, James L Cpa PROPOSAL18Ioni Bowcher
1027Ricardo G SaylorsUnited Kingdom2024-05-22Chapman, Ross E Esq QUALIFIED66Asiya Javayant
1028Kaitlin I RutaBrazil2024-05-23Commercial Press QUALIFIED0Ivan Magalhaes
1029Johnson N AlbaresItaly2024-05-26Rangoni Of Florence UNQUALIFIED62Bernardo Dominic
1030Greenwood H RutaIndia2024-05-04Rousseaux, Michael Esq QUALIFIED95Amy Elsner
1031Aditya H BriddickRussia2024-05-08Feltz Printing Service NEGOTIATION16Asiya Javayant
1032Maisha T RutaAustralia2024-05-17Rousseaux, Michael Esq QUALIFIED10Amy Elsner
1033Cody H GillianItaly2024-04-28Rousseaux, Michael Esq NEW35Anna Fali
1034Claire M ShinkoUnited Kingdom2024-05-15Feltz Printing Service PROPOSAL57Amy Elsner
1035Sinclair U BologniaFrance2024-05-04Rousseaux, Michael Esq PROPOSAL6Asiya Javayant
1036Alejandro D RulapaughRussia2024-04-27Rangoni Of Florence NEGOTIATION26Bernardo Dominic
1037Isabel W SlusarskiRussia2024-05-14Rousseaux, Michael Esq QUALIFIED22Ivan Magalhaes
1038Arvin F OldroydAustralia2024-05-20Buckley Miller Wright UNQUALIFIED16Anna Fali
1039Mayumi K WhobreyAustralia2024-05-08Feltz Printing Service NEGOTIATION81Amy Elsner
1040Greenwood W BologniaAustralia2024-05-18Chemel, James L Cpa PROPOSAL99Onyama Limba
1041Tony P ButtAustralia2024-05-01Feltz Printing Service QUALIFIED12Bernardo Dominic
1042Mujtaba M ChuiSpain2024-05-10Rousseaux, Michael Esq PROPOSAL66Anna Fali
1043Rodrigues G SaylorsCanada2024-05-23Buckley Miller Wright NEW36Anna Fali
1044Arvin B DoeIndia2024-05-14Truhlar And Truhlar Attys NEGOTIATION50Xuxue Feng
1045Claire L OldroydArgentina2024-05-03Printing Dimensions NEW54Amy Elsner
1046Jennifer B GillianJapan2024-05-09Commercial Press UNQUALIFIED57Amy Elsner
1047Morrow R WaycottCanada2024-05-13Truhlar And Truhlar Attys PROPOSAL58Ivan Magalhaes
1048Smith M WhobreyCanada2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED81Elwin Sharvill
1049Stacey K FerenczArgentina2024-05-13Morlong Associates PROPOSAL90Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja I VenereGermanyOnyama Limba UNQUALIFIED
Tony V CampainGermanyAsiya Javayant NEW
Costa M SlusarskiAustraliaAsiya Javayant UNQUALIFIED
Johnson O VocelkaJapanIoni Bowcher UNQUALIFIED
Ricardo J DoeJapanBernardo Dominic QUALIFIED
Aditya H AlbaresCanadaAmy Elsner QUALIFIED
Emily D OstroskyAustraliaAsiya Javayant NEGOTIATION
Ricardo D DoeSpainIoni Bowcher QUALIFIED
Maria D MaletBrazilAnna Fali QUALIFIED
Emily O WhobreyItalyXuxue Feng PROPOSAL
Aditya J RutaItalyAnna Fali UNQUALIFIED
Adams H ShinkoRussiaBernardo Dominic RENEWAL
Kaitlin V InouyeItalyElwin Sharvill PROPOSAL
Rodrigues E BriddickSpainAsiya Javayant UNQUALIFIED
Mujtaba F StockhamRussiaBernardo Dominic RENEWAL
Mayumi I RutaGermanyAmy Elsner NEGOTIATION
Misaki K AmigonFranceAmy Elsner QUALIFIED
Johnson I BologniaAustraliaIvan Magalhaes NEGOTIATION
Jones M SaylorsFranceIoni Bowcher RENEWAL
Wickens S ShinkoFranceAmy Elsner PROPOSAL
Nicolas T NickaCanadaAnna Fali RENEWAL
Mayumi V CaldareraArgentinaBernardo Dominic NEGOTIATION
Chavez L CaldareraCanadaAsiya Javayant NEGOTIATION
Salvatore V BriddickAustraliaIvan Magalhaes PROPOSAL
Aruna X FlosiCanadaXuxue Feng NEGOTIATION
Leon S FlosiItalyStephen Shaw NEW
Aika R GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Juan B MaletRussiaOnyama Limba RENEWAL
Greenwood Y MorascaIndiaAmy Elsner RENEWAL
Cody V WhobreyGermanyIoni Bowcher PROPOSAL
Leon D KolmetzUnited KingdomAmy Elsner QUALIFIED
Misaki E NickaRussiaAsiya Javayant RENEWAL
Claire I WhobreyIndiaAnna Fali NEGOTIATION
Greenwood J CaldareraFranceAsiya Javayant QUALIFIED
Costa V PerinFranceStephen Shaw PROPOSAL
Antonio C OstroskyItalyIvan Magalhaes PROPOSAL
Nicolas L GillianItalyAmy Elsner NEW
Izzy J DoeJapanElwin Sharvill QUALIFIED
Deepesh W GlickSpainXuxue Feng RENEWAL
Smith C BriddickGermanyXuxue Feng QUALIFIED
Mayumi O RimBrazilXuxue Feng NEGOTIATION
Francesco R MorascaItalyXuxue Feng QUALIFIED
Alejandro G BowleyUnited KingdomOnyama Limba QUALIFIED
Jones B GlickGermanyOnyama Limba NEW
Julie H CampainBrazilXuxue Feng UNQUALIFIED
Izzy G InouyeJapanAnna Fali RENEWAL
Munro U BriddickRussiaElwin Sharvill NEGOTIATION
Ricardo W ButtArgentinaAmy Elsner UNQUALIFIED
Aditya F MacleadItalyAmy Elsner PROPOSAL
Chavez E AmigonGermanyBernardo Dominic NEW
Frozen Columns
Name
Rodrigues D Schemmer
Morrow N Foller
Mujtaba C Figeroa
Ricardo I Oldroyd
Murillo M Venere
Nicolas D Dilliard
Aruna T Waycott
Wickens Z Nicka
Silvio D Vocelka
Jones V Gaucho
Nicolas Y Ruta
Morrow F Ruta
Jeanfrancois B Foller
Jefferson R Tollner
Ivar Y Kusko
Maria W Morasca
Antonio P Wieser
Greenwood T Figeroa
Adams S Kusko
Ricardo O Butt
James L Waycott
Emily T Kolmetz
Antonio X Briddick
Wickens X Flosi
Jones B Nicka
Johnson B Oldroyd
Claire Y Marrier
Nicolas Q Chui
Arvin K Nestle
Wickens H Bolognia
David T Garufi
Aruna B Glick
Octavia G Butt
Leon R Bowley
Costa O Malet
Emily B Inouye
Alejandro Z Waycott
Juan Q Glick
Munro U Butt
Munro M Venere
Julie Y Darakjy
Jennifer E Briddick
Leon R Poquette
Jennifer J Amigon
Jennifer F Schemmer
Jennifer K Waycott
Chavez C Saylors
David O Nicka
Aruna U Foller
Sinclair N Slusarski
IdCountryDate
1000Argentina2024-05-10
1001Germany2024-05-18
1002Japan2024-05-22
1003Russia2024-05-06
1004Canada2024-05-14
1005Argentina2024-05-22
1006France2024-05-24
1007Argentina2024-05-23
1008United Kingdom2024-04-30
1009India2024-05-09
1010Japan2024-04-27
1011Italy2024-05-04
1012Germany2024-05-03
1013France2024-05-14
1014Spain2024-05-24
1015Brazil2024-05-01
1016United Kingdom2024-05-12
1017United Kingdom2024-05-11
1018United Kingdom2024-05-22
1019Australia2024-05-20
1020Brazil2024-05-16
1021Japan2024-05-24
1022Italy2024-05-16
1023Italy2024-05-13
1024France2024-05-20
1025Russia2024-05-10
1026Germany2024-05-02
1027Australia2024-05-03
1028Argentina2024-04-30
1029Canada2024-05-06
1030Canada2024-05-21
1031Russia2024-05-09
1032India2024-05-25
1033Brazil2024-05-05
1034United Kingdom2024-05-14
1035United Kingdom2024-05-25
1036Japan2024-05-18
1037Spain2024-05-21
1038Spain2024-05-25
1039France2024-05-21
1040India2024-05-18
1041Germany2024-05-03
1042Argentina2024-05-11
1043Brazil2024-05-20
1044Spain2024-05-03
1045Italy2024-05-13
1046Germany2024-05-19
1047Argentina2024-05-17
1048Brazil2024-05-12
1049Italy2024-05-14

On-Demand Data

NameIdCountryDate
Sinclair V Poquette1000Canada2024-05-02
Antonio K Gaucho1001India2024-05-08
Claire C Malet1002Argentina2024-05-19
Izzy X Gaucho1003Japan2024-05-06
Aditya T Gaucho1004India2024-05-02
Aruna B Albares1005Brazil2024-05-19
Clifford Z Paprocki1006Russia2024-05-06
Silvio O Inouye1007Russia2024-05-20
Greenwood J Malet1008India2024-05-08
Chavez A Campain1009Russia2024-05-05
Aika Z Waycott1010Italy2024-05-25
Maria R Garufi1011Spain2024-05-01
Mayumi Q Malet1012Italy2024-04-30
Murillo B Morasca1013United Kingdom2024-05-24
Leja P Schemmer1014Argentina2024-05-25
Munro S Perin1015Argentina2024-05-07
Octavia W Doe1016India2024-05-25
Cody O Stockham1017Canada2024-04-28
Maria K Maclead1018Spain2024-05-05
Ricardo K Rim1019Spain2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja Z WieserCanadaIvan Magalhaes QUALIFIED
Aruna O DilliardRussiaXuxue Feng RENEWAL
Francesco U FerenczArgentinaBernardo Dominic PROPOSAL
Ashley J MorascaGermanyElwin Sharvill NEW
Smith I MorascaArgentinaIoni Bowcher UNQUALIFIED
Smith P CampainItalyIvan Magalhaes PROPOSAL
Mujtaba U VocelkaAustraliaAnna Fali UNQUALIFIED
Maria G RimBrazilIvan Magalhaes NEW
Maria N CaudyGermanyAmy Elsner NEW
Julie S VenereAustraliaIoni Bowcher UNQUALIFIED
Johnson L WieserRussiaXuxue Feng NEW
Silvio G PaprockiRussiaStephen Shaw PROPOSAL
Ricardo G GillianAustraliaAnna Fali UNQUALIFIED
Jones I WhobreyItalyAmy Elsner NEW
David M DoeIndiaAsiya Javayant QUALIFIED
Leja E FollerRussiaBernardo Dominic UNQUALIFIED
Jones D GauchoIndiaBernardo Dominic UNQUALIFIED
Wickens A ShinkoUnited KingdomIoni Bowcher NEW
Mujtaba S SlusarskiRussiaBernardo Dominic QUALIFIED
Juan L RulapaughArgentinaOnyama Limba PROPOSAL
Stacey J FigeroaArgentinaAmy Elsner RENEWAL
Izzy D CaudyCanadaOnyama Limba RENEWAL
Alejandro C GarufiBrazilAmy Elsner PROPOSAL
Chavez Z VenereBrazilAmy Elsner RENEWAL
David H AlbaresIndiaBernardo Dominic NEW
Wickens M MarrierAustraliaAsiya Javayant RENEWAL
Alejandro E InouyeFranceIoni Bowcher RENEWAL
Izzy L FerenczFranceBernardo Dominic NEW
Juan R GauchoUnited KingdomOnyama Limba NEGOTIATION
Faith U ButtGermanyBernardo Dominic UNQUALIFIED
Stacey I SlusarskiItalyStephen Shaw QUALIFIED
Jeanfrancois Z SchemmerArgentinaXuxue Feng QUALIFIED
Jefferson U DoeAustraliaAmy Elsner RENEWAL
Munro N OstroskyJapanXuxue Feng RENEWAL
Tony M AlbaresUnited KingdomAnna Fali QUALIFIED
David X GillianGermanyIoni Bowcher NEW
Munro U BriddickFranceAsiya Javayant QUALIFIED
Ivar M CaldareraIndiaIoni Bowcher NEGOTIATION
Maisha E IturbideArgentinaStephen Shaw RENEWAL
Aditya Y MaletAustraliaAmy Elsner 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>