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
Leon N FlosiGermanyIvan Magalhaes QUALIFIED
Claire K WaycottJapanStephen Shaw UNQUALIFIED
Aditya B CampainRussiaOnyama Limba UNQUALIFIED
Faith J PerinRussiaBernardo Dominic NEGOTIATION
Smith Y InouyeRussiaAsiya Javayant NEW
Kadeem N CaldareraUnited KingdomStephen Shaw NEW
Murillo N MacleadBrazilOnyama Limba UNQUALIFIED
Isabel Z GarufiArgentinaAmy Elsner RENEWAL
Juan N OstroskyItalyBernardo Dominic RENEWAL
Ivar Y AmigonRussiaStephen Shaw RENEWAL
Maisha Z CaudyUnited KingdomStephen Shaw NEW
Munro M GauchoArgentinaStephen Shaw PROPOSAL
Ashley D GlickRussiaOnyama Limba QUALIFIED
Faith D MacleadCanadaBernardo Dominic QUALIFIED
Kadeem B GillianSpainElwin Sharvill PROPOSAL
Mujtaba K DoeAustraliaAnna Fali RENEWAL
Murillo U MacleadGermanyElwin Sharvill QUALIFIED
Julie W NickaIndiaIvan Magalhaes RENEWAL
Julie X NestleAustraliaIoni Bowcher QUALIFIED
Isabel G PaprockiUnited KingdomAnna Fali QUALIFIED
Ashley Q FlosiCanadaAnna Fali UNQUALIFIED
Clifford N OldroydItalyOnyama Limba RENEWAL
Leja Q MorascaJapanIvan Magalhaes NEGOTIATION
Octavia Y RoysterSpainBernardo Dominic PROPOSAL
Julie Q AmigonArgentinaOnyama Limba RENEWAL
Arvin O GlickItalyAsiya Javayant UNQUALIFIED
Sinclair R BriddickSpainStephen Shaw PROPOSAL
Chavez J MorascaIndiaAmy Elsner PROPOSAL
Kaitlin Z OstroskyArgentinaAnna Fali QUALIFIED
Jones U SlusarskiCanadaAnna Fali NEGOTIATION
Morrow A MaletItalyAmy Elsner NEW
Misaki B FollerIndiaBernardo Dominic NEGOTIATION
Munro I ShinkoFranceIoni Bowcher NEGOTIATION
Alejandro J BologniaRussiaIoni Bowcher NEGOTIATION
Jones D MaletItalyAsiya Javayant PROPOSAL
Ashley O MorascaSpainAmy Elsner QUALIFIED
Ricardo R ShinkoRussiaXuxue Feng NEGOTIATION
Jefferson E SergiCanadaBernardo Dominic RENEWAL
Claire C NickaFranceAmy Elsner QUALIFIED
Sinclair S KuskoArgentinaAsiya Javayant QUALIFIED
Cody S MaletGermanyOnyama Limba NEGOTIATION
Murillo Z FlosiArgentinaStephen Shaw RENEWAL
Jeanfrancois Q SergiJapanBernardo Dominic NEW
Ricardo F GarufiCanadaStephen Shaw NEGOTIATION
Mayumi F CampainSpainAnna Fali NEGOTIATION
Jones M OstroskySpainAsiya Javayant UNQUALIFIED
Smith V KuskoAustraliaAsiya Javayant QUALIFIED
Smith Y DoeFranceIoni Bowcher NEGOTIATION
Kaitlin T MaletBrazilOnyama Limba QUALIFIED
Smith D WhobreyUnited KingdomAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Silvio N CampainIndiaIoni Bowcher RENEWAL
Tony A ShinkoJapanOnyama Limba NEGOTIATION
Ivar U BowleyIndiaBernardo Dominic RENEWAL
Arvin P FerenczBrazilElwin Sharvill UNQUALIFIED
Salvatore R WaycottGermanyElwin Sharvill NEGOTIATION
Ivar J PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo J WhobreyBrazilOnyama Limba NEGOTIATION
Munro C BologniaIndiaStephen Shaw QUALIFIED
Kaitlin D ShinkoFranceXuxue Feng NEGOTIATION
Ricardo I VocelkaIndiaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio A ShinkoGermany2024-06-05Truhlar And Truhlar Attys RENEWAL18Anna Fali
1001Claire M SergiSpain2024-06-06Benton, John B Jr NEGOTIATION57Ioni Bowcher
1002Deepesh V RulapaughArgentina2024-06-21Commercial Press NEGOTIATION78Bernardo Dominic
1003Francesco W RimIndia2024-06-21Benton, John B Jr UNQUALIFIED3Anna Fali
1004Isabel W SaylorsIndia2024-05-26Rangoni Of Florence NEGOTIATION39Bernardo Dominic
1005Juan Z RoysterIndia2024-06-05Buckley Miller Wright QUALIFIED43Ivan Magalhaes
1006Cody C DilliardRussia2024-06-05Commercial Press QUALIFIED9Elwin Sharvill
1007Costa S NestleJapan2024-05-27Buckley Miller Wright NEW13Amy Elsner
1008Wickens W RimSpain2024-06-14Printing Dimensions UNQUALIFIED14Onyama Limba
1009Aruna S MacleadItaly2024-06-11Rousseaux, Michael Esq NEW61Asiya Javayant
1010Smith N PerinIndia2024-06-11Chemel, James L Cpa UNQUALIFIED37Stephen Shaw
1011Mujtaba X SaylorsCanada2024-06-03Benton, John B Jr QUALIFIED53Asiya Javayant
1012Juan J MaletCanada2024-06-01Chemel, James L Cpa NEGOTIATION69Bernardo Dominic
1013Aika P RimGermany2024-06-20King, Christopher A Esq PROPOSAL48Ivan Magalhaes
1014Mayumi I RoysterItaly2024-05-29Morlong Associates PROPOSAL21Amy Elsner
1015Arvin Y SchemmerJapan2024-05-31Chemel, James L Cpa NEW55Ivan Magalhaes
1016Cody P MaletSpain2024-05-30Rousseaux, Michael Esq UNQUALIFIED63Onyama Limba
1017Wickens V KuskoIndia2024-06-08Feiner Bros PROPOSAL58Anna Fali
1018Kaitlin M KolmetzRussia2024-05-27Chanay, Jeffrey A Esq RENEWAL51Onyama Limba
1019Stacey S MacleadJapan2024-06-15Feltz Printing Service UNQUALIFIED88Anna Fali
1020Greenwood Q FerenczItaly2024-06-13Commercial Press UNQUALIFIED38Anna Fali
1021Misaki X KolmetzItaly2024-06-14Feiner Bros NEGOTIATION10Xuxue Feng
1022Stacey R VocelkaBrazil2024-05-31Morlong Associates QUALIFIED96Onyama Limba
1023Clifford G ChuiRussia2024-06-16King, Christopher A Esq PROPOSAL28Bernardo Dominic
1024Wickens P AlbaresItaly2024-05-29King, Christopher A Esq NEGOTIATION46Ivan Magalhaes
1025Sinclair L NickaFrance2024-06-05Rousseaux, Michael Esq UNQUALIFIED17Amy Elsner
1026Wickens F TollnerUnited Kingdom2024-06-19Dorl, James J Esq QUALIFIED63Stephen Shaw
1027Tony K OldroydRussia2024-05-30Chapman, Ross E Esq PROPOSAL92Amy Elsner
1028Darci Z GillianJapan2024-06-10Chemel, James L Cpa UNQUALIFIED96Anna Fali
1029Faith D CaudyFrance2024-06-18King, Christopher A Esq NEGOTIATION17Stephen Shaw
1030Maisha B FigeroaAustralia2024-05-23Truhlar And Truhlar Attys NEW93Stephen Shaw
1031Juan G FlosiJapan2024-06-04Feiner Bros QUALIFIED64Bernardo Dominic
1032Aika F SaylorsGermany2024-06-06Chemel, James L Cpa RENEWAL55Onyama Limba
1033Isabel H InouyeUnited Kingdom2024-06-01Benton, John B Jr NEW71Xuxue Feng
1034Aika D IturbideCanada2024-06-16Rangoni Of Florence NEW13Anna Fali
1035Silvio K FerenczBrazil2024-06-06Dorl, James J Esq UNQUALIFIED55Ivan Magalhaes
1036Greenwood X KolmetzCanada2024-06-13Commercial Press RENEWAL50Xuxue Feng
1037Chavez K PerinFrance2024-06-19Rousseaux, Michael Esq PROPOSAL69Ioni Bowcher
1038David D AlbaresFrance2024-06-05Printing Dimensions NEGOTIATION80Ioni Bowcher
1039Emily B WaycottUnited Kingdom2024-06-02Feiner Bros QUALIFIED11Anna Fali
1040Mayumi N WieserJapan2024-06-21Commercial Press NEGOTIATION18Ioni Bowcher
1041Greenwood J OldroydJapan2024-05-23Chemel, James L Cpa UNQUALIFIED61Xuxue Feng
1042Deepesh N ChuiAustralia2024-06-12Benton, John B Jr PROPOSAL70Stephen Shaw
1043Sinclair L DarakjyGermany2024-06-02Chapman, Ross E Esq NEW32Anna Fali
1044Mayumi X GarufiBrazil2024-06-20Chemel, James L Cpa PROPOSAL66Xuxue Feng
1045Wickens K MacleadBrazil2024-06-05Printing Dimensions QUALIFIED71Xuxue Feng
1046Alejandro R RoysterFrance2024-06-10Buckley Miller Wright RENEWAL25Bernardo Dominic
1047Maria Q IturbideIndia2024-06-06Commercial Press NEGOTIATION34Anna Fali
1048Maria B VenereArgentina2024-06-15Printing Dimensions NEW44Asiya Javayant
1049Nicolas U WaycottSpain2024-05-26Chanay, Jeffrey A Esq QUALIFIED85Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Sinclair G KuskoGermanyIvan Magalhaes QUALIFIED
Claire L SlusarskiRussiaXuxue Feng UNQUALIFIED
Ivar O StensethGermanyBernardo Dominic QUALIFIED
Mujtaba C CaldareraCanadaIvan Magalhaes PROPOSAL
Emily L BologniaItalyOnyama Limba RENEWAL
Claire G StensethUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois J FollerAustraliaIoni Bowcher PROPOSAL
Darci H RutaBrazilElwin Sharvill NEGOTIATION
Isabel W WaycottArgentinaAnna Fali NEGOTIATION
Emily N MarrierUnited KingdomXuxue Feng PROPOSAL
Mayumi P MorascaItalyAsiya Javayant NEGOTIATION
Nicolas A NestleCanadaXuxue Feng NEGOTIATION
Nicolas D VenereIndiaStephen Shaw PROPOSAL
Antonio P MacleadJapanAnna Fali NEGOTIATION
Octavia C RoysterCanadaIoni Bowcher UNQUALIFIED
Isabel K VocelkaArgentinaAsiya Javayant NEGOTIATION
Morrow S FerenczUnited KingdomIoni Bowcher NEW
David M StensethAustraliaIoni Bowcher QUALIFIED
Jeanfrancois V FigeroaRussiaIvan Magalhaes UNQUALIFIED
Juan G WhobreyUnited KingdomXuxue Feng RENEWAL
Leja Y AmigonArgentinaAnna Fali QUALIFIED
Leja E StockhamGermanyBernardo Dominic QUALIFIED
Clifford Y StockhamIndiaAnna Fali UNQUALIFIED
Mujtaba Y ButtJapanIvan Magalhaes NEW
Kadeem K KuskoArgentinaIvan Magalhaes QUALIFIED
Mujtaba X DarakjyArgentinaOnyama Limba NEW
Emily N PaprockiSpainIoni Bowcher UNQUALIFIED
Silvio C MarrierItalyAnna Fali UNQUALIFIED
Maria G PaprockiItalyIvan Magalhaes NEGOTIATION
Jefferson J FollerSpainIoni Bowcher RENEWAL
Jones G KuskoCanadaIoni Bowcher NEGOTIATION
Ashley C SergiUnited KingdomIoni Bowcher QUALIFIED
Julie K IturbideArgentinaAnna Fali UNQUALIFIED
Jeanfrancois V RulapaughArgentinaElwin Sharvill NEGOTIATION
Emily A KuskoFranceStephen Shaw UNQUALIFIED
Tony Z FlosiFranceBernardo Dominic UNQUALIFIED
Stacey H WhobreyRussiaElwin Sharvill PROPOSAL
Aditya W VocelkaRussiaStephen Shaw RENEWAL
Kaitlin A PaprockiRussiaAmy Elsner QUALIFIED
Costa V RimSpainAsiya Javayant UNQUALIFIED
James H RimIndiaIoni Bowcher NEGOTIATION
Ashley H AmigonIndiaStephen Shaw QUALIFIED
Ivar M MorascaIndiaAsiya Javayant QUALIFIED
Nicolas G DilliardCanadaAmy Elsner QUALIFIED
Darci C IturbideAustraliaBernardo Dominic RENEWAL
Smith S WaycottUnited KingdomAnna Fali NEW
David Y FollerGermanyElwin Sharvill PROPOSAL
Leon I NickaCanadaBernardo Dominic PROPOSAL
Aditya M IturbideItalyIvan Magalhaes NEGOTIATION
Jeanfrancois V SaylorsItalyOnyama Limba QUALIFIED
Frozen Columns
Name
Costa K Caudy
James G Stenseth
Costa F Maclead
Ivar B Tollner
David I Maclead
Emily Z Perin
Antonio M Sergi
Mujtaba B Stenseth
Aruna J Amigon
Silvio F Caldarera
Emily Q Darakjy
Aika V Dilliard
Emily F Bowley
Mayumi P Amigon
Jefferson K Kolmetz
Munro R Ruta
Morrow Y Caldarera
Antonio K Vocelka
Munro E Morasca
Salvatore P Tollner
Clifford R Stockham
Rodrigues U Figeroa
Clifford C Poquette
Nicolas K Tollner
Greenwood V Garufi
Jeanfrancois T Albares
Johnson E Doe
Munro P Sergi
Wickens P Oldroyd
Julie O Waycott
Maria P Nestle
Jennifer Y Stenseth
Salvatore S Flosi
Faith B Waycott
Maisha K Marrier
Stacey C Gaucho
Antonio S Malet
Leja I Royster
Julie K Darakjy
Cody T Morasca
Adams S Maclead
Morrow V Flosi
Aditya B Amigon
Adams N Royster
Ashley L Malet
Salvatore E Albares
Salvatore I Rim
Chavez M Foller
Jeanfrancois U Venere
Mayumi U Vocelka
IdCountryDate
1000France2024-06-06
1001Argentina2024-06-18
1002Germany2024-06-20
1003Spain2024-06-20
1004Russia2024-06-05
1005Germany2024-06-07
1006United Kingdom2024-06-08
1007United Kingdom2024-06-20
1008Canada2024-06-06
1009Russia2024-06-15
1010Australia2024-06-20
1011Argentina2024-06-21
1012Japan2024-06-07
1013Australia2024-06-08
1014India2024-06-18
1015Italy2024-06-14
1016Canada2024-05-27
1017Spain2024-06-04
1018Germany2024-05-28
1019United Kingdom2024-06-21
1020Canada2024-06-09
1021Japan2024-06-17
1022Italy2024-06-04
1023Brazil2024-05-23
1024Spain2024-05-25
1025India2024-06-04
1026Germany2024-06-06
1027Australia2024-06-16
1028Canada2024-06-02
1029India2024-06-05
1030Argentina2024-06-09
1031India2024-05-25
1032Argentina2024-06-06
1033Russia2024-06-09
1034Japan2024-06-01
1035France2024-06-14
1036Australia2024-06-16
1037Brazil2024-06-18
1038Argentina2024-06-07
1039Spain2024-06-16
1040United Kingdom2024-06-13
1041United Kingdom2024-06-02
1042Australia2024-06-15
1043Italy2024-06-19
1044United Kingdom2024-05-27
1045Canada2024-06-08
1046Argentina2024-06-03
1047Canada2024-05-29
1048France2024-05-31
1049Italy2024-06-02

