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
Kadeem G ShinkoRussiaElwin Sharvill UNQUALIFIED
Chavez H OldroydBrazilStephen Shaw NEW
Sinclair J MaletSpainIvan Magalhaes UNQUALIFIED
Murillo C NestleBrazilIvan Magalhaes NEW
Ashley R SchemmerSpainIoni Bowcher NEGOTIATION
Johnson I WhobreySpainXuxue Feng PROPOSAL
Silvio O BriddickCanadaIoni Bowcher PROPOSAL
Aditya G InouyeRussiaIoni Bowcher PROPOSAL
Costa S PaprockiAustraliaStephen Shaw PROPOSAL
Costa G InouyeJapanBernardo Dominic NEGOTIATION
Ivar X CampainSpainStephen Shaw NEGOTIATION
Nicolas Q GlickBrazilAnna Fali RENEWAL
Wickens F WaycottBrazilIvan Magalhaes QUALIFIED
Munro B KuskoItalyAmy Elsner QUALIFIED
Deepesh G KolmetzUnited KingdomBernardo Dominic QUALIFIED
Emily O MorascaUnited KingdomBernardo Dominic RENEWAL
Octavia Q InouyeItalyAnna Fali PROPOSAL
Francesco W InouyeIndiaAsiya Javayant UNQUALIFIED
Jennifer Z PoquetteItalyBernardo Dominic RENEWAL
Octavia D FlosiJapanElwin Sharvill RENEWAL
Johnson D DoeFranceAnna Fali QUALIFIED
Deepesh V OstroskyIndiaElwin Sharvill NEW
Leon S WhobreyIndiaOnyama Limba RENEWAL
Cody B FigeroaRussiaIoni Bowcher NEGOTIATION
Mayumi I VenereRussiaBernardo Dominic PROPOSAL
Murillo S WieserUnited KingdomAnna Fali NEGOTIATION
Chavez E BologniaJapanElwin Sharvill UNQUALIFIED
Juan F GlickCanadaBernardo Dominic NEW
Alejandro R TollnerCanadaElwin Sharvill RENEWAL
Aika J BowleyFranceElwin Sharvill QUALIFIED
Darci H MarrierBrazilAsiya Javayant PROPOSAL
Aditya J SergiSpainOnyama Limba NEGOTIATION
Jones E NestleItalyAmy Elsner NEGOTIATION
Mayumi R PerinFranceXuxue Feng RENEWAL
Aditya Y ButtArgentinaIvan Magalhaes PROPOSAL
Cody L PoquetteAustraliaAmy Elsner NEW
Faith A FlosiJapanStephen Shaw NEGOTIATION
Murillo N BriddickBrazilIvan Magalhaes RENEWAL
Smith E SaylorsGermanyAmy Elsner QUALIFIED
Aditya X CaudyCanadaAsiya Javayant NEW
Ashley T KuskoSpainXuxue Feng NEW
Juan K TollnerArgentinaOnyama Limba RENEWAL
Emily Y SaylorsIndiaOnyama Limba PROPOSAL
Silvio C AlbaresRussiaBernardo Dominic PROPOSAL
Claire I IturbideIndiaStephen Shaw QUALIFIED
Johnson D NestleSpainAnna Fali QUALIFIED
Silvio S FlosiSpainElwin Sharvill RENEWAL
Clifford M PoquetteCanadaIvan Magalhaes NEW
Francesco X AlbaresRussiaOnyama Limba NEW
David A RutaBrazilElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire O FlosiJapanElwin Sharvill RENEWAL
Silvio K CampainArgentinaXuxue Feng UNQUALIFIED
Greenwood F WaycottItalyElwin Sharvill NEW
Faith D PoquetteAustraliaXuxue Feng QUALIFIED
Jones Y ButtCanadaAmy Elsner UNQUALIFIED
Antonio V SaylorsGermanyBernardo Dominic RENEWAL
Costa N InouyeRussiaIvan Magalhaes PROPOSAL
Jones O SchemmerUnited KingdomAmy Elsner PROPOSAL
James U PaprockiItalyStephen Shaw RENEWAL
Jeanfrancois J SaylorsItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan J NickaIndia2024-05-13Rousseaux, Michael Esq RENEWAL79Stephen Shaw
1001Juan U FigeroaAustralia2024-04-29Chapman, Ross E Esq QUALIFIED78Ioni Bowcher
1002Aika I DilliardFrance2024-04-28Buckley Miller Wright NEW16Xuxue Feng
1003Octavia N ShinkoUnited Kingdom2024-05-07Chanay, Jeffrey A Esq RENEWAL55Stephen Shaw
1004Wickens W VocelkaFrance2024-04-29Dorl, James J Esq NEW44Bernardo Dominic
1005Tony E IturbideGermany2024-05-14Morlong Associates UNQUALIFIED68Amy Elsner
1006Leja B BologniaSpain2024-05-25Commercial Press UNQUALIFIED88Anna Fali
1007Alejandro O MaletUnited Kingdom2024-04-29Rousseaux, Michael Esq RENEWAL6Xuxue Feng
1008James X SaylorsIndia2024-05-21King, Christopher A Esq RENEWAL40Stephen Shaw
1009Ivar C BologniaUnited Kingdom2024-05-01Chapman, Ross E Esq QUALIFIED53Ioni Bowcher
1010Morrow S MaletFrance2024-05-02Rousseaux, Michael Esq NEGOTIATION99Elwin Sharvill
1011Costa P MaletIndia2024-05-19Rangoni Of Florence NEGOTIATION24Xuxue Feng
1012Rodrigues L FollerIndia2024-04-28Benton, John B Jr NEGOTIATION14Elwin Sharvill
1013Deepesh W PoquetteUnited Kingdom2024-04-30King, Christopher A Esq QUALIFIED57Onyama Limba
1014Cody D VenereCanada2024-05-11Chemel, James L Cpa RENEWAL13Ioni Bowcher
1015Alejandro Z BriddickFrance2024-05-07Feltz Printing Service QUALIFIED26Asiya Javayant
1016Antonio E OstroskyRussia2024-05-27Chanay, Jeffrey A Esq PROPOSAL60Asiya Javayant
1017Antonio M AmigonUnited Kingdom2024-05-17Chanay, Jeffrey A Esq RENEWAL88Amy Elsner
1018Chavez N NickaCanada2024-05-10Rangoni Of Florence UNQUALIFIED96Asiya Javayant
1019Juan M SaylorsSpain2024-05-11Chapman, Ross E Esq PROPOSAL7Stephen Shaw
1020Kadeem R BowleySpain2024-05-02Truhlar And Truhlar Attys NEGOTIATION46Ioni Bowcher
1021Jones W FollerIndia2024-05-19Morlong Associates PROPOSAL51Ivan Magalhaes
1022Wickens Z DoeAustralia2024-04-29Chapman, Ross E Esq UNQUALIFIED74Anna Fali
1023Alejandro W DoeArgentina2024-04-30Commercial Press PROPOSAL49Bernardo Dominic
1024Faith I CaldareraGermany2024-05-01Truhlar And Truhlar Attys QUALIFIED37Bernardo Dominic
1025Alejandro N FollerFrance2024-05-09Dorl, James J Esq QUALIFIED45Ioni Bowcher
1026Chavez V RimBrazil2024-05-12Chapman, Ross E Esq UNQUALIFIED9Ivan Magalhaes
1027Kaitlin Z ChuiBrazil2024-05-17Morlong Associates UNQUALIFIED60Amy Elsner
1028Misaki W WhobreyCanada2024-05-12Feltz Printing Service PROPOSAL19Xuxue Feng
1029Aika T FlosiIndia2024-05-21Chapman, Ross E Esq QUALIFIED98Anna Fali
1030Tony H OstroskySpain2024-05-23Chapman, Ross E Esq NEW95Bernardo Dominic
1031Maria W BriddickItaly2024-05-21Feiner Bros UNQUALIFIED67Amy Elsner
1032Aruna O TollnerUnited Kingdom2024-05-22Commercial Press NEW74Stephen Shaw
1033Arvin G GauchoJapan2024-05-04Chanay, Jeffrey A Esq PROPOSAL97Ioni Bowcher
1034Cody K SchemmerUnited Kingdom2024-04-29Chemel, James L Cpa NEGOTIATION87Bernardo Dominic
1035Octavia U MarrierRussia2024-05-13Chemel, James L Cpa RENEWAL8Bernardo Dominic
1036Jeanfrancois O VocelkaItaly2024-05-12King, Christopher A Esq UNQUALIFIED81Onyama Limba
1037Chavez A AlbaresFrance2024-05-04Chapman, Ross E Esq PROPOSAL26Anna Fali
1038Faith C WieserRussia2024-04-29Printing Dimensions NEW80Xuxue Feng
1039Darci I KuskoFrance2024-05-02Truhlar And Truhlar Attys NEGOTIATION12Stephen Shaw
1040Maisha V SchemmerIndia2024-05-18Rangoni Of Florence PROPOSAL24Bernardo Dominic
1041Ashley S CaudyRussia2024-05-10Rangoni Of Florence NEW6Xuxue Feng
1042Leon E FlosiRussia2024-05-21Rangoni Of Florence QUALIFIED43Ioni Bowcher
1043Stacey B BowleyJapan2024-05-20Benton, John B Jr NEW40Anna Fali
1044Greenwood D SchemmerGermany2024-05-22Benton, John B Jr RENEWAL55Amy Elsner
1045Claire E IturbideUnited Kingdom2024-05-07Feiner Bros NEW22Bernardo Dominic
1046Greenwood J KuskoJapan2024-05-17Chapman, Ross E Esq RENEWAL8Ivan Magalhaes
1047Munro S KuskoCanada2024-05-23Feiner Bros UNQUALIFIED39Onyama Limba
1048Jones T StensethRussia2024-05-22Morlong Associates NEGOTIATION88Amy Elsner
1049Rodrigues P StensethCanada2024-05-04Morlong Associates RENEWAL3Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Octavia T OstroskyUnited KingdomOnyama Limba NEW
Costa Z MorascaFranceElwin Sharvill NEGOTIATION
Ivar Y WaycottItalyIvan Magalhaes UNQUALIFIED
Murillo T PerinGermanyXuxue Feng PROPOSAL
Aruna F AlbaresGermanyBernardo Dominic QUALIFIED
Adams N WieserArgentinaElwin Sharvill UNQUALIFIED
Costa F FollerFranceIoni Bowcher NEW
Munro E CaldareraArgentinaIoni Bowcher NEGOTIATION
Chavez D VocelkaCanadaStephen Shaw RENEWAL
Jefferson F MacleadCanadaXuxue Feng PROPOSAL
Costa H InouyeRussiaStephen Shaw NEW
Juan L DilliardItalyAmy Elsner QUALIFIED
Clifford R MacleadBrazilBernardo Dominic QUALIFIED
Wickens D FlosiCanadaOnyama Limba QUALIFIED
Claire O FollerAustraliaAmy Elsner UNQUALIFIED
Rodrigues V GarufiGermanyIvan Magalhaes PROPOSAL
Costa I FerenczRussiaStephen Shaw PROPOSAL
Costa T GlickIndiaXuxue Feng RENEWAL
Costa G SlusarskiSpainAsiya Javayant PROPOSAL
Alejandro U ButtBrazilBernardo Dominic NEGOTIATION
Aruna R OstroskyIndiaIvan Magalhaes PROPOSAL
Costa B RulapaughItalyBernardo Dominic UNQUALIFIED
Claire M TollnerAustraliaAmy Elsner NEGOTIATION
Munro V SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Deepesh C RulapaughArgentinaIvan Magalhaes NEW
Mayumi V KolmetzJapanOnyama Limba PROPOSAL
Deepesh V DoeSpainXuxue Feng RENEWAL
Maisha P ShinkoAustraliaAmy Elsner NEW
Misaki S MarrierBrazilElwin Sharvill QUALIFIED
Jeanfrancois M CampainGermanyElwin Sharvill PROPOSAL
Costa U PaprockiFranceAmy Elsner RENEWAL
Ivar L CaldareraJapanOnyama Limba UNQUALIFIED
Adams C OldroydGermanyOnyama Limba QUALIFIED
Rodrigues Z BowleyIndiaElwin Sharvill NEW
Mayumi S MacleadCanadaStephen Shaw RENEWAL
Darci B DarakjyRussiaAmy Elsner QUALIFIED
Kadeem C NickaBrazilIoni Bowcher NEW
Rodrigues L SergiIndiaAsiya Javayant NEW
Nicolas A WieserRussiaAmy Elsner NEW
Arvin E RulapaughCanadaStephen Shaw RENEWAL
Maria Y CaudyFranceElwin Sharvill RENEWAL
Arvin H OstroskySpainBernardo Dominic NEGOTIATION
Greenwood X DarakjyItalyIvan Magalhaes NEW
Jeanfrancois S SlusarskiAustraliaXuxue Feng NEGOTIATION
Aruna E BowleyBrazilBernardo Dominic PROPOSAL
Smith X CaldareraUnited KingdomStephen Shaw PROPOSAL
Faith K FlosiUnited KingdomIoni Bowcher NEGOTIATION
Izzy P MorascaGermanyIvan Magalhaes UNQUALIFIED
Maria K WaycottIndiaAmy Elsner NEW
Clifford P MorascaCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Mujtaba R Foller
Clifford I Saylors
Smith W Maclead
Ricardo B Briddick
Claire I Flosi
Jefferson Q Caudy
Maisha L Tollner
David Q Kusko
Smith F Marrier
James W Rim
Wickens Z Morasca
Misaki T Vocelka
Arvin D Whobrey
Jefferson Y Stockham
Maisha I Butt
Faith E Darakjy
Rodrigues L Malet
Costa J Morasca
Emily G Stenseth
Greenwood G Tollner
Maisha H Saylors
Izzy F Marrier
Salvatore N Ruta
Mujtaba F Iturbide
Nicolas N Caldarera
Greenwood M Kolmetz
Izzy P Paprocki
Juan Q Gaucho
Izzy P Garufi
Aruna Y Chui
Aditya E Slusarski
Tony O Doe
Maria R Doe
Aruna C Doe
Darci X Caudy
Mayumi M Maclead
Nicolas A Oldroyd
Salvatore V Tollner
Clifford O Dilliard
James Y Perin
Jeanfrancois A Ostrosky
Rodrigues I Chui
Jones O Doe
Alejandro N Caldarera
Kaitlin C Ostrosky
Salvatore B Caldarera
Costa T Bowley
Jefferson W Saylors
Deepesh K Darakjy
Jeanfrancois Z Nestle
IdCountryDate
1000Italy2024-05-16
1001Germany2024-05-15
1002Spain2024-05-07
1003India2024-05-27
1004Germany2024-05-04
1005Italy2024-05-04
1006Russia2024-05-19
1007Germany2024-05-23
1008Japan2024-05-12
1009Australia2024-05-14
1010Japan2024-05-23
1011Russia2024-05-02
1012India2024-05-11
1013France2024-05-27
1014Russia2024-05-07
1015Argentina2024-05-09
1016Australia2024-05-11
1017Argentina2024-05-22
1018Russia2024-05-19
1019Italy2024-05-17
1020United Kingdom2024-05-20
1021Russia2024-05-06
1022France2024-05-10
1023India2024-05-22
1024Italy2024-05-05
1025Australia2024-05-18
1026Russia2024-05-25
1027Canada2024-04-29
1028Spain2024-05-08
1029Russia2024-04-29
1030Spain2024-05-22
1031Russia2024-05-24
1032Germany2024-05-16
1033Argentina2024-05-19
1034Brazil2024-05-09
1035Argentina2024-05-07
1036Italy2024-05-12
1037Italy2024-05-23
1038India2024-05-25
1039Russia2024-05-06
1040Australia2024-04-30
1041Argentina2024-05-21
1042France2024-05-23
1043Australia2024-05-23
1044Japan2024-05-22
1045Spain2024-05-08
1046Germany2024-05-21
1047Argentina2024-05-09
1048Spain2024-05-26
1049France2024-05-06

