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
Aditya O StensethUnited KingdomIvan Magalhaes PROPOSAL
Aditya Q TollnerGermanyIvan Magalhaes RENEWAL
Kaitlin N RimUnited KingdomIoni Bowcher PROPOSAL
Julie M TollnerBrazilIvan Magalhaes QUALIFIED
Alejandro V PaprockiRussiaAsiya Javayant QUALIFIED
Murillo P TollnerUnited KingdomAmy Elsner PROPOSAL
Salvatore G RulapaughItalyStephen Shaw NEW
Isabel R FerenczUnited KingdomAsiya Javayant NEGOTIATION
Faith O MorascaBrazilAnna Fali NEGOTIATION
Sinclair Z VenereRussiaIoni Bowcher QUALIFIED
Smith S StensethGermanyBernardo Dominic QUALIFIED
Arvin J ShinkoRussiaXuxue Feng NEGOTIATION
Leja F ButtGermanyStephen Shaw PROPOSAL
Morrow J SlusarskiFranceBernardo Dominic NEGOTIATION
Adams P CaldareraIndiaStephen Shaw NEGOTIATION
Misaki J VocelkaIndiaIoni Bowcher QUALIFIED
Octavia T OldroydItalyAsiya Javayant QUALIFIED
Leja F MorascaItalyIoni Bowcher NEGOTIATION
Faith E MaletBrazilIoni Bowcher RENEWAL
Jefferson X SaylorsFranceXuxue Feng RENEWAL
Misaki K BologniaArgentinaAsiya Javayant QUALIFIED
Mayumi M ButtJapanStephen Shaw NEW
Cody G MaletGermanyBernardo Dominic NEGOTIATION
Antonio L KolmetzArgentinaIoni Bowcher NEW
Ivar Y KuskoArgentinaOnyama Limba RENEWAL
Arvin N VenereFranceStephen Shaw UNQUALIFIED
Kaitlin M KolmetzGermanyElwin Sharvill QUALIFIED
Aditya V StockhamAustraliaOnyama Limba PROPOSAL
Munro P NickaRussiaIoni Bowcher PROPOSAL
Jeanfrancois R DilliardIndiaAnna Fali NEW
Maria I CaudyIndiaXuxue Feng PROPOSAL
Francesco C SaylorsArgentinaStephen Shaw PROPOSAL
Salvatore E GillianJapanAmy Elsner NEW
Aruna P BriddickArgentinaElwin Sharvill RENEWAL
Juan U SlusarskiGermanyAmy Elsner NEGOTIATION
Johnson N GauchoIndiaOnyama Limba QUALIFIED
James H ShinkoIndiaOnyama Limba QUALIFIED
Greenwood K WaycottArgentinaOnyama Limba UNQUALIFIED
Adams A CampainUnited KingdomOnyama Limba UNQUALIFIED
Leja J MaletItalyAmy Elsner NEW
Johnson O DoeSpainBernardo Dominic PROPOSAL
Tony O FigeroaArgentinaStephen Shaw QUALIFIED
Chavez E PoquetteCanadaAsiya Javayant NEW
Leja F SaylorsItalyAnna Fali UNQUALIFIED
Chavez H PoquetteItalyXuxue Feng NEGOTIATION
Mujtaba T FigeroaIndiaOnyama Limba RENEWAL
Misaki N SchemmerCanadaStephen Shaw NEW
Murillo C MaletIndiaIoni Bowcher NEW
Juan G ChuiAustraliaAsiya Javayant RENEWAL
Ivar H PaprockiSpainIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair N AmigonItalyIoni Bowcher NEW
Ivar P GillianFranceOnyama Limba NEGOTIATION
Stacey L BriddickRussiaOnyama Limba NEGOTIATION
Maisha D WaycottAustraliaAsiya Javayant NEGOTIATION
Aika S MaletJapanAmy Elsner NEGOTIATION
Jones B ChuiArgentinaStephen Shaw NEGOTIATION
Izzy V MorascaUnited KingdomOnyama Limba UNQUALIFIED
Ricardo F GillianUnited KingdomOnyama Limba PROPOSAL
Deepesh A ShinkoItalyBernardo Dominic PROPOSAL
Kadeem G VocelkaJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford P WhobreyGermany2025-05-12Buckley Miller Wright RENEWAL1Bernardo Dominic
1001Jefferson C SchemmerIndia2025-05-02Printing Dimensions NEW81Xuxue Feng
1002Misaki W NickaUnited Kingdom2025-05-05Benton, John B Jr UNQUALIFIED9Anna Fali
1003Octavia X FerenczIndia2025-05-16Rangoni Of Florence NEW83Amy Elsner
1004Silvio Y CaldareraIndia2025-05-30Rangoni Of Florence PROPOSAL41Anna Fali
1005Kaitlin F BowleyJapan2025-05-28Dorl, James J Esq RENEWAL66Bernardo Dominic
1006Antonio Q VocelkaCanada2025-05-14Chanay, Jeffrey A Esq RENEWAL52Amy Elsner
1007David L FigeroaBrazil2025-05-19Printing Dimensions NEGOTIATION7Stephen Shaw
1008Misaki M AmigonUnited Kingdom2025-05-18Chapman, Ross E Esq NEW59Ivan Magalhaes
1009Morrow I SchemmerJapan2025-05-23Chapman, Ross E Esq RENEWAL39Asiya Javayant
1010Julie Q PoquetteBrazil2025-05-27Chemel, James L Cpa UNQUALIFIED34Amy Elsner
1011Faith M SlusarskiIndia2025-05-30King, Christopher A Esq UNQUALIFIED86Bernardo Dominic
1012Kaitlin W NestleUnited Kingdom2025-05-07Morlong Associates RENEWAL89Ioni Bowcher
1013Jennifer A AmigonAustralia2025-05-25Commercial Press NEW11Bernardo Dominic
1014Aditya F MaletUnited Kingdom2025-05-12Commercial Press NEGOTIATION88Ioni Bowcher
1015Ricardo M BowleyJapan2025-05-05Feltz Printing Service NEW47Elwin Sharvill
1016Silvio N NickaArgentina2025-05-11Commercial Press UNQUALIFIED14Onyama Limba
1017Deepesh K AmigonItaly2025-05-31Dorl, James J Esq NEW98Xuxue Feng
1018Greenwood J CaudyRussia2025-05-02Commercial Press UNQUALIFIED30Onyama Limba
1019Leon T StockhamUnited Kingdom2025-05-29Benton, John B Jr NEW19Elwin Sharvill
1020Isabel D MaletSpain2025-05-10Benton, John B Jr RENEWAL69Onyama Limba
1021Mujtaba U WhobreyJapan2025-05-29Commercial Press NEGOTIATION19Ioni Bowcher
1022Stacey O IturbideGermany2025-05-23Feltz Printing Service PROPOSAL82Asiya Javayant
1023Ricardo A PoquetteBrazil2025-05-14Rousseaux, Michael Esq QUALIFIED0Amy Elsner
1024Salvatore J MaletGermany2025-05-19King, Christopher A Esq UNQUALIFIED53Amy Elsner
1025Wickens I FerenczArgentina2025-05-02Rangoni Of Florence RENEWAL86Anna Fali
1026Wickens I GlickUnited Kingdom2025-05-22Chapman, Ross E Esq UNQUALIFIED93Amy Elsner
1027Tony D MaletJapan2025-05-04Benton, John B Jr NEW24Amy Elsner
1028Claire E OldroydBrazil2025-05-19Feltz Printing Service QUALIFIED84Ioni Bowcher
1029Aika O SlusarskiItaly2025-05-26Feiner Bros NEGOTIATION31Asiya Javayant
1030Aika X FlosiIndia2025-05-29Morlong Associates NEGOTIATION22Anna Fali
1031Aditya G CaudyUnited Kingdom2025-05-23Feltz Printing Service UNQUALIFIED49Onyama Limba
1032Tony B VenereSpain2025-05-23Buckley Miller Wright NEGOTIATION44Bernardo Dominic
1033Tony I FlosiCanada2025-05-27Dorl, James J Esq NEW36Amy Elsner
1034Chavez S OstroskyArgentina2025-05-24Rousseaux, Michael Esq UNQUALIFIED70Anna Fali
1035Adams G MaletAustralia2025-05-13Printing Dimensions QUALIFIED24Stephen Shaw
1036Jennifer K CampainGermany2025-05-29Chapman, Ross E Esq PROPOSAL26Ioni Bowcher
1037Jeanfrancois V CampainSpain2025-05-04Rangoni Of Florence QUALIFIED22Amy Elsner
1038Smith A AlbaresIndia2025-05-25Printing Dimensions QUALIFIED95Onyama Limba
1039Aditya W ShinkoFrance2025-05-14Benton, John B Jr QUALIFIED41Asiya Javayant
1040Juan A BologniaArgentina2025-05-05Printing Dimensions UNQUALIFIED16Stephen Shaw
1041Wickens A PerinItaly2025-05-26Rousseaux, Michael Esq NEGOTIATION22Asiya Javayant
1042Arvin M OldroydCanada2025-05-16Dorl, James J Esq NEW37Ivan Magalhaes
1043Juan I ButtBrazil2025-05-16Chanay, Jeffrey A Esq QUALIFIED88Bernardo Dominic
1044Jones X VenereUnited Kingdom2025-05-23King, Christopher A Esq RENEWAL66Elwin Sharvill
1045Silvio R IturbideRussia2025-05-19Morlong Associates PROPOSAL97Xuxue Feng
1046Jones M DilliardAustralia2025-05-08Dorl, James J Esq PROPOSAL0Stephen Shaw
1047Ricardo G NickaCanada2025-05-07Rousseaux, Michael Esq UNQUALIFIED28Anna Fali
1048Leja W FollerItaly2025-05-25Feiner Bros NEGOTIATION24Bernardo Dominic
1049Mujtaba R PaprockiRussia2025-05-14Rousseaux, Michael Esq RENEWAL90Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily W PerinJapanIoni Bowcher NEGOTIATION
Clifford K GlickCanadaIoni Bowcher NEGOTIATION
Salvatore D MacleadSpainElwin Sharvill NEGOTIATION
Adams O DarakjyJapanStephen Shaw NEGOTIATION
Stacey K KolmetzAustraliaAsiya Javayant UNQUALIFIED
Adams T ShinkoFranceXuxue Feng QUALIFIED
Costa B WhobreyJapanStephen Shaw UNQUALIFIED
Julie T GlickFranceElwin Sharvill QUALIFIED
Jefferson N DoeGermanyAsiya Javayant RENEWAL
Cody Q MarrierCanadaOnyama Limba NEGOTIATION
Claire N InouyeJapanAsiya Javayant NEGOTIATION
Antonio P CampainGermanyBernardo Dominic RENEWAL
Rodrigues L SergiBrazilBernardo Dominic UNQUALIFIED
Darci D FerenczCanadaIvan Magalhaes UNQUALIFIED
Deepesh C PerinItalyIoni Bowcher RENEWAL
Chavez U WhobreyArgentinaAsiya Javayant NEGOTIATION
Nicolas B KolmetzGermanyAsiya Javayant RENEWAL
Arvin Y RutaItalyIoni Bowcher NEGOTIATION
Jefferson C KolmetzIndiaIvan Magalhaes UNQUALIFIED
Aruna W WaycottBrazilAsiya Javayant NEGOTIATION
Aditya G MarrierArgentinaIoni Bowcher NEW
Mujtaba S MarrierGermanyIoni Bowcher RENEWAL
Octavia W GarufiUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois H TollnerCanadaOnyama Limba QUALIFIED
Johnson O PoquetteGermanyIvan Magalhaes NEW
Julie J SchemmerGermanyElwin Sharvill PROPOSAL
Aruna P PoquetteBrazilXuxue Feng QUALIFIED
Kadeem E BriddickGermanyElwin Sharvill NEGOTIATION
Ivar K MacleadUnited KingdomBernardo Dominic RENEWAL
Rodrigues Z ChuiFranceIvan Magalhaes PROPOSAL
Jennifer S VenereItalyAsiya Javayant UNQUALIFIED
Octavia A SchemmerIndiaIoni Bowcher PROPOSAL
Smith U MorascaBrazilStephen Shaw PROPOSAL
Misaki T AmigonJapanIoni Bowcher NEGOTIATION
Salvatore T SchemmerBrazilIoni Bowcher RENEWAL
Juan R InouyeBrazilElwin Sharvill NEW
Adams E IturbideIndiaAmy Elsner RENEWAL
Smith D TollnerBrazilAsiya Javayant RENEWAL
Clifford V FigeroaBrazilAsiya Javayant NEGOTIATION
Johnson S WhobreyGermanyStephen Shaw PROPOSAL
Nicolas X WhobreyItalyIvan Magalhaes QUALIFIED
Arvin T FigeroaIndiaOnyama Limba RENEWAL
Tony L BowleyArgentinaXuxue Feng QUALIFIED
Deepesh C OldroydSpainIoni Bowcher RENEWAL
Adams P FlosiUnited KingdomOnyama Limba NEGOTIATION
Johnson X WhobreyAustraliaElwin Sharvill RENEWAL
Emily X GlickAustraliaAmy Elsner PROPOSAL
Nicolas G GlickRussiaIvan Magalhaes PROPOSAL
Juan L SergiBrazilAmy Elsner UNQUALIFIED
Aruna V NestleIndiaXuxue Feng NEW
Frozen Columns
Name
Clifford M Perin
Adams A Maclead
Claire O Ferencz
Izzy M Darakjy
Maisha X Saylors
Wickens N Poquette
Maisha S Paprocki
Jeanfrancois H Doe
Maisha U Albares
Julie A Malet
Ashley U Saylors
Murillo V Butt
James M Perin
Leja Z Poquette
Ashley C Perin
Sinclair K Vocelka
Misaki Z Nestle
Emily K Iturbide
Kadeem Y Figeroa
Murillo D Briddick
Stacey I Ruta
Sinclair P Figeroa
Smith T Gillian
Jeanfrancois E Schemmer
Alejandro T Malet
Julie X Caudy
Octavia P Dilliard
Izzy S Flosi
Jefferson V Shinko
Aditya E Oldroyd
Julie S Perin
Ricardo J Bolognia
Jones N Marrier
Ricardo K Wieser
Jefferson Y Caldarera
Wickens T Nestle
Mujtaba J Darakjy
Ivar R Stockham
Jones A Ruta
Misaki G Poquette
Octavia O Kolmetz
Kadeem P Caldarera
Rodrigues X Gillian
James A Garufi
Faith L Amigon
Greenwood B Tollner
Cody U Flosi
Salvatore M Slusarski
Alejandro I Campain
Francesco B Glick
IdCountryDate
1000France2025-05-23
1001Spain2025-05-16
1002United Kingdom2025-05-08
1003Russia2025-05-21
1004Brazil2025-05-29
1005Japan2025-05-12
1006Italy2025-05-03
1007France2025-05-10
1008Japan2025-05-18
1009Italy2025-05-11
1010United Kingdom2025-05-22
1011Japan2025-05-25
1012Italy2025-05-13
1013France2025-05-05
1014Argentina2025-05-11
1015United Kingdom2025-05-12
1016Canada2025-05-09
1017Italy2025-05-25
1018Australia2025-05-04
1019Canada2025-05-07
1020Russia2025-05-13
1021Spain2025-05-25
1022Canada2025-05-05
1023Spain2025-05-29
1024Russia2025-05-05
1025Spain2025-05-10
1026Brazil2025-05-08
1027France2025-05-15
1028Russia2025-05-20
1029Argentina2025-05-12
1030India2025-05-02
1031France2025-05-05
1032Russia2025-05-28
1033Italy2025-05-15
1034Spain2025-05-14
1035Russia2025-05-20
1036Spain2025-05-14
1037United Kingdom2025-05-05
1038Canada2025-05-28
1039France2025-05-11
1040Russia2025-05-13
1041Japan2025-05-18
1042Argentina2025-05-28
1043Japan2025-05-09
1044Germany2025-05-05
1045Argentina2025-05-29
1046Australia2025-05-11
1047Australia2025-05-03
1048Germany2025-05-12
1049Germany2025-05-16

