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
Salvatore F PerinArgentinaAsiya Javayant QUALIFIED
Darci V RutaAustraliaElwin Sharvill QUALIFIED
Deepesh V BologniaBrazilStephen Shaw PROPOSAL
Kadeem I WieserJapanOnyama Limba QUALIFIED
Morrow O WhobreyAustraliaStephen Shaw UNQUALIFIED
Deepesh Q MaletAustraliaElwin Sharvill NEGOTIATION
Deepesh V MacleadFranceAmy Elsner NEW
Faith V SchemmerGermanyAnna Fali UNQUALIFIED
Aika H BologniaSpainAmy Elsner PROPOSAL
Jefferson Q RulapaughIndiaStephen Shaw NEGOTIATION
David W KuskoAustraliaAmy Elsner NEGOTIATION
Alejandro X PaprockiAustraliaAnna Fali UNQUALIFIED
Antonio Z AlbaresCanadaAsiya Javayant PROPOSAL
Darci I BriddickBrazilIoni Bowcher RENEWAL
Murillo C OstroskyJapanXuxue Feng UNQUALIFIED
Salvatore E BologniaGermanyAnna Fali UNQUALIFIED
Jennifer N WieserAustraliaIoni Bowcher QUALIFIED
Darci H WieserJapanAsiya Javayant PROPOSAL
Faith B NickaRussiaIoni Bowcher UNQUALIFIED
Ricardo K SaylorsRussiaIvan Magalhaes UNQUALIFIED
Stacey R MaletArgentinaStephen Shaw RENEWAL
Aditya E WhobreyGermanyAsiya Javayant NEGOTIATION
Francesco P SergiFranceIoni Bowcher NEW
Ricardo I MarrierIndiaStephen Shaw NEW
Maria V GauchoCanadaOnyama Limba NEGOTIATION
David R StensethCanadaStephen Shaw UNQUALIFIED
Misaki Y PoquetteJapanXuxue Feng NEW
Smith Z GarufiSpainIoni Bowcher PROPOSAL
Mujtaba A PerinBrazilXuxue Feng RENEWAL
Adams Y VenereSpainOnyama Limba NEW
Tony V ShinkoBrazilBernardo Dominic NEGOTIATION
Leon O VenereIndiaAmy Elsner UNQUALIFIED
Salvatore I SaylorsAustraliaAnna Fali PROPOSAL
Rodrigues A NestleGermanyStephen Shaw NEW
Claire Z CampainIndiaAsiya Javayant PROPOSAL
Kadeem T CampainRussiaBernardo Dominic PROPOSAL
Faith F NestleAustraliaXuxue Feng UNQUALIFIED
Jones Z FigeroaBrazilBernardo Dominic NEW
Munro N BologniaItalyXuxue Feng NEW
Kadeem N FlosiCanadaAnna Fali NEGOTIATION
Maisha J KuskoGermanyOnyama Limba NEGOTIATION
Ashley J GlickJapanIvan Magalhaes RENEWAL
Isabel O ChuiFranceIvan Magalhaes PROPOSAL
Munro C ChuiCanadaAnna Fali PROPOSAL
Mujtaba I VocelkaIndiaIoni Bowcher RENEWAL
Francesco O AlbaresGermanyAmy Elsner UNQUALIFIED
Izzy E IturbideCanadaAmy Elsner NEGOTIATION
Smith B VenereCanadaAsiya Javayant NEW
Costa P CaldareraAustraliaIoni Bowcher UNQUALIFIED
Emily V TollnerGermanyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire E DilliardItalyXuxue Feng UNQUALIFIED
Jeanfrancois G GlickItalyAmy Elsner RENEWAL
Stacey P FerenczItalyElwin Sharvill PROPOSAL
Aika L DarakjyRussiaIoni Bowcher NEW
Mujtaba Y WieserIndiaStephen Shaw UNQUALIFIED
Isabel Y WhobreyAustraliaBernardo Dominic QUALIFIED
Isabel C WhobreyBrazilBernardo Dominic NEW
Aditya U NickaFranceOnyama Limba RENEWAL
Wickens G VenereJapanAnna Fali UNQUALIFIED
Munro D ShinkoItalyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire T IturbideJapan2025-04-20Morlong Associates NEGOTIATION42Ivan Magalhaes
1001Maria D GillianRussia2025-04-25Dorl, James J Esq QUALIFIED16Ioni Bowcher
1002Aruna M CampainBrazil2025-04-26Dorl, James J Esq NEW84Amy Elsner
1003Tony S RoysterArgentina2025-04-08Chanay, Jeffrey A Esq UNQUALIFIED11Anna Fali
1004Claire I PaprockiSpain2025-04-25Morlong Associates QUALIFIED58Ioni Bowcher
1005Silvio R FollerCanada2025-04-29Chemel, James L Cpa UNQUALIFIED69Onyama Limba
1006Izzy A VenereFrance2025-04-04Truhlar And Truhlar Attys NEW20Bernardo Dominic
1007Mayumi U WaycottRussia2025-04-10Feiner Bros NEW98Amy Elsner
1008Smith H InouyeSpain2025-04-17Feiner Bros QUALIFIED14Ioni Bowcher
1009Smith J RulapaughItaly2025-04-23Benton, John B Jr NEGOTIATION30Ivan Magalhaes
1010Aruna F RutaItaly2025-04-26King, Christopher A Esq QUALIFIED9Anna Fali
1011Greenwood P NestleSpain2025-04-28Feiner Bros PROPOSAL50Elwin Sharvill
1012Claire Q InouyeGermany2025-04-29Chemel, James L Cpa NEW48Ivan Magalhaes
1013Alejandro P AlbaresUnited Kingdom2025-04-20Chanay, Jeffrey A Esq RENEWAL99Anna Fali
1014Aika J RimAustralia2025-04-15Feiner Bros NEGOTIATION24Anna Fali
1015Wickens G CaudyBrazil2025-04-28Benton, John B Jr NEW57Ioni Bowcher
1016Sinclair O WaycottUnited Kingdom2025-04-08Benton, John B Jr NEGOTIATION52Onyama Limba
1017Leja Y KuskoItaly2025-04-15Dorl, James J Esq UNQUALIFIED62Onyama Limba
1018Isabel A MaletUnited Kingdom2025-04-12Dorl, James J Esq UNQUALIFIED16Ioni Bowcher
1019Faith Q NickaAustralia2025-04-10Chanay, Jeffrey A Esq QUALIFIED95Ioni Bowcher
1020Adams E DarakjyJapan2025-04-11Morlong Associates NEGOTIATION73Xuxue Feng
1021Jeanfrancois I ShinkoCanada2025-04-13King, Christopher A Esq UNQUALIFIED24Asiya Javayant
1022Jennifer K CaudyCanada2025-04-05Truhlar And Truhlar Attys RENEWAL66Bernardo Dominic
1023Jones S RulapaughArgentina2025-04-13Truhlar And Truhlar Attys RENEWAL41Asiya Javayant
1024Silvio R CampainBrazil2025-04-28Morlong Associates NEW79Asiya Javayant
1025Mayumi A MaletAustralia2025-04-29Morlong Associates QUALIFIED34Xuxue Feng
1026Murillo H StensethRussia2025-04-10Truhlar And Truhlar Attys NEGOTIATION80Bernardo Dominic
1027Juan U InouyeItaly2025-04-21Chapman, Ross E Esq NEW57Xuxue Feng
1028Stacey Y WieserCanada2025-04-06Chapman, Ross E Esq QUALIFIED21Ioni Bowcher
1029Salvatore M RoysterItaly2025-04-26Commercial Press PROPOSAL97Bernardo Dominic
1030Mujtaba O WhobreyFrance2025-04-26Commercial Press NEW57Stephen Shaw
1031Maria Y CaudySpain2025-04-22Buckley Miller Wright RENEWAL90Anna Fali
1032Tony L SaylorsCanada2025-04-25Morlong Associates PROPOSAL32Bernardo Dominic
1033Maisha G ChuiArgentina2025-04-07Dorl, James J Esq NEGOTIATION72Asiya Javayant
1034Adams B RimArgentina2025-04-29Chemel, James L Cpa QUALIFIED26Elwin Sharvill
1035Antonio H ButtGermany2025-04-17Feiner Bros UNQUALIFIED33Amy Elsner
1036Mujtaba O StensethRussia2025-04-28Chanay, Jeffrey A Esq QUALIFIED75Anna Fali
1037Sinclair Q PoquetteIndia2025-04-03Feiner Bros RENEWAL43Elwin Sharvill
1038Murillo O DilliardIndia2025-04-12Morlong Associates UNQUALIFIED65Asiya Javayant
1039Morrow Z MaletBrazil2025-04-01Chanay, Jeffrey A Esq UNQUALIFIED37Elwin Sharvill
1040Sinclair O GillianBrazil2025-04-09Buckley Miller Wright QUALIFIED99Ioni Bowcher
1041Silvio C ChuiRussia2025-04-04Benton, John B Jr NEW34Bernardo Dominic
1042Greenwood U BowleyRussia2025-04-11Chemel, James L Cpa PROPOSAL47Elwin Sharvill
1043Misaki M OstroskyAustralia2025-04-25Commercial Press PROPOSAL10Onyama Limba
1044Johnson A AlbaresItaly2025-04-18Dorl, James J Esq PROPOSAL48Stephen Shaw
1045Stacey D MarrierAustralia2025-04-22Chemel, James L Cpa QUALIFIED99Elwin Sharvill
1046Nicolas W MarrierArgentina2025-04-26Dorl, James J Esq RENEWAL19Anna Fali
1047Costa K AmigonJapan2025-04-28Chapman, Ross E Esq UNQUALIFIED29Ivan Magalhaes
1048Nicolas Z VocelkaUnited Kingdom2025-04-29Printing Dimensions RENEWAL86Onyama Limba
1049Juan C OstroskyItaly2025-04-28Feltz Printing Service UNQUALIFIED56Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Francesco D IturbideIndiaXuxue Feng PROPOSAL
Ivar K MacleadAustraliaAmy Elsner UNQUALIFIED
Isabel J MorascaCanadaAmy Elsner NEW
Arvin V StensethBrazilElwin Sharvill PROPOSAL
Smith A CaudyFranceStephen Shaw UNQUALIFIED
Jennifer Z PerinGermanyStephen Shaw UNQUALIFIED
Alejandro B DarakjySpainElwin Sharvill NEW
Darci E StensethUnited KingdomAmy Elsner PROPOSAL
Kaitlin X MaletGermanyXuxue Feng NEW
Smith N RulapaughGermanyAmy Elsner PROPOSAL
Ashley M DoeSpainOnyama Limba NEGOTIATION
Leja J MacleadAustraliaIoni Bowcher NEGOTIATION
Jones H InouyeIndiaAsiya Javayant QUALIFIED
Cody U IturbideCanadaOnyama Limba UNQUALIFIED
Mayumi V RulapaughUnited KingdomOnyama Limba RENEWAL
Ricardo N IturbideGermanyStephen Shaw UNQUALIFIED
James M AmigonJapanBernardo Dominic NEW
Jeanfrancois I FerenczGermanyXuxue Feng NEW
Johnson M BologniaRussiaXuxue Feng PROPOSAL
Misaki K CampainUnited KingdomOnyama Limba RENEWAL
Alejandro Y AmigonSpainElwin Sharvill UNQUALIFIED
Nicolas Y ShinkoFranceIvan Magalhaes UNQUALIFIED
Rodrigues W DarakjyRussiaStephen Shaw QUALIFIED
Adams W AmigonCanadaBernardo Dominic NEGOTIATION
Alejandro H FlosiArgentinaAnna Fali NEW
Sinclair X SlusarskiIndiaAsiya Javayant RENEWAL
Isabel N GillianUnited KingdomIoni Bowcher PROPOSAL
Salvatore X CampainItalyBernardo Dominic RENEWAL
Jones J PaprockiUnited KingdomIoni Bowcher QUALIFIED
Ivar Q NickaCanadaBernardo Dominic NEW
Arvin W SergiGermanyBernardo Dominic NEGOTIATION
Stacey R StensethSpainXuxue Feng RENEWAL
Ricardo P AmigonIndiaAsiya Javayant UNQUALIFIED
Mayumi G WhobreyGermanyXuxue Feng RENEWAL
Murillo X WaycottGermanyBernardo Dominic NEW
Greenwood S WieserBrazilAnna Fali NEGOTIATION
Alejandro Z StockhamItalyOnyama Limba QUALIFIED
Leja T StockhamCanadaBernardo Dominic NEW
Ashley Z VocelkaItalyStephen Shaw RENEWAL
Jones G ButtFranceStephen Shaw RENEWAL
Emily Y BologniaItalyAmy Elsner UNQUALIFIED
Aika Z GauchoFranceAnna Fali NEW
Wickens H DilliardFranceAmy Elsner NEGOTIATION
Ivar P DarakjyRussiaBernardo Dominic PROPOSAL
Alejandro B FigeroaSpainIoni Bowcher UNQUALIFIED
Nicolas P MacleadSpainIvan Magalhaes NEW
Maria X ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Misaki K CaldareraArgentinaBernardo Dominic PROPOSAL
Munro O FollerBrazilBernardo Dominic QUALIFIED
Silvio C PoquetteCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Ivar C Stenseth
Leja O Bolognia
Kadeem D Marrier
Francesco F Saylors
Murillo M Bolognia
Jefferson U Amigon
Claire W Maclead
Greenwood L Darakjy
Cody V Vocelka
Nicolas X Morasca
David K Albares
Cody E Nicka
Rodrigues G Campain
Leon O Rulapaugh
Julie T Marrier
Ivar K Figeroa
Munro G Kolmetz
Julie B Albares
Aruna R Schemmer
Emily R Doe
Aruna K Sergi
Francesco H Inouye
Ivar P Kolmetz
Deepesh W Rim
Costa H Ostrosky
Stacey J Tollner
Greenwood C Chui
Johnson O Saylors
Antonio H Kolmetz
Mujtaba Y Butt
Jennifer T Garufi
Ricardo P Bowley
Octavia H Campain
David K Kolmetz
Chavez J Gaucho
Jeanfrancois L Malet
Johnson U Waycott
Juan M Ruta
Darci Z Glick
Kadeem C Nicka
Maisha N Darakjy
Kadeem Y Saylors
Salvatore R Glick
Aika J Flosi
Stacey T Gaucho
Nicolas T Nicka
Adams B Gillian
Tony P Whobrey
Wickens R Bolognia
Morrow E Ostrosky
IdCountryDate
1000Japan2025-04-09
1001France2025-04-10
1002Japan2025-04-28
1003India2025-04-30
1004United Kingdom2025-04-03
1005Brazil2025-04-06
1006Russia2025-04-16
1007France2025-04-11
1008Australia2025-04-08
1009Italy2025-04-07
1010India2025-04-27
1011Spain2025-04-03
1012Germany2025-04-27
1013Spain2025-04-06
1014France2025-04-29
1015Spain2025-04-10
1016Argentina2025-04-20
1017Argentina2025-04-24
1018France2025-04-15
1019Canada2025-04-25
1020United Kingdom2025-04-23
1021Brazil2025-04-24
1022Japan2025-04-24
1023Germany2025-04-23
1024Italy2025-04-07
1025Argentina2025-04-12
1026Argentina2025-04-05
1027United Kingdom2025-04-13
1028United Kingdom2025-04-02
1029Spain2025-04-25
1030Australia2025-04-22
1031Australia2025-04-08
1032United Kingdom2025-04-20
1033Brazil2025-04-12
1034India2025-04-05
1035Argentina2025-04-17
1036United Kingdom2025-04-28
1037Brazil2025-04-26
1038Spain2025-04-21
1039Germany2025-04-30
1040Canada2025-04-17
1041Germany2025-04-25
1042Spain2025-04-10
1043Germany2025-04-18
1044France2025-04-10
1045United Kingdom2025-04-23
1046Canada2025-04-24
1047Australia2025-04-26
1048France2025-04-08
1049Germany2025-04-02

