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
Jeanfrancois I VenereJapanAnna Fali QUALIFIED
Julie D SergiIndiaBernardo Dominic UNQUALIFIED
Francesco S AlbaresItalyBernardo Dominic UNQUALIFIED
Octavia B DoeBrazilAmy Elsner NEGOTIATION
Cody K SergiUnited KingdomIvan Magalhaes RENEWAL
Leon I GauchoBrazilAnna Fali QUALIFIED
Chavez F StensethItalyXuxue Feng NEW
Jennifer J PerinRussiaStephen Shaw QUALIFIED
Alejandro F CaldareraGermanyElwin Sharvill NEW
Aika V VenereBrazilIoni Bowcher UNQUALIFIED
Juan Q TollnerBrazilAmy Elsner NEW
Morrow C BologniaCanadaAmy Elsner UNQUALIFIED
Emily W MorascaJapanIvan Magalhaes QUALIFIED
Emily J RoysterGermanyXuxue Feng PROPOSAL
Wickens O MacleadItalyIoni Bowcher UNQUALIFIED
Salvatore R ButtGermanyIoni Bowcher UNQUALIFIED
Nicolas Q KuskoUnited KingdomIoni Bowcher NEW
Octavia T MaletArgentinaAsiya Javayant RENEWAL
Izzy R WaycottAustraliaAnna Fali NEGOTIATION
Claire P CaldareraJapanStephen Shaw NEW
Stacey O OstroskyJapanXuxue Feng RENEWAL
Morrow R OstroskyArgentinaOnyama Limba RENEWAL
Jones J BriddickCanadaAsiya Javayant PROPOSAL
Silvio E GauchoAustraliaAsiya Javayant PROPOSAL
Leja Y PaprockiSpainAmy Elsner UNQUALIFIED
Ashley I MacleadFranceIvan Magalhaes QUALIFIED
Maria S FollerRussiaBernardo Dominic QUALIFIED
Ricardo S GarufiIndiaAsiya Javayant NEW
Alejandro G SlusarskiCanadaAmy Elsner NEW
Alejandro Z CampainGermanyOnyama Limba NEGOTIATION
Kadeem A PaprockiBrazilElwin Sharvill NEW
Smith Q RimCanadaIvan Magalhaes UNQUALIFIED
Emily E RulapaughBrazilIoni Bowcher NEW
Morrow Z TollnerGermanyOnyama Limba PROPOSAL
Faith I KolmetzGermanyAnna Fali UNQUALIFIED
Deepesh O DoeItalyAmy Elsner PROPOSAL
Jefferson U SergiBrazilIoni Bowcher UNQUALIFIED
Maisha I SergiFranceOnyama Limba QUALIFIED
Munro U PerinAustraliaOnyama Limba NEGOTIATION
Murillo M BowleyArgentinaStephen Shaw RENEWAL
Kadeem H MacleadUnited KingdomOnyama Limba QUALIFIED
Mayumi C TollnerIndiaIvan Magalhaes NEGOTIATION
Murillo M FlosiItalyIoni Bowcher RENEWAL
Izzy J FollerRussiaIoni Bowcher PROPOSAL
Ivar T SchemmerAustraliaAsiya Javayant UNQUALIFIED
Ashley W KuskoCanadaAmy Elsner QUALIFIED
Jennifer I CaldareraItalyElwin Sharvill UNQUALIFIED
Silvio I FlosiFranceAnna Fali PROPOSAL
Leon W WaycottUnited KingdomIvan Magalhaes NEW
Octavia S RoysterCanadaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
David T MorascaBrazilOnyama Limba PROPOSAL
Sinclair V DilliardGermanyIvan Magalhaes NEW
Clifford S CaldareraGermanyOnyama Limba NEGOTIATION
Izzy L FlosiBrazilXuxue Feng QUALIFIED
Aditya D CampainJapanAmy Elsner QUALIFIED
Mujtaba A DilliardRussiaIoni Bowcher QUALIFIED
Murillo G SchemmerArgentinaAsiya Javayant NEW
Mujtaba Z NickaArgentinaAmy Elsner NEW
Salvatore F SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Claire U BriddickSpainIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar A DarakjyCanada2024-05-25Rangoni Of Florence PROPOSAL4Ioni Bowcher
1001Maisha X PoquetteItaly2024-05-17Chapman, Ross E Esq UNQUALIFIED15Ioni Bowcher
1002Izzy O FollerItaly2024-05-01Printing Dimensions NEGOTIATION57Ivan Magalhaes
1003Arvin P SergiGermany2024-05-16Printing Dimensions UNQUALIFIED85Anna Fali
1004Isabel D DoeArgentina2024-05-13Feltz Printing Service RENEWAL92Ivan Magalhaes
1005Alejandro P ButtItaly2024-05-10Rousseaux, Michael Esq QUALIFIED67Ivan Magalhaes
1006Munro C ChuiSpain2024-05-13Feltz Printing Service NEW72Stephen Shaw
1007Leja E RimFrance2024-05-19Rousseaux, Michael Esq PROPOSAL75Onyama Limba
1008Jefferson E IturbideGermany2024-05-19Truhlar And Truhlar Attys UNQUALIFIED61Xuxue Feng
1009Deepesh E SlusarskiItaly2024-05-25Printing Dimensions QUALIFIED52Ioni Bowcher
1010Ashley F CaudyIndia2024-05-21Truhlar And Truhlar Attys UNQUALIFIED70Amy Elsner
1011Greenwood Z GlickGermany2024-05-20Benton, John B Jr RENEWAL71Onyama Limba
1012Leon C AmigonFrance2024-05-23Printing Dimensions NEW55Ioni Bowcher
1013Maria H MacleadBrazil2024-05-18Morlong Associates NEGOTIATION60Asiya Javayant
1014Darci D OstroskyItaly2024-05-07Benton, John B Jr PROPOSAL43Stephen Shaw
1015Maisha L MaletCanada2024-05-12Commercial Press PROPOSAL95Ioni Bowcher
1016Antonio M SaylorsFrance2024-05-19King, Christopher A Esq NEGOTIATION54Xuxue Feng
1017Tony G BriddickAustralia2024-05-15Chemel, James L Cpa QUALIFIED39Ioni Bowcher
1018Arvin D CaudyUnited Kingdom2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED47Amy Elsner
1019Morrow F DoeFrance2024-05-02Dorl, James J Esq NEW29Bernardo Dominic
1020Ivar W VocelkaCanada2024-05-11Dorl, James J Esq NEW63Xuxue Feng
1021Julie N WieserItaly2024-05-22Chapman, Ross E Esq QUALIFIED6Elwin Sharvill
1022Ricardo S FlosiUnited Kingdom2024-05-22Dorl, James J Esq UNQUALIFIED48Bernardo Dominic
1023Leja C MarrierItaly2024-05-17Buckley Miller Wright QUALIFIED45Ioni Bowcher
1024Kaitlin H FerenczIndia2024-05-10Benton, John B Jr PROPOSAL95Xuxue Feng
1025Johnson A RutaAustralia2024-05-26Benton, John B Jr NEW51Xuxue Feng
1026Ivar D MaletUnited Kingdom2024-04-29Chapman, Ross E Esq QUALIFIED25Elwin Sharvill
1027Murillo N MaletAustralia2024-05-12Buckley Miller Wright UNQUALIFIED57Onyama Limba
1028Jeanfrancois B TollnerGermany2024-05-18Rangoni Of Florence NEGOTIATION86Asiya Javayant
1029Juan L NickaItaly2024-05-14Chanay, Jeffrey A Esq NEGOTIATION26Elwin Sharvill
1030Nicolas S SaylorsArgentina2024-05-21Feiner Bros PROPOSAL86Bernardo Dominic
1031Faith A GauchoRussia2024-04-27Feltz Printing Service QUALIFIED74Asiya Javayant
1032Octavia Q FlosiBrazil2024-05-11Rousseaux, Michael Esq PROPOSAL40Ivan Magalhaes
1033Ricardo E PoquetteCanada2024-05-19Rousseaux, Michael Esq QUALIFIED59Anna Fali
1034Misaki Z NestleCanada2024-05-16Rousseaux, Michael Esq QUALIFIED95Onyama Limba
1035Arvin W WaycottSpain2024-05-23Rangoni Of Florence NEW37Stephen Shaw
1036Munro K NickaIndia2024-05-21Buckley Miller Wright QUALIFIED23Anna Fali
1037Johnson K ChuiAustralia2024-05-26Rousseaux, Michael Esq NEGOTIATION11Onyama Limba
1038Wickens N AlbaresGermany2024-05-07Morlong Associates NEGOTIATION95Amy Elsner
1039Arvin R MaletBrazil2024-05-02King, Christopher A Esq NEW96Bernardo Dominic
1040Kadeem Q FlosiGermany2024-05-23Rousseaux, Michael Esq QUALIFIED87Elwin Sharvill
1041Antonio Q StockhamArgentina2024-05-02Printing Dimensions UNQUALIFIED75Ioni Bowcher
1042Nicolas D WhobreyAustralia2024-04-27Feiner Bros QUALIFIED21Elwin Sharvill
1043Sinclair O FigeroaIndia2024-05-03Rousseaux, Michael Esq NEW81Stephen Shaw
1044Izzy O RulapaughItaly2024-05-03Morlong Associates UNQUALIFIED46Ioni Bowcher
1045Julie A FollerGermany2024-05-05King, Christopher A Esq NEGOTIATION78Ivan Magalhaes
1046Murillo U VenereAustralia2024-05-04Chapman, Ross E Esq NEGOTIATION22Xuxue Feng
1047Arvin Z FigeroaAustralia2024-05-24Feltz Printing Service UNQUALIFIED18Stephen Shaw
1048Mujtaba M AlbaresUnited Kingdom2024-05-03Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1049Tony L VocelkaIndia2024-04-27Printing Dimensions NEGOTIATION78Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson I DoeAustraliaIvan Magalhaes UNQUALIFIED
Mujtaba P DoeJapanAnna Fali NEGOTIATION
Smith B NestleSpainAsiya Javayant PROPOSAL
Juan Y GauchoGermanyIvan Magalhaes RENEWAL
Smith L SergiAustraliaBernardo Dominic PROPOSAL
Silvio V MarrierJapanIoni Bowcher QUALIFIED
James W WaycottItalyIvan Magalhaes PROPOSAL
Juan N GauchoFranceStephen Shaw QUALIFIED
Murillo H InouyeCanadaBernardo Dominic UNQUALIFIED
Emily P StockhamJapanXuxue Feng NEW
Jefferson B OldroydArgentinaStephen Shaw NEW
Ivar H OldroydUnited KingdomBernardo Dominic RENEWAL
Darci G MaletSpainXuxue Feng NEGOTIATION
David D AmigonFranceAsiya Javayant RENEWAL
Chavez R SergiGermanyElwin Sharvill NEW
Izzy P WieserBrazilAnna Fali QUALIFIED
Stacey C MacleadRussiaIvan Magalhaes NEGOTIATION
Stacey F FollerAustraliaIvan Magalhaes RENEWAL
Darci D CaldareraBrazilXuxue Feng RENEWAL
Deepesh L GauchoAustraliaAnna Fali RENEWAL
Julie X CampainFranceStephen Shaw NEGOTIATION
Sinclair Q CaudyItalyAsiya Javayant UNQUALIFIED
Izzy P KolmetzCanadaIvan Magalhaes NEW
Morrow R AmigonBrazilStephen Shaw UNQUALIFIED
Maisha I BowleyGermanyAmy Elsner NEGOTIATION
Nicolas X TollnerJapanAnna Fali QUALIFIED
Darci K WaycottIndiaAnna Fali UNQUALIFIED
Ricardo E IturbideUnited KingdomXuxue Feng PROPOSAL
Izzy S NickaItalyBernardo Dominic UNQUALIFIED
Salvatore R MaletRussiaOnyama Limba PROPOSAL
Ricardo P BologniaSpainXuxue Feng PROPOSAL
Ricardo S RoysterFranceAsiya Javayant RENEWAL
Maisha Z KolmetzJapanBernardo Dominic NEGOTIATION
Johnson M VenereCanadaBernardo Dominic NEW
Ricardo J GauchoSpainStephen Shaw PROPOSAL
Ashley Y SergiAustraliaIoni Bowcher NEW
Adams U VocelkaCanadaStephen Shaw UNQUALIFIED
Stacey C ChuiIndiaAmy Elsner RENEWAL
Munro L AlbaresRussiaElwin Sharvill QUALIFIED
Maria L TollnerSpainXuxue Feng NEGOTIATION
James N NickaFranceXuxue Feng UNQUALIFIED
Mayumi Q CaudyItalyIoni Bowcher QUALIFIED
Aditya Y BologniaSpainStephen Shaw PROPOSAL
Sinclair N FigeroaItalyXuxue Feng NEGOTIATION
Ricardo J DoeRussiaAmy Elsner NEGOTIATION
Faith Q GillianRussiaAmy Elsner NEGOTIATION
Maisha N FollerAustraliaIoni Bowcher QUALIFIED
Adams J VenereSpainBernardo Dominic NEW
Kaitlin V MarrierAustraliaOnyama Limba RENEWAL
Juan F PaprockiBrazilXuxue Feng UNQUALIFIED
Frozen Columns
Name
Nicolas Y Venere
Jones U Chui
Mujtaba U Vocelka
Costa J Caudy
Johnson R Doe
Misaki N Caldarera
James R Paprocki
Isabel Y Stockham
Juan G Gaucho
Jeanfrancois X Caldarera
Ashley B Whobrey
Kadeem B Nicka
Morrow P Waycott
David P Ferencz
Ricardo W Wieser
Johnson Z Poquette
Silvio R Flosi
Smith B Caudy
Stacey H Sergi
Aruna B Chui
Morrow H Iturbide
Ashley J Ferencz
Octavia A Whobrey
Jeanfrancois O Perin
Ashley H Tollner
Mujtaba Z Glick
Salvatore D Bowley
Deepesh K Saylors
Leja L Garufi
Leja P Marrier
Chavez I Marrier
Isabel G Perin
Antonio I Malet
Cody X Malet
Tony T Paprocki
Clifford P Saylors
Mujtaba D Whobrey
Clifford R Morasca
Jefferson G Caldarera
Leja B Stenseth
David H Nestle
Leja F Ostrosky
Silvio I Venere
Jeanfrancois D Perin
Maisha R Albares
Kaitlin N Slusarski
Darci Y Schemmer
Mayumi I Foller
Salvatore R Royster
Smith L Glick
IdCountryDate
1000Canada2024-05-12
1001India2024-05-23
1002Spain2024-04-29
1003Brazil2024-05-25
1004Canada2024-05-26
1005Germany2024-05-17
1006Argentina2024-05-07
1007Italy2024-05-14
1008Argentina2024-05-02
1009Japan2024-05-08
1010United Kingdom2024-05-08
1011Spain2024-05-18
1012Italy2024-05-03
1013India2024-05-10
1014Russia2024-04-28
1015Italy2024-05-21
1016Japan2024-05-07
1017United Kingdom2024-05-08
1018Brazil2024-05-15
1019Italy2024-04-30
1020Australia2024-05-13
1021France2024-05-10
1022Germany2024-05-24
1023Canada2024-05-20
1024United Kingdom2024-05-15
1025Argentina2024-05-14
1026Italy2024-05-15
1027Japan2024-05-07
1028Australia2024-05-02
1029Russia2024-05-10
1030France2024-05-06
1031France2024-04-28
1032Argentina2024-05-10
1033India2024-05-09
1034France2024-05-23
1035Argentina2024-05-06
1036Italy2024-05-22
1037Italy2024-05-02
1038Brazil2024-05-11
1039Japan2024-05-21
1040Russia2024-05-04
1041Brazil2024-05-14
1042Japan2024-05-15
1043India2024-04-28
1044Spain2024-05-19
1045Italy2024-05-20
1046Australia2024-05-18
1047Germany2024-05-14
1048Brazil2024-05-11
1049Russia2024-05-03

