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
Tony X NickaGermanyBernardo Dominic RENEWAL
Julie K DarakjyRussiaAmy Elsner QUALIFIED
Morrow J NickaItalyAmy Elsner NEW
Rodrigues Z SchemmerUnited KingdomAsiya Javayant PROPOSAL
Maisha I ShinkoAustraliaOnyama Limba UNQUALIFIED
Smith L StockhamCanadaOnyama Limba NEGOTIATION
Alejandro S MaletUnited KingdomBernardo Dominic NEGOTIATION
Silvio E SaylorsIndiaIoni Bowcher NEGOTIATION
Arvin A GarufiUnited KingdomAmy Elsner NEW
Izzy I DoeSpainBernardo Dominic QUALIFIED
Johnson E FlosiBrazilIoni Bowcher NEGOTIATION
Maisha T BologniaSpainIoni Bowcher UNQUALIFIED
Mayumi C ButtUnited KingdomAnna Fali NEW
Juan G RutaIndiaAmy Elsner PROPOSAL
James H SaylorsIndiaXuxue Feng NEGOTIATION
Kaitlin Q FerenczCanadaAsiya Javayant RENEWAL
Mujtaba N IturbideBrazilElwin Sharvill RENEWAL
Morrow H MaletIndiaBernardo Dominic QUALIFIED
Julie D ButtCanadaOnyama Limba NEW
Octavia Q AlbaresSpainAsiya Javayant NEGOTIATION
Deepesh B GarufiCanadaXuxue Feng QUALIFIED
Jennifer U BowleyFranceBernardo Dominic PROPOSAL
Aditya W WaycottBrazilStephen Shaw NEW
Jones P AmigonFranceElwin Sharvill QUALIFIED
Silvio Y CaldareraAustraliaElwin Sharvill RENEWAL
Leja F AmigonJapanXuxue Feng RENEWAL
Johnson H SaylorsAustraliaAmy Elsner NEGOTIATION
Claire S StensethUnited KingdomOnyama Limba NEGOTIATION
Sinclair Y BologniaIndiaOnyama Limba RENEWAL
Julie M MorascaBrazilXuxue Feng RENEWAL
Misaki Y FlosiAustraliaIvan Magalhaes UNQUALIFIED
Greenwood B OstroskySpainAnna Fali UNQUALIFIED
Aditya O MarrierItalyStephen Shaw QUALIFIED
Mayumi L AlbaresUnited KingdomIvan Magalhaes RENEWAL
Faith A NickaRussiaElwin Sharvill RENEWAL
Ashley B StockhamIndiaAmy Elsner PROPOSAL
Aruna T AmigonItalyXuxue Feng RENEWAL
Silvio R MaletJapanIvan Magalhaes PROPOSAL
Arvin B SaylorsUnited KingdomIoni Bowcher RENEWAL
Nicolas Y KolmetzIndiaBernardo Dominic NEW
Silvio N InouyeBrazilAsiya Javayant RENEWAL
Clifford E BologniaItalyIvan Magalhaes PROPOSAL
Julie R FigeroaItalyStephen Shaw UNQUALIFIED
Silvio Z WaycottJapanIoni Bowcher NEGOTIATION
Jennifer Q PoquetteItalyAmy Elsner UNQUALIFIED
Antonio I StensethArgentinaBernardo Dominic UNQUALIFIED
Jennifer Q MaletJapanStephen Shaw UNQUALIFIED
Aika O BologniaGermanyStephen Shaw QUALIFIED
Mayumi L RimBrazilElwin Sharvill RENEWAL
Kaitlin I MaletRussiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci F GauchoFranceIoni Bowcher NEW
Darci A RoysterItalyStephen Shaw PROPOSAL
Mujtaba P WhobreyGermanyAnna Fali UNQUALIFIED
Juan Q VenereJapanXuxue Feng PROPOSAL
Tony S DilliardIndiaAsiya Javayant PROPOSAL
Alejandro V GarufiArgentinaAsiya Javayant QUALIFIED
Jeanfrancois F ButtGermanyAsiya Javayant QUALIFIED
Greenwood F MaletIndiaStephen Shaw NEGOTIATION
Alejandro B MarrierItalyAnna Fali NEW
Wickens H RulapaughItalyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair O MaletBrazil2024-05-26Commercial Press NEW38Ioni Bowcher
1001Johnson U RoysterAustralia2024-06-04Chanay, Jeffrey A Esq QUALIFIED38Elwin Sharvill
1002Izzy O BriddickCanada2024-05-18Chemel, James L Cpa PROPOSAL35Xuxue Feng
1003Tony S CaldareraUnited Kingdom2024-06-12Rangoni Of Florence NEW26Anna Fali
1004Maisha B RimBrazil2024-05-22Chemel, James L Cpa UNQUALIFIED51Elwin Sharvill
1005Aika A AlbaresJapan2024-06-09Buckley Miller Wright RENEWAL2Anna Fali
1006Nicolas L RutaCanada2024-05-19Rousseaux, Michael Esq QUALIFIED14Xuxue Feng
1007Greenwood J CampainItaly2024-05-29Truhlar And Truhlar Attys UNQUALIFIED89Xuxue Feng
1008Aditya X GarufiJapan2024-06-07Chemel, James L Cpa UNQUALIFIED93Bernardo Dominic
1009Chavez E SaylorsSpain2024-05-21Morlong Associates NEW52Bernardo Dominic
1010Adams N FlosiUnited Kingdom2024-05-20Truhlar And Truhlar Attys QUALIFIED33Ioni Bowcher
1011Smith R GillianItaly2024-05-21Commercial Press QUALIFIED33Anna Fali
1012Clifford W FlosiIndia2024-06-10Printing Dimensions PROPOSAL2Ioni Bowcher
1013Morrow U BriddickBrazil2024-06-13Benton, John B Jr NEW72Bernardo Dominic
1014Rodrigues N CampainArgentina2024-05-21Feiner Bros UNQUALIFIED3Asiya Javayant
1015Kaitlin M CampainRussia2024-06-13Buckley Miller Wright RENEWAL5Ioni Bowcher
1016Cody C RutaArgentina2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED1Xuxue Feng
1017Deepesh V BowleyBrazil2024-06-05Chapman, Ross E Esq UNQUALIFIED36Stephen Shaw
1018Jones E WhobreyAustralia2024-05-16Chanay, Jeffrey A Esq PROPOSAL72Amy Elsner
1019Aika F KolmetzJapan2024-05-24Chemel, James L Cpa QUALIFIED85Ivan Magalhaes
1020Maisha N FlosiCanada2024-05-18Buckley Miller Wright NEGOTIATION78Bernardo Dominic
1021Jefferson U TollnerBrazil2024-05-31Buckley Miller Wright NEGOTIATION19Anna Fali
1022David E OldroydFrance2024-05-23Feltz Printing Service RENEWAL3Asiya Javayant
1023Leon E VenereIndia2024-05-16Chapman, Ross E Esq QUALIFIED24Elwin Sharvill
1024Greenwood O WhobreyItaly2024-06-05Commercial Press PROPOSAL42Bernardo Dominic
1025Tony J NickaItaly2024-05-26Chapman, Ross E Esq PROPOSAL85Xuxue Feng
1026Salvatore D InouyeSpain2024-05-30Truhlar And Truhlar Attys NEGOTIATION44Bernardo Dominic
1027Julie E NickaItaly2024-05-23Chemel, James L Cpa UNQUALIFIED55Xuxue Feng
1028Tony D SergiIndia2024-05-16Chapman, Ross E Esq UNQUALIFIED78Bernardo Dominic
1029Mayumi F RoysterAustralia2024-06-10King, Christopher A Esq NEGOTIATION74Xuxue Feng
1030Chavez L ShinkoRussia2024-05-28Chapman, Ross E Esq QUALIFIED50Anna Fali
1031Francesco Y WieserAustralia2024-05-26Commercial Press NEGOTIATION18Ioni Bowcher
1032Arvin W CampainGermany2024-05-18Benton, John B Jr RENEWAL66Amy Elsner
1033Isabel T NickaIndia2024-06-14Feiner Bros UNQUALIFIED6Ivan Magalhaes
1034Adams I GillianRussia2024-06-12Benton, John B Jr NEW19Bernardo Dominic
1035Clifford E GauchoRussia2024-05-21Rousseaux, Michael Esq NEGOTIATION32Bernardo Dominic
1036Silvio T SlusarskiArgentina2024-05-24Feiner Bros NEW67Elwin Sharvill
1037Nicolas F IturbideGermany2024-05-20Rousseaux, Michael Esq QUALIFIED12Elwin Sharvill
1038Isabel B MacleadSpain2024-05-20Benton, John B Jr UNQUALIFIED24Bernardo Dominic
1039Darci R IturbideItaly2024-05-22Benton, John B Jr PROPOSAL69Onyama Limba
1040Jennifer M MorascaJapan2024-05-28Truhlar And Truhlar Attys NEGOTIATION81Onyama Limba
1041Aika J ButtRussia2024-05-25Morlong Associates PROPOSAL62Asiya Javayant
1042Mujtaba W DarakjyFrance2024-05-19Morlong Associates RENEWAL83Bernardo Dominic
1043Morrow S SlusarskiIndia2024-05-30Morlong Associates NEW34Xuxue Feng
1044Aruna Q GauchoIndia2024-05-27Printing Dimensions QUALIFIED93Bernardo Dominic
1045Johnson H OldroydBrazil2024-06-11King, Christopher A Esq NEGOTIATION25Ivan Magalhaes
1046Mujtaba P SergiJapan2024-05-24King, Christopher A Esq RENEWAL83Onyama Limba
1047Emily C GlickGermany2024-06-10Rousseaux, Michael Esq RENEWAL1Ioni Bowcher
1048Ricardo J WieserAustralia2024-06-09Printing Dimensions NEW48Onyama Limba
1049Faith U WieserCanada2024-05-31Rangoni Of Florence QUALIFIED95Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio M MorascaSpainIvan Magalhaes NEGOTIATION
Jones E DilliardSpainOnyama Limba QUALIFIED
Morrow I WhobreyItalyAsiya Javayant NEW
Rodrigues Q RoysterCanadaStephen Shaw QUALIFIED
Morrow C NickaBrazilElwin Sharvill RENEWAL
Wickens D GauchoIndiaAsiya Javayant PROPOSAL
Deepesh G CaldareraJapanElwin Sharvill UNQUALIFIED
Silvio R StensethGermanyStephen Shaw NEW
Claire J MaletJapanStephen Shaw NEW
Chavez D OstroskyItalyIoni Bowcher QUALIFIED
Faith L RulapaughCanadaElwin Sharvill QUALIFIED
Kaitlin W AlbaresItalyStephen Shaw PROPOSAL
Faith R GlickBrazilAnna Fali RENEWAL
Jennifer X MacleadJapanStephen Shaw RENEWAL
Leja W WaycottRussiaBernardo Dominic NEW
Francesco C ChuiJapanAnna Fali QUALIFIED
Mayumi A TollnerRussiaElwin Sharvill QUALIFIED
Cody P CaudyItalyOnyama Limba RENEWAL
Cody A DarakjyGermanyIoni Bowcher NEGOTIATION
Johnson J InouyeAustraliaElwin Sharvill NEGOTIATION
Jennifer I ButtRussiaBernardo Dominic NEW
Rodrigues T FollerFranceStephen Shaw NEW
Mujtaba D IturbideCanadaIoni Bowcher NEGOTIATION
Jefferson P RimBrazilElwin Sharvill NEGOTIATION
David R DilliardUnited KingdomBernardo Dominic RENEWAL
Mujtaba L SaylorsUnited KingdomAnna Fali RENEWAL
Ashley U VenereUnited KingdomAmy Elsner NEW
Jennifer U InouyeGermanyOnyama Limba UNQUALIFIED
Leja M SchemmerCanadaIoni Bowcher QUALIFIED
Octavia T BowleyJapanElwin Sharvill UNQUALIFIED
Arvin U DarakjyUnited KingdomElwin Sharvill UNQUALIFIED
Claire T OstroskyIndiaBernardo Dominic QUALIFIED
Adams L OldroydBrazilOnyama Limba NEGOTIATION
Greenwood V VenereCanadaXuxue Feng RENEWAL
Johnson E ShinkoGermanyIvan Magalhaes QUALIFIED
Cody Z MorascaCanadaStephen Shaw NEGOTIATION
Chavez B BriddickCanadaIoni Bowcher UNQUALIFIED
Deepesh R FollerItalyStephen Shaw NEW
Salvatore F MorascaRussiaElwin Sharvill QUALIFIED
Claire U MorascaBrazilIvan Magalhaes RENEWAL
Johnson I GarufiItalyXuxue Feng PROPOSAL
Maria F NestleAustraliaAsiya Javayant UNQUALIFIED
Misaki D OldroydArgentinaIvan Magalhaes UNQUALIFIED
Aditya U AmigonFranceOnyama Limba PROPOSAL
Juan L GillianBrazilStephen Shaw PROPOSAL
Sinclair U FerenczGermanyIoni Bowcher UNQUALIFIED
Tony Y CaudyUnited KingdomElwin Sharvill NEW
Silvio C KuskoItalyAsiya Javayant NEW
Deepesh P PoquetteUnited KingdomElwin Sharvill NEW
Aika V OldroydJapanAmy Elsner RENEWAL
Frozen Columns
Name
Stacey U Tollner
Maisha Q Campain
Claire E Venere
Rodrigues S Poquette
Deepesh N Paprocki
Aditya N Ruta
Jeanfrancois G Vocelka
Leja S Royster
Kadeem J Venere
Ivar G Maclead
Claire E Rulapaugh
Jeanfrancois W Tollner
Rodrigues J Figeroa
Faith P Vocelka
Kaitlin W Butt
Octavia K Caudy
Rodrigues B Caldarera
Johnson D Wieser
Ashley D Nestle
Greenwood T Briddick
Ashley J Caldarera
Adams E Vocelka
Cody S Iturbide
Leon K Oldroyd
Misaki M Saylors
Tony E Tollner
Misaki G Rulapaugh
Francesco I Vocelka
Costa N Iturbide
Morrow H Ostrosky
Julie Z Malet
Nicolas F Campain
Maisha N Garufi
Leja U Glick
Maisha U Campain
Silvio J Tollner
Aruna X Saylors
Arvin R Malet
Johnson S Gaucho
Jennifer P Stockham
Clifford I Wieser
David D Inouye
Smith Y Tollner
Nicolas J Bolognia
Darci R Rulapaugh
Ivar R Iturbide
Emily N Campain
Aika G Malet
Izzy G Ferencz
Johnson R Caldarera
IdCountryDate
1000India2024-05-25
1001Germany2024-05-22
1002Japan2024-06-05
1003Canada2024-05-30
1004Russia2024-05-21
1005India2024-06-13
1006Argentina2024-05-28
1007Japan2024-06-04
1008Japan2024-06-01
1009Argentina2024-05-25
1010Brazil2024-05-22
1011India2024-05-24
1012Brazil2024-05-19
1013Brazil2024-06-10
1014Japan2024-05-31
1015India2024-05-25
1016Brazil2024-05-23
1017Brazil2024-05-25
1018Russia2024-06-04
1019Australia2024-05-19
1020India2024-05-25
1021Canada2024-06-03
1022India2024-05-23
1023Italy2024-05-28
1024Brazil2024-06-06
1025Italy2024-05-20
1026Canada2024-05-21
1027India2024-05-22
1028Italy2024-05-23
1029Russia2024-06-11
1030Japan2024-05-24
1031United Kingdom2024-06-06
1032India2024-05-17
1033India2024-05-26
1034Spain2024-06-12
1035Brazil2024-05-27
1036Germany2024-05-24
1037United Kingdom2024-05-27
1038Germany2024-06-09
1039Italy2024-05-30
1040Australia2024-06-09
1041Canada2024-06-08
1042Japan2024-05-17
1043Italy2024-06-09
1044Canada2024-06-10
1045Japan2024-05-24
1046Spain2024-06-10
1047Brazil2024-05-26
1048Canada2024-05-19
1049India2024-06-12