On-Demand Data

NameIdCountryDate
Clifford M Rulapaugh1000Italy2025-05-07
Isabel J Ostrosky1001Brazil2025-05-18
Juan X Saylors1002Russia2025-05-03
Tony P Oldroyd1003Japan2025-05-20
Aruna N Butt1004Argentina2025-05-19
Kaitlin H Garufi1005India2025-05-26
Misaki F Ruta1006Argentina2025-05-07
James V Gaucho1007Germany2025-05-27
Rodrigues F Nicka1008France2025-05-13
Ivar H Inouye1009Brazil2025-05-08
Salvatore V Perin1010United Kingdom2025-05-18
Faith Q Gaucho1011Germany2025-05-19
Faith Q Inouye1012Australia2025-05-29
James P Nestle1013Japan2025-05-21
Izzy I Rim1014Argentina2025-05-28
Antonio T Venere1015Australia2025-05-18
Faith C Vocelka1016Spain2025-05-17
Wickens R Caudy1017Russia2025-05-17
Cody J Darakjy1018India2025-05-18
Leja W Maclead1019Germany2025-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David A MorascaIndiaIoni Bowcher PROPOSAL
Cody S MaletItalyElwin Sharvill QUALIFIED
David F NickaSpainAnna Fali UNQUALIFIED
Smith D MaletIndiaOnyama Limba UNQUALIFIED
Ivar Y MaletItalyXuxue Feng NEW
Ivar U CaudyJapanAsiya Javayant NEGOTIATION
Ivar W VenereSpainIvan Magalhaes PROPOSAL
Isabel V MorascaUnited KingdomXuxue Feng NEW
Greenwood W KuskoJapanAmy Elsner QUALIFIED
Greenwood N FigeroaIndiaBernardo Dominic QUALIFIED
David A PerinSpainAnna Fali NEW
Silvio A PerinJapanIoni Bowcher QUALIFIED
Arvin C InouyeIndiaAsiya Javayant QUALIFIED
Darci H StockhamRussiaBernardo Dominic NEW
Kaitlin V NestleItalyBernardo Dominic UNQUALIFIED
Emily V DilliardGermanyBernardo Dominic NEW
James I KuskoJapanXuxue Feng QUALIFIED
Misaki H RulapaughArgentinaStephen Shaw NEGOTIATION
Claire K InouyeIndiaElwin Sharvill QUALIFIED
Aika O BologniaRussiaIvan Magalhaes UNQUALIFIED
Chavez V RutaJapanAsiya Javayant QUALIFIED
Stacey Q AmigonItalyIoni Bowcher RENEWAL
Jennifer X OstroskyBrazilElwin Sharvill NEGOTIATION
Jefferson Y WieserFranceStephen Shaw PROPOSAL
Wickens I SchemmerJapanStephen Shaw NEW
Octavia H OldroydAustraliaElwin Sharvill NEW
Ivar X NickaCanadaIvan Magalhaes PROPOSAL
Isabel Q StensethCanadaAmy Elsner UNQUALIFIED
Faith D OldroydJapanAnna Fali PROPOSAL
Stacey B SlusarskiUnited KingdomStephen Shaw QUALIFIED
Jefferson O BriddickCanadaIvan Magalhaes NEGOTIATION
Octavia H BowleyCanadaAsiya Javayant NEW
Wickens N SchemmerItalyAsiya Javayant PROPOSAL
Arvin X MorascaFranceAsiya Javayant PROPOSAL
Chavez W FigeroaUnited KingdomXuxue Feng QUALIFIED
Darci T OstroskySpainAnna Fali QUALIFIED
Octavia A WieserArgentinaBernardo Dominic RENEWAL
Silvio W OstroskyCanadaStephen Shaw NEW
Octavia S WaycottFranceXuxue Feng NEGOTIATION
Misaki P WaycottCanadaAnna Fali 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>