On-Demand Data

NameIdCountryDate
Wickens V Caudy1000Russia2025-04-18
Morrow E Ostrosky1001Brazil2025-04-10
Kaitlin Z Foller1002Germany2025-04-23
David L Maclead1003United Kingdom2025-04-29
Aruna G Chui1004Japan2025-04-09
Jefferson O Bolognia1005Germany2025-04-04
Greenwood Q Butt1006Italy2025-04-29
Chavez Q Rulapaugh1007Canada2025-04-04
Maria R Campain1008France2025-04-07
Wickens Y Ferencz1009Russia2025-04-16
Emily V Darakjy1010Spain2025-04-09
Leja E Butt1011Brazil2025-04-20
Wickens G Poquette1012Spain2025-04-19
Faith W Caldarera1013Germany2025-04-11
Claire Y Doe1014India2025-04-18
Emily T Albares1015Canada2025-04-22
David G Ruta1016Brazil2025-04-01
Isabel S Waycott1017Japan2025-04-06
Faith U Schemmer1018Russia2025-04-28
David C Bowley1019Argentina2025-04-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya P RutaFranceIoni Bowcher PROPOSAL
Aika V DarakjyUnited KingdomAsiya Javayant PROPOSAL
Mayumi A GarufiAustraliaStephen Shaw QUALIFIED
Isabel C ButtUnited KingdomElwin Sharvill NEW
Darci O AmigonFranceBernardo Dominic UNQUALIFIED
Chavez A WieserIndiaXuxue Feng UNQUALIFIED
Claire I AlbaresBrazilAnna Fali PROPOSAL
Smith T SchemmerSpainAmy Elsner NEW
Aruna S KolmetzSpainBernardo Dominic UNQUALIFIED
Izzy V StensethJapanAmy Elsner PROPOSAL
Aruna S ButtArgentinaIoni Bowcher UNQUALIFIED
Chavez Z SchemmerArgentinaElwin Sharvill QUALIFIED
Jeanfrancois Z WhobreySpainAnna Fali UNQUALIFIED
Aika A GillianArgentinaStephen Shaw NEW
Leon D InouyeIndiaOnyama Limba NEW
Rodrigues K KuskoGermanyBernardo Dominic QUALIFIED
Silvio B SergiArgentinaOnyama Limba UNQUALIFIED
Costa Y GauchoIndiaAnna Fali UNQUALIFIED
Aditya W MorascaIndiaAmy Elsner RENEWAL
Claire H PerinUnited KingdomOnyama Limba RENEWAL
Jefferson T RulapaughSpainAmy Elsner NEW
Johnson C OldroydBrazilBernardo Dominic PROPOSAL
Ashley T MaletUnited KingdomOnyama Limba NEGOTIATION
Jefferson C BowleyJapanBernardo Dominic QUALIFIED
Leon D ButtJapanElwin Sharvill RENEWAL
Jennifer C BowleyItalyIvan Magalhaes NEGOTIATION
Nicolas I ShinkoSpainIvan Magalhaes QUALIFIED
Clifford P PerinAustraliaStephen Shaw UNQUALIFIED
Costa J CaudyIndiaBernardo Dominic PROPOSAL
James P VocelkaUnited KingdomAsiya Javayant PROPOSAL
Emily N SergiFranceIoni Bowcher NEW
Mujtaba G ButtRussiaElwin Sharvill UNQUALIFIED
Leon O MaletBrazilXuxue Feng PROPOSAL
Mayumi D DarakjyItalyXuxue Feng UNQUALIFIED
Aditya F AmigonUnited KingdomXuxue Feng NEGOTIATION
Misaki X SlusarskiArgentinaIoni Bowcher NEGOTIATION
Adams X SlusarskiSpainAnna Fali NEW
Ashley I StockhamJapanIoni Bowcher PROPOSAL
Jones D AlbaresFranceIoni Bowcher UNQUALIFIED
Faith S SchemmerItalyOnyama Limba RENEWAL

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