On-Demand Data

NameIdCountryDate
Clifford D Royster1000Canada2024-05-23
Silvio S Ruta1001India2024-04-28
Francesco H Doe1002United Kingdom2024-05-16
Nicolas P Campain1003United Kingdom2024-05-09
Mayumi X Royster1004Russia2024-05-01
Jennifer X Ruta1005Italy2024-05-03
Octavia J Briddick1006Argentina2024-05-26
Greenwood P Slusarski1007Japan2024-05-26
Jeanfrancois P Maclead1008Australia2024-05-11
Smith R Ostrosky1009Argentina2024-05-08
Costa H Glick1010Australia2024-05-06
Leja J Ostrosky1011Spain2024-05-18
Francesco V Malet1012Japan2024-05-22
Emily Q Nicka1013United Kingdom2024-05-07
James Y Nicka1014Italy2024-05-02
Alejandro F Nestle1015Australia2024-04-30
Antonio U Butt1016United Kingdom2024-05-09
Kaitlin O Waycott1017Spain2024-05-21
David X Garufi1018Canada2024-05-01
Johnson Z Marrier1019Italy2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja G StensethSpainAnna Fali RENEWAL
Munro A RoysterBrazilOnyama Limba PROPOSAL
Aruna M DilliardRussiaBernardo Dominic NEW
Jeanfrancois O IturbideArgentinaBernardo Dominic RENEWAL
James Q DilliardJapanAsiya Javayant NEGOTIATION
Aruna K DoeUnited KingdomIvan Magalhaes RENEWAL
Maria U CaudyBrazilElwin Sharvill UNQUALIFIED
Ashley K NickaRussiaAsiya Javayant QUALIFIED
Jefferson B AlbaresIndiaOnyama Limba QUALIFIED
Maisha T GauchoJapanElwin Sharvill RENEWAL
Maria P NestleItalyAnna Fali QUALIFIED
Darci P WieserSpainElwin Sharvill UNQUALIFIED
Izzy J AlbaresBrazilXuxue Feng QUALIFIED
Deepesh R PaprockiAustraliaOnyama Limba UNQUALIFIED
Smith G StensethArgentinaIoni Bowcher PROPOSAL
Misaki W SaylorsAustraliaAsiya Javayant NEGOTIATION
Juan D NickaFranceStephen Shaw NEW
Sinclair F MarrierRussiaElwin Sharvill RENEWAL
Alejandro V DilliardArgentinaAnna Fali NEW
Isabel M VocelkaBrazilElwin Sharvill NEW
Jones Q AlbaresCanadaBernardo Dominic UNQUALIFIED
Nicolas Q StockhamBrazilStephen Shaw NEW
Francesco Q MaletArgentinaAmy Elsner PROPOSAL
Costa Y MaletBrazilIvan Magalhaes UNQUALIFIED
James G FigeroaArgentinaOnyama Limba RENEWAL
Juan K RulapaughBrazilBernardo Dominic PROPOSAL
Salvatore U WhobreyJapanXuxue Feng RENEWAL
Kaitlin V BowleyBrazilXuxue Feng UNQUALIFIED
Wickens C KuskoRussiaElwin Sharvill UNQUALIFIED
Johnson V BriddickGermanyAsiya Javayant NEGOTIATION
Aditya K RimGermanyBernardo Dominic NEW
Deepesh I VenereCanadaOnyama Limba PROPOSAL
Leja A TollnerBrazilOnyama Limba NEGOTIATION
Kaitlin V BriddickRussiaXuxue Feng QUALIFIED
Leon Z DoeItalyAmy Elsner PROPOSAL
Maria X DarakjyAustraliaAnna Fali NEW
Jefferson G VocelkaJapanAmy Elsner QUALIFIED
Rodrigues P OstroskyFranceXuxue Feng RENEWAL
Munro Q StensethArgentinaIoni Bowcher NEGOTIATION
Rodrigues U SlusarskiGermanyBernardo Dominic NEGOTIATION

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