On-Demand Data

NameIdCountryDate
Sinclair B Figeroa1000Italy2024-05-19
Maria J Inouye1001Russia2024-05-14
Maria K Darakjy1002Germany2024-05-02
Greenwood M Stockham1003Italy2024-05-22
Jones L Amigon1004Brazil2024-05-01
Murillo V Slusarski1005Italy2024-05-09
Emily F Amigon1006Germany2024-05-04
Smith G Vocelka1007India2024-05-27
Ivar Q Ostrosky1008India2024-05-03
Francesco D Figeroa1009Italy2024-05-21
Wickens U Rim1010Japan2024-05-18
Alejandro N Maclead1011Australia2024-05-25
Julie N Caudy1012India2024-05-13
Julie I Schemmer1013Japan2024-05-23
Cody I Slusarski1014Russia2024-05-26
Aika W Doe1015India2024-05-25
Jennifer J Bowley1016Australia2024-04-30
Maria Z Figeroa1017Russia2024-05-17
Ricardo E Briddick1018United Kingdom2024-05-07
Claire S Wieser1019Spain2024-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo I RutaItalyXuxue Feng NEGOTIATION
Aika K AmigonIndiaXuxue Feng NEW
Mayumi Z MacleadItalyStephen Shaw UNQUALIFIED
Julie X DoeJapanElwin Sharvill UNQUALIFIED
Leon R CaudyIndiaIoni Bowcher NEGOTIATION
Costa I MorascaJapanIoni Bowcher NEW
Claire W SaylorsUnited KingdomIoni Bowcher PROPOSAL
Johnson I SergiUnited KingdomAmy Elsner NEGOTIATION
Kadeem B KolmetzRussiaAsiya Javayant NEW
Silvio G NickaUnited KingdomAsiya Javayant QUALIFIED
Ashley Q WaycottSpainBernardo Dominic RENEWAL
Greenwood U InouyeCanadaAnna Fali UNQUALIFIED
Aditya H ShinkoSpainStephen Shaw NEGOTIATION
Cody W CampainFranceXuxue Feng PROPOSAL
Wickens A DoeItalyBernardo Dominic RENEWAL
Munro Z BowleyFranceStephen Shaw QUALIFIED
Juan F RoysterArgentinaElwin Sharvill PROPOSAL
Octavia K MacleadCanadaAnna Fali UNQUALIFIED
David P RulapaughRussiaAnna Fali PROPOSAL
Jennifer X RulapaughItalyXuxue Feng UNQUALIFIED
Kaitlin G CampainBrazilIvan Magalhaes UNQUALIFIED
Arvin Y NickaSpainIoni Bowcher QUALIFIED
Faith I BologniaBrazilStephen Shaw NEGOTIATION
Smith Y MaletCanadaAmy Elsner UNQUALIFIED
Ashley P MacleadFranceOnyama Limba NEW
Misaki G KuskoRussiaIoni Bowcher PROPOSAL
Leja T StensethJapanIoni Bowcher UNQUALIFIED
Isabel I KolmetzFranceIvan Magalhaes RENEWAL
Leja O MorascaUnited KingdomStephen Shaw PROPOSAL
Emily P SaylorsIndiaBernardo Dominic NEW
Jennifer E SlusarskiFranceAnna Fali PROPOSAL
Ricardo H KuskoSpainAsiya Javayant QUALIFIED
Sinclair B IturbideAustraliaIoni Bowcher QUALIFIED
Chavez Q CaudyRussiaAsiya Javayant PROPOSAL
Mujtaba Z BriddickItalyElwin Sharvill QUALIFIED
Wickens K MaletIndiaElwin Sharvill RENEWAL
Jennifer V RulapaughGermanyOnyama Limba RENEWAL
Smith E MorascaArgentinaStephen Shaw RENEWAL
Rodrigues P GillianAustraliaAnna Fali UNQUALIFIED
Leon O SchemmerGermanyStephen Shaw PROPOSAL

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