On-Demand Data

NameIdCountryDate
Darci E Kusko1000Brazil2024-06-07
Juan Y Whobrey1001United Kingdom2024-06-14
Nicolas S Rulapaugh1002Canada2024-06-07
Mujtaba Y Stockham1003Spain2024-06-11
Jefferson U Foller1004Spain2024-06-06
Maisha T Rim1005Argentina2024-06-09
Misaki T Wieser1006Russia2024-06-13
Stacey G Morasca1007India2024-06-05
Leja R Malet1008Japan2024-06-07
Chavez C Rulapaugh1009Argentina2024-06-16
Greenwood A Foller1010United Kingdom2024-05-29
Maria A Bowley1011Germany2024-06-15
Aruna L Gillian1012Japan2024-05-27
Maisha U Tollner1013Spain2024-06-10
Kaitlin Y Butt1014Japan2024-06-20
Johnson Z Nestle1015India2024-06-06
Arvin L Darakjy1016United Kingdom2024-06-04
Sinclair S Inouye1017Argentina2024-06-17
Jeanfrancois D Kusko1018Germany2024-05-23
Faith K Paprocki1019Italy2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez T BriddickIndiaBernardo Dominic QUALIFIED
Julie X KolmetzUnited KingdomAsiya Javayant RENEWAL
Kadeem Z VocelkaSpainOnyama Limba NEW
Claire G MarrierBrazilAmy Elsner PROPOSAL
Salvatore J ButtGermanyStephen Shaw UNQUALIFIED
Jones K AlbaresRussiaIoni Bowcher UNQUALIFIED
Johnson X RoysterBrazilXuxue Feng NEW
Aditya U GlickAustraliaStephen Shaw PROPOSAL
Francesco E NestleFranceIvan Magalhaes NEGOTIATION
Ashley K NestleRussiaAsiya Javayant NEGOTIATION
Salvatore T DilliardSpainBernardo Dominic RENEWAL
Leja P WieserAustraliaXuxue Feng RENEWAL
Darci W SchemmerUnited KingdomAmy Elsner NEGOTIATION
Wickens I WhobreyJapanAsiya Javayant PROPOSAL
Silvio K DoeUnited KingdomAmy Elsner PROPOSAL
Munro F KolmetzRussiaBernardo Dominic PROPOSAL
Kadeem N KolmetzBrazilAnna Fali RENEWAL
Francesco M ButtBrazilOnyama Limba PROPOSAL
Murillo G CampainItalyIvan Magalhaes RENEWAL
Cody W MaletGermanyOnyama Limba UNQUALIFIED
Jones R StensethIndiaXuxue Feng UNQUALIFIED
Chavez V CampainFranceOnyama Limba PROPOSAL
Cody W WaycottFranceXuxue Feng UNQUALIFIED
Sinclair F OldroydRussiaIoni Bowcher RENEWAL
David N BriddickBrazilStephen Shaw PROPOSAL
Maisha U DoeRussiaXuxue Feng UNQUALIFIED
Ashley W WhobreyIndiaAsiya Javayant UNQUALIFIED
Adams E MaletJapanOnyama Limba PROPOSAL
Emily X WaycottAustraliaOnyama Limba NEGOTIATION
Jones R FlosiFranceAsiya Javayant NEW
Ricardo C SlusarskiFranceIoni Bowcher RENEWAL
Leja Q PaprockiJapanElwin Sharvill NEGOTIATION
Murillo M FlosiUnited KingdomStephen Shaw UNQUALIFIED
Deepesh G KuskoFranceAnna Fali QUALIFIED
Sinclair P CaldareraArgentinaIvan Magalhaes NEGOTIATION
Claire V SchemmerItalyAnna Fali NEW
Arvin V TollnerArgentinaAnna Fali RENEWAL
Sinclair V TollnerJapanIvan Magalhaes RENEWAL
Ashley R GlickRussiaAmy Elsner NEGOTIATION
Izzy J MaletArgentinaIoni Bowcher 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>