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
Maisha A SaylorsBrazilAmy Elsner RENEWAL
Faith O SergiFranceAsiya Javayant NEW
Morrow M VocelkaRussiaAnna Fali NEGOTIATION
Chavez L PoquetteArgentinaAsiya Javayant QUALIFIED
David I AmigonIndiaIoni Bowcher NEW
Faith Y MacleadCanadaAnna Fali NEGOTIATION
Johnson D ShinkoSpainOnyama Limba QUALIFIED
Leja P WhobreyArgentinaIoni Bowcher QUALIFIED
Salvatore O WieserBrazilOnyama Limba RENEWAL
Maria R MaletRussiaXuxue Feng UNQUALIFIED
Aditya E PerinCanadaOnyama Limba UNQUALIFIED
Aika A NestleUnited KingdomOnyama Limba QUALIFIED
Alejandro L NestleJapanOnyama Limba PROPOSAL
Kaitlin X CaldareraFranceStephen Shaw RENEWAL
Leon P SergiUnited KingdomElwin Sharvill UNQUALIFIED
Smith N SaylorsBrazilXuxue Feng QUALIFIED
Darci C TollnerGermanyIoni Bowcher UNQUALIFIED
Smith K AlbaresItalyStephen Shaw UNQUALIFIED
Isabel J ButtAustraliaStephen Shaw QUALIFIED
Aika V ButtItalyStephen Shaw QUALIFIED
Sinclair Y StockhamCanadaAsiya Javayant NEW
Murillo T RutaBrazilAsiya Javayant QUALIFIED
Octavia C FerenczIndiaIvan Magalhaes QUALIFIED
Francesco I FigeroaItalyXuxue Feng PROPOSAL
Kaitlin B WhobreyArgentinaIoni Bowcher NEW
Morrow A GarufiGermanyElwin Sharvill UNQUALIFIED
Kadeem U RulapaughIndiaBernardo Dominic RENEWAL
Sinclair L PoquetteJapanOnyama Limba QUALIFIED
Aruna F ButtJapanOnyama Limba QUALIFIED
Stacey Z DoeAustraliaAmy Elsner RENEWAL
Adams N GlickCanadaAsiya Javayant QUALIFIED
Silvio U GauchoUnited KingdomIvan Magalhaes NEW
Cody M WhobreyRussiaBernardo Dominic RENEWAL
Arvin I MaletUnited KingdomAmy Elsner NEW
Maisha X ChuiFranceElwin Sharvill RENEWAL
Julie R CaudyBrazilIvan Magalhaes PROPOSAL
Maria Y NestleRussiaAsiya Javayant QUALIFIED
Claire Q VenereAustraliaStephen Shaw NEGOTIATION
Francesco F VocelkaFranceIvan Magalhaes NEGOTIATION
Tony J VocelkaUnited KingdomStephen Shaw PROPOSAL
Leon L WaycottArgentinaAsiya Javayant PROPOSAL
Darci I WaycottCanadaAsiya Javayant UNQUALIFIED
Ricardo B StensethCanadaAsiya Javayant RENEWAL
Jeanfrancois E FigeroaGermanyAsiya Javayant RENEWAL
Izzy H GarufiItalyAsiya Javayant RENEWAL
Emily R SergiIndiaOnyama Limba NEW
Izzy W NickaArgentinaAmy Elsner QUALIFIED
Stacey N SaylorsIndiaBernardo Dominic RENEWAL
Jefferson C BriddickBrazilXuxue Feng RENEWAL
Jones D FlosiUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Isabel N RoysterGermanyAnna Fali QUALIFIED
Sinclair F AmigonItalyAnna Fali NEW
Alejandro F RulapaughItalyAsiya Javayant NEW
Alejandro I CaudyIndiaAmy Elsner NEW
Clifford Y BologniaGermanyStephen Shaw NEGOTIATION
Adams S SaylorsItalyIoni Bowcher NEGOTIATION
Murillo D NickaIndiaAmy Elsner PROPOSAL
Wickens X WieserUnited KingdomAmy Elsner QUALIFIED
Stacey F WhobreyArgentinaAsiya Javayant RENEWAL
Stacey X NickaSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore W WieserSpain2024-06-05Chanay, Jeffrey A Esq RENEWAL39Onyama Limba
1001Francesco R PoquetteFrance2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED43Ioni Bowcher
1002Greenwood E MarrierArgentina2024-06-14Chapman, Ross E Esq PROPOSAL36Stephen Shaw
1003Maisha Z KuskoGermany2024-06-10Feiner Bros NEW28Asiya Javayant
1004James V AlbaresGermany2024-06-21Dorl, James J Esq NEGOTIATION58Ioni Bowcher
1005Tony C ButtAustralia2024-05-25Chemel, James L Cpa QUALIFIED34Onyama Limba
1006Juan G SchemmerSpain2024-06-14Printing Dimensions QUALIFIED71Ivan Magalhaes
1007Rodrigues J CaldareraItaly2024-06-14Buckley Miller Wright UNQUALIFIED0Bernardo Dominic
1008Clifford D MarrierFrance2024-06-14Dorl, James J Esq UNQUALIFIED5Anna Fali
1009Mayumi N RulapaughAustralia2024-06-08Dorl, James J Esq RENEWAL6Asiya Javayant
1010Aditya M ButtJapan2024-06-01Chapman, Ross E Esq NEGOTIATION95Amy Elsner
1011Leja P AmigonFrance2024-06-05Benton, John B Jr RENEWAL15Elwin Sharvill
1012James M FollerBrazil2024-06-07Feltz Printing Service PROPOSAL26Anna Fali
1013Mujtaba K VenereRussia2024-06-12Feiner Bros UNQUALIFIED71Ioni Bowcher
1014Tony S MaletItaly2024-05-27Chapman, Ross E Esq QUALIFIED47Bernardo Dominic
1015Aika E CaudyIndia2024-06-09Feiner Bros NEGOTIATION85Xuxue Feng
1016Mayumi X SaylorsRussia2024-06-08Buckley Miller Wright QUALIFIED77Anna Fali
1017Silvio W AlbaresUnited Kingdom2024-06-11Truhlar And Truhlar Attys RENEWAL33Ivan Magalhaes
1018Rodrigues Z OstroskyRussia2024-06-01Chemel, James L Cpa QUALIFIED23Ioni Bowcher
1019Ashley A DoeFrance2024-05-29Truhlar And Truhlar Attys NEGOTIATION21Elwin Sharvill
1020Cody I DilliardGermany2024-05-30Feiner Bros RENEWAL26Stephen Shaw
1021Nicolas N FerenczJapan2024-06-08Truhlar And Truhlar Attys RENEWAL21Anna Fali
1022Maria L InouyeFrance2024-06-16Commercial Press NEW34Asiya Javayant
1023Chavez B PerinCanada2024-06-09Commercial Press NEW6Ivan Magalhaes
1024Ricardo R BologniaBrazil2024-05-29Rangoni Of Florence PROPOSAL49Ioni Bowcher
1025Deepesh E KuskoCanada2024-06-01Chemel, James L Cpa NEGOTIATION42Asiya Javayant
1026Ricardo W OldroydRussia2024-06-17Commercial Press QUALIFIED47Ioni Bowcher
1027Aika C BowleyRussia2024-06-13Morlong Associates PROPOSAL63Ioni Bowcher
1028Isabel I RutaArgentina2024-06-15Buckley Miller Wright RENEWAL78Amy Elsner
1029Jennifer C VenereItaly2024-06-16Feiner Bros NEW25Bernardo Dominic
1030Smith G MaletRussia2024-06-14Feiner Bros NEW66Ivan Magalhaes
1031Greenwood U ChuiSpain2024-06-21King, Christopher A Esq UNQUALIFIED75Bernardo Dominic
1032Munro E RimArgentina2024-05-23Chapman, Ross E Esq UNQUALIFIED0Stephen Shaw
1033Chavez K ButtSpain2024-06-04King, Christopher A Esq UNQUALIFIED35Onyama Limba
1034Kadeem C CaudyCanada2024-05-24Dorl, James J Esq RENEWAL11Onyama Limba
1035Isabel P MorascaAustralia2024-05-24Chemel, James L Cpa NEGOTIATION78Xuxue Feng
1036Isabel H PaprockiSpain2024-06-20Dorl, James J Esq NEW41Ivan Magalhaes
1037Aruna Q ShinkoIndia2024-06-15Chemel, James L Cpa UNQUALIFIED89Amy Elsner
1038Misaki T KuskoItaly2024-06-01Truhlar And Truhlar Attys RENEWAL62Anna Fali
1039Chavez E VenereBrazil2024-06-17Benton, John B Jr RENEWAL64Elwin Sharvill
1040Arvin T BowleyBrazil2024-06-18Rousseaux, Michael Esq PROPOSAL46Xuxue Feng
1041Jennifer A CampainIndia2024-06-07Feiner Bros UNQUALIFIED12Amy Elsner
1042Ashley H PaprockiUnited Kingdom2024-06-03Chanay, Jeffrey A Esq RENEWAL83Amy Elsner
1043Ashley T BowleySpain2024-06-05Chapman, Ross E Esq NEGOTIATION5Bernardo Dominic
1044Sinclair X BriddickBrazil2024-06-01Chemel, James L Cpa NEW91Elwin Sharvill
1045Adams A OstroskyCanada2024-06-21Chanay, Jeffrey A Esq RENEWAL28Amy Elsner
1046Sinclair C GillianIndia2024-06-21Benton, John B Jr NEW31Ioni Bowcher
1047Jones Y DoeRussia2024-06-14Chanay, Jeffrey A Esq NEGOTIATION30Xuxue Feng
1048Mujtaba N PoquetteCanada2024-06-12Benton, John B Jr PROPOSAL24Stephen Shaw
1049Rodrigues L SaylorsSpain2024-06-15Chemel, James L Cpa PROPOSAL22Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Nicolas L SlusarskiJapanOnyama Limba NEW
Maria D FollerItalyIoni Bowcher PROPOSAL
Adams M SaylorsIndiaIvan Magalhaes UNQUALIFIED
Rodrigues M PaprockiRussiaAmy Elsner PROPOSAL
Clifford Y OstroskyGermanyElwin Sharvill RENEWAL
Maria L TollnerCanadaXuxue Feng RENEWAL
Juan N GillianAustraliaBernardo Dominic NEW
Clifford Z InouyeBrazilOnyama Limba QUALIFIED
Francesco X MorascaCanadaIvan Magalhaes NEGOTIATION
Juan L SchemmerGermanyAnna Fali QUALIFIED
Juan G FlosiGermanyBernardo Dominic UNQUALIFIED
Kadeem I ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Leja L AlbaresFranceIvan Magalhaes UNQUALIFIED
Kaitlin Y WhobreyJapanElwin Sharvill PROPOSAL
Izzy P StensethBrazilXuxue Feng UNQUALIFIED
Aditya A SchemmerUnited KingdomIoni Bowcher RENEWAL
Misaki Q ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Izzy O IturbideCanadaXuxue Feng NEW
James Q FollerArgentinaXuxue Feng RENEWAL
Claire Z SlusarskiRussiaAsiya Javayant UNQUALIFIED
Julie E DarakjyItalyIvan Magalhaes PROPOSAL
Darci W MaletItalyXuxue Feng UNQUALIFIED
Smith O MacleadRussiaAsiya Javayant RENEWAL
Francesco S MorascaUnited KingdomAmy Elsner UNQUALIFIED
Silvio U AlbaresJapanIoni Bowcher RENEWAL
Kaitlin O SlusarskiItalyStephen Shaw QUALIFIED
Clifford L StensethJapanElwin Sharvill UNQUALIFIED
Ashley O FigeroaRussiaBernardo Dominic QUALIFIED
Salvatore A GlickJapanAsiya Javayant NEW
Izzy F FerenczSpainOnyama Limba NEW
Munro F CaldareraRussiaXuxue Feng NEW
Maisha G DarakjyJapanAsiya Javayant UNQUALIFIED
Tony X MorascaAustraliaElwin Sharvill PROPOSAL
Silvio Z PoquetteCanadaIvan Magalhaes NEW
Claire S AmigonUnited KingdomStephen Shaw RENEWAL
Arvin E FerenczIndiaAmy Elsner UNQUALIFIED
Clifford J MacleadRussiaOnyama Limba QUALIFIED
Aika E CampainFranceBernardo Dominic QUALIFIED
Jennifer L MacleadSpainStephen Shaw NEW
Chavez M PoquetteAustraliaIvan Magalhaes RENEWAL
Munro T WieserJapanStephen Shaw NEW
Jeanfrancois X GlickAustraliaAsiya Javayant NEGOTIATION
Octavia A WieserArgentinaAnna Fali PROPOSAL
Aika L MaletSpainIoni Bowcher NEW
Izzy T RoysterArgentinaBernardo Dominic PROPOSAL
Aditya D SaylorsAustraliaOnyama Limba PROPOSAL
Leon C ChuiCanadaIoni Bowcher RENEWAL
Mujtaba D RoysterGermanyXuxue Feng NEW
Tony R NickaArgentinaIoni Bowcher UNQUALIFIED
Wickens Q PaprockiIndiaIoni Bowcher PROPOSAL
Frozen Columns
Name
Juan C Schemmer
Aika A Iturbide
Jennifer M Wieser
Maria S Nicka
Chavez U Marrier
Ricardo V Gaucho
Aditya X Foller
Mujtaba G Vocelka
Greenwood J Wieser
Costa B Flosi
Jefferson U Ostrosky
Clifford S Saylors
Claire X Stenseth
Julie S Stenseth
Cody M Nestle
Darci W Dilliard
Adams Y Caldarera
Chavez U Nicka
David K Ostrosky
Ashley C Kusko
Darci S Venere
Aruna D Morasca
Misaki Q Flosi
Jeanfrancois J Poquette
Mujtaba Y Sergi
Misaki L Morasca
Adams I Iturbide
Kadeem P Bolognia
Aditya D Royster
Rodrigues V Iturbide
Isabel E Venere
Chavez C Poquette
Aditya Y Sergi
Isabel L Tollner
Munro O Glick
Aditya W Perin
Cody S Ostrosky
Ashley E Nestle
Wickens S Shinko
Alejandro R Maclead
Francesco G Shinko
Maisha F Inouye
Misaki Z Schemmer
David O Caldarera
Morrow F Albares
Munro W Chui
Aika D Poquette
Antonio F Sergi
Johnson L Inouye
Juan Z Slusarski
IdCountryDate
1000France2024-06-09
1001Argentina2024-06-10
1002Argentina2024-06-03
1003United Kingdom2024-06-19
1004Russia2024-06-18
1005Argentina2024-06-02
1006Spain2024-06-11
1007France2024-06-04
1008Russia2024-06-10
1009Spain2024-05-26
1010Japan2024-05-30
1011Canada2024-06-01
1012Argentina2024-05-23
1013Italy2024-06-20
1014Japan2024-05-28
1015United Kingdom2024-06-15
1016United Kingdom2024-06-19
1017Spain2024-06-01
1018Brazil2024-05-28
1019India2024-06-18
1020Canada2024-06-01
1021Germany2024-06-15
1022Canada2024-06-03
1023Australia2024-06-19
1024Canada2024-06-09
1025Spain2024-06-18
1026Japan2024-05-27
1027Brazil2024-06-06
1028Australia2024-06-01
1029Japan2024-05-24
1030India2024-06-09
1031Spain2024-05-25
1032Argentina2024-05-27
1033Australia2024-06-13
1034Germany2024-05-30
1035Spain2024-06-16
1036Brazil2024-06-08
1037Italy2024-05-27
1038Germany2024-06-05
1039Italy2024-06-14
1040Germany2024-05-27
1041Japan2024-06-19
1042Spain2024-05-25
1043Brazil2024-06-18
1044Russia2024-05-27
1045United Kingdom2024-05-29
1046France2024-06-12
1047Canada2024-05-25
1048Brazil2024-06-14
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Smith C Oldroyd1000Australia2024-06-02
Julie K Marrier1001Italy2024-06-03
Silvio E Bowley1002Canada2024-06-03
Arvin W Saylors1003France2024-06-15
Silvio L Shinko1004Australia2024-06-16
Antonio U Stockham1005France2024-06-05
Nicolas Q Glick1006Canada2024-05-28
Mayumi O Ostrosky1007Australia2024-05-27
Stacey Q Foller1008Australia2024-06-03
Sinclair W Gaucho1009Spain2024-06-10
Leja Z Oldroyd1010Brazil2024-06-19
Murillo O Malet1011Australia2024-05-26
Greenwood A Malet1012Brazil2024-05-27
Cody L Butt1013Germany2024-06-19
Aika A Wieser1014Spain2024-05-29
Aika E Bolognia1015Brazil2024-06-09
Maria U Perin1016United Kingdom2024-05-30
Izzy S Vocelka1017India2024-06-12
Jones W Tollner1018India2024-05-30
Arvin T Sergi1019Australia2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi N SlusarskiArgentinaXuxue Feng QUALIFIED
Munro H GillianRussiaOnyama Limba NEGOTIATION
Silvio N BologniaBrazilBernardo Dominic UNQUALIFIED
Smith I WieserSpainBernardo Dominic QUALIFIED
Ricardo P MarrierArgentinaAmy Elsner NEW
Darci H RulapaughFranceAmy Elsner UNQUALIFIED
Ashley I MaletSpainAnna Fali NEW
Ashley X GauchoBrazilAnna Fali PROPOSAL
Kaitlin H FerenczGermanyXuxue Feng UNQUALIFIED
Deepesh V WaycottGermanyBernardo Dominic QUALIFIED
Maisha L GauchoFranceOnyama Limba NEGOTIATION
Juan B FollerJapanXuxue Feng NEGOTIATION
Nicolas F FerenczRussiaXuxue Feng NEW
Munro C MaletFranceAnna Fali RENEWAL
Francesco X RimArgentinaStephen Shaw RENEWAL
Leja S RoysterIndiaIoni Bowcher RENEWAL
Morrow B InouyeUnited KingdomAmy Elsner QUALIFIED
Francesco G FollerUnited KingdomAmy Elsner PROPOSAL
Darci C IturbideJapanIvan Magalhaes PROPOSAL
Maria P ChuiItalyAmy Elsner PROPOSAL
Julie R DoeBrazilXuxue Feng NEGOTIATION
Jefferson M FigeroaRussiaOnyama Limba RENEWAL
Ashley R TollnerAustraliaOnyama Limba QUALIFIED
Jefferson A KuskoSpainBernardo Dominic PROPOSAL
Darci B WhobreyItalyElwin Sharvill NEGOTIATION
Francesco T WhobreyBrazilAnna Fali NEW
Jeanfrancois S ChuiSpainOnyama Limba QUALIFIED
Octavia S StockhamCanadaStephen Shaw RENEWAL
Ashley J GlickCanadaAmy Elsner NEGOTIATION
Munro V ChuiFranceIoni Bowcher QUALIFIED
Kadeem C DarakjyCanadaElwin Sharvill NEW
Stacey V KuskoRussiaAsiya Javayant NEW
Alejandro G StockhamIndiaAmy Elsner PROPOSAL
Juan L ButtAustraliaIvan Magalhaes PROPOSAL
Stacey I SlusarskiFranceIoni Bowcher PROPOSAL
Francesco A ShinkoJapanOnyama Limba QUALIFIED
Adams V MaletArgentinaIoni Bowcher QUALIFIED
Arvin V AlbaresRussiaAnna Fali QUALIFIED
Kadeem B BriddickUnited KingdomAnna Fali PROPOSAL
Claire R MaletCanadaElwin Sharvill QUALIFIED

<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>