On-Demand Data

NameIdCountryDate
Faith P Rim1000India2024-06-09
David H Figeroa1001Australia2024-05-25
Maria D Maclead1002Spain2024-05-19
Adams Y Rim1003Brazil2024-05-20
Sinclair I Waycott1004India2024-05-27
Costa D Royster1005Japan2024-06-06
Nicolas Y Nestle1006Spain2024-05-29
Arvin Y Darakjy1007Brazil2024-06-04
Tony M Tollner1008Argentina2024-05-27
Mayumi T Paprocki1009Germany2024-05-23
Maria P Ferencz1010Canada2024-06-06
Murillo L Figeroa1011Germany2024-06-10
Johnson Z Gillian1012Canada2024-05-25
Kadeem B Whobrey1013Australia2024-05-21
Leon P Maclead1014Italy2024-05-29
Kaitlin R Darakjy1015India2024-05-21
Julie P Figeroa1016Japan2024-05-18
Wickens B Perin1017Spain2024-05-19
Izzy S Garufi1018Russia2024-05-29
Jefferson K Amigon1019Italy2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy M GlickBrazilXuxue Feng NEW
Clifford P InouyeFranceAmy Elsner NEW
Sinclair Q SchemmerItalyElwin Sharvill QUALIFIED
Salvatore L FollerCanadaAsiya Javayant RENEWAL
Aika O BologniaItalyIoni Bowcher RENEWAL
Aruna B VocelkaGermanyAmy Elsner PROPOSAL
Cody E GillianSpainAnna Fali QUALIFIED
Mayumi I KuskoSpainIvan Magalhaes UNQUALIFIED
Francesco P FigeroaSpainStephen Shaw NEW
Kaitlin V CaudyAustraliaStephen Shaw NEGOTIATION
Chavez M PaprockiRussiaStephen Shaw RENEWAL
Murillo V NickaCanadaAnna Fali RENEWAL
Isabel J CampainAustraliaIoni Bowcher QUALIFIED
Jeanfrancois G BowleyRussiaIvan Magalhaes RENEWAL
Claire Q FerenczCanadaAsiya Javayant UNQUALIFIED
Aruna M BowleyRussiaAsiya Javayant NEW
Darci O CampainCanadaBernardo Dominic PROPOSAL
Mujtaba Z BriddickUnited KingdomBernardo Dominic QUALIFIED
Johnson C ButtBrazilXuxue Feng RENEWAL
Jefferson T BriddickIndiaIoni Bowcher PROPOSAL
Ashley C OstroskyItalyXuxue Feng NEW
James S IturbideIndiaAmy Elsner RENEWAL
Jefferson P BologniaBrazilElwin Sharvill NEGOTIATION
Adams J DoeJapanAnna Fali NEGOTIATION
Cody Z MaletItalyXuxue Feng RENEWAL
Ricardo B PaprockiFranceOnyama Limba RENEWAL
Costa W DarakjyGermanyIvan Magalhaes PROPOSAL
Silvio B CampainBrazilElwin Sharvill NEGOTIATION
Mujtaba A FlosiItalyXuxue Feng QUALIFIED
Isabel P WieserItalyAnna Fali PROPOSAL
Misaki H MarrierUnited KingdomIoni Bowcher QUALIFIED
Juan W ChuiJapanAmy Elsner RENEWAL
Wickens K PaprockiFranceAmy Elsner UNQUALIFIED
Aditya D MaletIndiaAnna Fali PROPOSAL
David K BologniaIndiaIvan Magalhaes QUALIFIED
Stacey E BowleyJapanElwin Sharvill PROPOSAL
Mujtaba S PerinIndiaOnyama Limba NEGOTIATION
Maisha A AlbaresRussiaOnyama Limba NEGOTIATION
Salvatore N MaletArgentinaIoni Bowcher NEGOTIATION
Johnson X CaudyCanadaOnyama 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>