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
Wickens M ShinkoFranceOnyama Limba NEW
Clifford X MaletItalyAnna Fali UNQUALIFIED
Mujtaba J BologniaItalyIoni Bowcher NEW
Nicolas H InouyeBrazilIoni Bowcher NEW
Jefferson E SergiIndiaIoni Bowcher RENEWAL
Maria M StockhamIndiaOnyama Limba UNQUALIFIED
Tony S WaycottJapanBernardo Dominic RENEWAL
Johnson Y RimBrazilAmy Elsner NEW
Cody M CaldareraJapanOnyama Limba QUALIFIED
Antonio K NestleUnited KingdomIvan Magalhaes PROPOSAL
Ashley H RulapaughAustraliaIoni Bowcher RENEWAL
Tony S GlickArgentinaXuxue Feng NEGOTIATION
Faith T RimIndiaIvan Magalhaes NEGOTIATION
Aditya W PerinJapanElwin Sharvill NEGOTIATION
Johnson U PerinCanadaElwin Sharvill RENEWAL
Jeanfrancois J KolmetzCanadaAmy Elsner PROPOSAL
Juan O BologniaIndiaElwin Sharvill QUALIFIED
Sinclair F ChuiUnited KingdomIoni Bowcher NEGOTIATION
Misaki B MacleadAustraliaIvan Magalhaes QUALIFIED
Stacey Y InouyeSpainAmy Elsner RENEWAL
Mujtaba M GauchoBrazilIoni Bowcher QUALIFIED
Sinclair Q MarrierGermanyIvan Magalhaes PROPOSAL
Nicolas R GillianFranceStephen Shaw PROPOSAL
Adams U WieserAustraliaOnyama Limba NEGOTIATION
Wickens T BowleySpainAsiya Javayant QUALIFIED
Munro F CampainUnited KingdomBernardo Dominic NEW
Ricardo C AlbaresArgentinaOnyama Limba PROPOSAL
Cody V BologniaItalyAsiya Javayant PROPOSAL
Misaki D AmigonBrazilIvan Magalhaes RENEWAL
Rodrigues Z SchemmerArgentinaStephen Shaw NEGOTIATION
Jeanfrancois D AmigonFranceAmy Elsner NEW
Faith T SchemmerJapanElwin Sharvill PROPOSAL
Nicolas B FerenczRussiaAnna Fali NEGOTIATION
Emily U CampainIndiaAsiya Javayant NEW
Octavia U OstroskyGermanyXuxue Feng NEW
Mujtaba H KolmetzJapanOnyama Limba PROPOSAL
Murillo Q WieserUnited KingdomOnyama Limba UNQUALIFIED
Claire V GauchoArgentinaElwin Sharvill NEW
Jefferson U WieserBrazilAsiya Javayant PROPOSAL
Jefferson H KuskoJapanIvan Magalhaes NEGOTIATION
Ashley K NestleBrazilAnna Fali NEGOTIATION
Jefferson D SlusarskiCanadaAsiya Javayant NEGOTIATION
Tony R StockhamBrazilAsiya Javayant PROPOSAL
Ashley D CampainFranceOnyama Limba NEW
Kaitlin Z CaudyArgentinaAsiya Javayant PROPOSAL
Aika L BriddickArgentinaOnyama Limba NEW
Antonio N DarakjySpainOnyama Limba QUALIFIED
David A RulapaughBrazilAnna Fali QUALIFIED
Silvio B VocelkaJapanIoni Bowcher NEGOTIATION
Tony F SlusarskiAustraliaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo E PoquetteItalyAmy Elsner PROPOSAL
Morrow I PaprockiItalyAnna Fali QUALIFIED
Sinclair J WhobreyBrazilAsiya Javayant PROPOSAL
Ricardo F NickaFranceXuxue Feng QUALIFIED
Maisha P FigeroaAustraliaIvan Magalhaes NEW
Leon U ShinkoJapanIvan Magalhaes QUALIFIED
Chavez F VocelkaSpainAnna Fali QUALIFIED
Aditya C MacleadItalyAmy Elsner NEGOTIATION
Antonio X FigeroaUnited KingdomAsiya Javayant QUALIFIED
Emily O MaletFranceOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro K FerenczRussia2024-05-26Rangoni Of Florence NEGOTIATION71Asiya Javayant
1001Mayumi E StensethGermany2024-06-02Truhlar And Truhlar Attys PROPOSAL7Amy Elsner
1002Aruna X MarrierAustralia2024-06-12Rousseaux, Michael Esq QUALIFIED31Amy Elsner
1003Sinclair G WieserSpain2024-06-12Rousseaux, Michael Esq RENEWAL56Elwin Sharvill
1004Smith A BologniaIndia2024-06-09Rangoni Of Florence RENEWAL63Ivan Magalhaes
1005Murillo N FlosiArgentina2024-05-27Chemel, James L Cpa NEGOTIATION67Anna Fali
1006Mayumi A MaletGermany2024-06-01Buckley Miller Wright RENEWAL97Stephen Shaw
1007James E StockhamCanada2024-06-21Feiner Bros PROPOSAL69Elwin Sharvill
1008David C SchemmerItaly2024-06-20Rangoni Of Florence UNQUALIFIED19Ivan Magalhaes
1009Costa O InouyeBrazil2024-06-14Buckley Miller Wright NEGOTIATION17Amy Elsner
1010Juan V GillianGermany2024-06-11Morlong Associates RENEWAL65Ivan Magalhaes
1011Munro A StockhamBrazil2024-06-18Chapman, Ross E Esq RENEWAL61Amy Elsner
1012Darci U FollerRussia2024-06-05Buckley Miller Wright RENEWAL26Bernardo Dominic
1013Ricardo D FollerAustralia2024-05-30Rangoni Of Florence PROPOSAL66Amy Elsner
1014Adams C OstroskyCanada2024-06-12King, Christopher A Esq NEGOTIATION46Bernardo Dominic
1015Stacey F PaprockiFrance2024-06-03Dorl, James J Esq RENEWAL79Amy Elsner
1016Adams N RoysterFrance2024-06-14Rousseaux, Michael Esq RENEWAL22Stephen Shaw
1017Clifford O TollnerBrazil2024-06-03Truhlar And Truhlar Attys PROPOSAL17Bernardo Dominic
1018Kaitlin E NickaRussia2024-06-18Benton, John B Jr NEW36Anna Fali
1019Maisha S RulapaughBrazil2024-05-29Benton, John B Jr RENEWAL62Ivan Magalhaes
1020Jennifer B OstroskyFrance2024-05-24Morlong Associates QUALIFIED69Onyama Limba
1021Munro C PoquetteBrazil2024-06-05King, Christopher A Esq NEGOTIATION6Amy Elsner
1022Aditya P MaletArgentina2024-05-29King, Christopher A Esq QUALIFIED51Bernardo Dominic
1023Nicolas B RulapaughAustralia2024-05-27Dorl, James J Esq UNQUALIFIED72Ioni Bowcher
1024David K StockhamBrazil2024-05-24Dorl, James J Esq RENEWAL98Asiya Javayant
1025David U MaletUnited Kingdom2024-06-03Chemel, James L Cpa QUALIFIED48Amy Elsner
1026Kadeem Q RutaCanada2024-05-25Morlong Associates NEW48Ivan Magalhaes
1027Chavez R CaudyArgentina2024-06-01Buckley Miller Wright QUALIFIED35Asiya Javayant
1028Mayumi T NickaItaly2024-06-08Rangoni Of Florence NEW4Ioni Bowcher
1029Jefferson D StensethCanada2024-06-20Rangoni Of Florence PROPOSAL64Ioni Bowcher
1030Maria L MorascaRussia2024-06-18Commercial Press NEW93Bernardo Dominic
1031Salvatore Y MarrierUnited Kingdom2024-05-28Benton, John B Jr QUALIFIED62Anna Fali
1032Juan N PerinBrazil2024-06-05Truhlar And Truhlar Attys UNQUALIFIED0Anna Fali
1033Aika I DilliardBrazil2024-05-29Chanay, Jeffrey A Esq QUALIFIED0Amy Elsner
1034Adams P BologniaJapan2024-06-18Chapman, Ross E Esq RENEWAL45Elwin Sharvill
1035Clifford C RimUnited Kingdom2024-06-01Truhlar And Truhlar Attys NEGOTIATION22Xuxue Feng
1036Julie B SergiCanada2024-06-03Feltz Printing Service QUALIFIED33Ivan Magalhaes
1037Aika Z OldroydIndia2024-06-12Chapman, Ross E Esq NEW23Stephen Shaw
1038Izzy D GillianIndia2024-06-20Morlong Associates NEGOTIATION5Ivan Magalhaes
1039Maisha X GauchoCanada2024-06-13Feiner Bros NEW12Elwin Sharvill
1040Munro Z WieserAustralia2024-06-17Buckley Miller Wright QUALIFIED26Bernardo Dominic
1041Munro X PoquetteRussia2024-05-25Morlong Associates UNQUALIFIED43Ioni Bowcher
1042Leon F BowleyCanada2024-05-25Chanay, Jeffrey A Esq RENEWAL35Onyama Limba
1043Ivar M FlosiSpain2024-06-20King, Christopher A Esq PROPOSAL19Elwin Sharvill
1044Kadeem K ShinkoGermany2024-06-13Chanay, Jeffrey A Esq RENEWAL1Asiya Javayant
1045James O NickaCanada2024-05-25Morlong Associates QUALIFIED82Xuxue Feng
1046Mayumi J SchemmerArgentina2024-06-16Chanay, Jeffrey A Esq RENEWAL20Ioni Bowcher
1047Misaki U IturbideAustralia2024-06-22Feltz Printing Service QUALIFIED16Amy Elsner
1048Morrow C CaudyRussia2024-06-12Buckley Miller Wright PROPOSAL33Onyama Limba
1049Morrow R SaylorsJapan2024-06-14Chapman, Ross E Esq UNQUALIFIED93Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika I WhobreyFranceIoni Bowcher UNQUALIFIED
Sinclair Z FigeroaFranceAnna Fali NEGOTIATION
Maria Y PerinUnited KingdomAmy Elsner NEW
Smith D WhobreyItalyElwin Sharvill NEW
Misaki Q RutaJapanElwin Sharvill NEGOTIATION
Misaki C AmigonBrazilAsiya Javayant PROPOSAL
Rodrigues J NestleJapanIoni Bowcher NEW
Costa W IturbideJapanXuxue Feng NEW
Jones F CaudyJapanBernardo Dominic QUALIFIED
Jeanfrancois X SaylorsCanadaAsiya Javayant PROPOSAL
Adams F MarrierArgentinaBernardo Dominic UNQUALIFIED
Tony W FerenczGermanyBernardo Dominic PROPOSAL
Greenwood U FerenczArgentinaIvan Magalhaes PROPOSAL
Kadeem W MorascaRussiaIoni Bowcher NEGOTIATION
Aika C IturbideCanadaAmy Elsner NEGOTIATION
Juan K WaycottJapanAnna Fali NEGOTIATION
Murillo K MaletUnited KingdomAmy Elsner NEGOTIATION
Nicolas R ShinkoJapanAnna Fali QUALIFIED
Stacey X VenereCanadaXuxue Feng RENEWAL
Clifford K ShinkoBrazilOnyama Limba PROPOSAL
Stacey Y BologniaIndiaIvan Magalhaes RENEWAL
Aika A RutaAustraliaAmy Elsner QUALIFIED
Chavez M NestleBrazilIoni Bowcher UNQUALIFIED
Smith J GauchoSpainAmy Elsner RENEWAL
Tony Y GillianBrazilXuxue Feng PROPOSAL
Ricardo E MacleadSpainAnna Fali UNQUALIFIED
Francesco Q IturbideItalyAnna Fali RENEWAL
Wickens A GillianBrazilIoni Bowcher PROPOSAL
Mujtaba G PaprockiRussiaAsiya Javayant PROPOSAL
Maria U WhobreyAustraliaAmy Elsner UNQUALIFIED
Leon O SlusarskiIndiaAnna Fali NEW
Chavez V PerinSpainIoni Bowcher NEGOTIATION
Adams S GillianJapanAmy Elsner PROPOSAL
Deepesh Y SlusarskiJapanBernardo Dominic UNQUALIFIED
Nicolas K FlosiArgentinaElwin Sharvill UNQUALIFIED
Kaitlin T StockhamAustraliaBernardo Dominic RENEWAL
Jeanfrancois E SchemmerSpainElwin Sharvill NEW
Alejandro P GauchoSpainStephen Shaw PROPOSAL
Rodrigues Q CaudyIndiaStephen Shaw NEW
Rodrigues S ChuiJapanAmy Elsner RENEWAL
Juan C GlickIndiaAmy Elsner NEW
Arvin Z SchemmerJapanOnyama Limba NEGOTIATION
James K NestleSpainStephen Shaw NEW
Silvio R GarufiUnited KingdomBernardo Dominic NEW
Tony Z GauchoSpainIvan Magalhaes UNQUALIFIED
Cody M DarakjyFranceAnna Fali NEGOTIATION
Leja M IturbideJapanStephen Shaw UNQUALIFIED
Ivar H RutaJapanBernardo Dominic NEGOTIATION
Mayumi L FollerSpainAsiya Javayant PROPOSAL
Misaki A ChuiJapanAnna Fali NEW
Frozen Columns
Name
Leja V Malet
Kaitlin S Butt
Nicolas V Chui
David Q Ferencz
Jennifer A Briddick
Sinclair Y Garufi
Murillo T Schemmer
Leon Y Tollner
Isabel O Bolognia
Julie Z Oldroyd
Isabel R Marrier
Kadeem B Gaucho
Faith R Amigon
Silvio L Foller
Maisha V Ostrosky
Greenwood W Glick
Aditya K Schemmer
Morrow R Morasca
Aditya D Caldarera
Mujtaba T Gaucho
Mujtaba H Garufi
Ricardo U Albares
Clifford F Briddick
Francesco U Sergi
Murillo O Flosi
Costa K Nicka
Jeanfrancois Z Chui
Kaitlin I Rulapaugh
Leja N Marrier
Izzy H Doe
Antonio A Whobrey
Jones B Inouye
Misaki Q Malet
Alejandro S Malet
Wickens T Bowley
Johnson W Bolognia
Maria G Marrier
Jeanfrancois Q Stenseth
Johnson N Oldroyd
Mujtaba A Poquette
Tony L Maclead
Smith N Kolmetz
Clifford L Whobrey
Maria X Briddick
Jeanfrancois V Wieser
Chavez V Ferencz
Greenwood Y Waycott
Silvio R Kusko
Julie W Rulapaugh
Kaitlin F Nicka
IdCountryDate
1000India2024-06-01
1001Japan2024-06-08
1002Russia2024-05-26
1003Germany2024-06-06
1004France2024-06-01
1005Germany2024-06-10
1006Germany2024-06-05
1007Russia2024-06-11
1008Spain2024-05-29
1009United Kingdom2024-06-09
1010Australia2024-05-26
1011Australia2024-05-29
1012Brazil2024-06-13
1013Spain2024-05-25
1014Italy2024-06-22
1015Russia2024-06-14
1016Brazil2024-06-08
1017Brazil2024-05-31
1018United Kingdom2024-06-18
1019France2024-05-29
1020Canada2024-06-06
1021Germany2024-05-28
1022Germany2024-06-15
1023India2024-06-05
1024Argentina2024-06-10
1025United Kingdom2024-05-29
1026Japan2024-06-15
1027Canada2024-06-21
1028France2024-06-04
1029India2024-05-28
1030India2024-06-13
1031Japan2024-05-30
1032Russia2024-05-24
1033India2024-06-13
1034France2024-06-02
1035Australia2024-06-21
1036India2024-05-27
1037Brazil2024-06-13
1038Argentina2024-06-18
1039India2024-05-26
1040Germany2024-06-05
1041Italy2024-06-04
1042Brazil2024-06-22
1043Argentina2024-06-01
1044Argentina2024-05-30
1045Italy2024-06-14
1046United Kingdom2024-05-24
1047Australia2024-06-08
1048Canada2024-06-07
1049Canada2024-06-07

On-Demand Data

NameIdCountryDate
Morrow T Gaucho1000United Kingdom2024-05-29
Juan W Shinko1001Spain2024-05-24
Kaitlin O Amigon1002France2024-05-30
Adams B Amigon1003Argentina2024-06-15
Jefferson H Dilliard1004Brazil2024-06-12
Aditya M Morasca1005United Kingdom2024-05-31
Jennifer O Perin1006Japan2024-06-19
Misaki O Gaucho1007United Kingdom2024-06-03
Jeanfrancois U Briddick1008Spain2024-05-29
Jennifer U Butt1009Brazil2024-06-15
James T Rim1010Australia2024-06-01
Jones H Slusarski1011Japan2024-06-20
Jeanfrancois S Ferencz1012Germany2024-06-09
Leon E Ruta1013Australia2024-05-24
Jeanfrancois S Tollner1014Germany2024-06-07
Ricardo G Iturbide1015Brazil2024-06-08
Emily G Morasca1016Germany2024-06-08
Alejandro U Maclead1017Argentina2024-05-27
Kaitlin A Rulapaugh1018Germany2024-06-11
Clifford L Maclead1019Argentina2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey T FerenczIndiaIoni Bowcher RENEWAL
Leon N IturbideFranceAmy Elsner NEGOTIATION
Cody F FerenczJapanXuxue Feng PROPOSAL
Silvio W BologniaSpainXuxue Feng QUALIFIED
Munro V MarrierItalyAmy Elsner RENEWAL
Emily G DilliardBrazilIvan Magalhaes NEGOTIATION
Ashley V TollnerFranceStephen Shaw UNQUALIFIED
Jefferson D WaycottGermanyIvan Magalhaes RENEWAL
Stacey I SlusarskiItalyAmy Elsner RENEWAL
Jefferson D IturbideJapanOnyama Limba PROPOSAL
Mujtaba X SchemmerCanadaBernardo Dominic RENEWAL
Kadeem G SaylorsUnited KingdomXuxue Feng PROPOSAL
Jefferson B CampainBrazilIvan Magalhaes UNQUALIFIED
Claire P NickaAustraliaAmy Elsner NEW
Claire C PoquetteRussiaElwin Sharvill RENEWAL
Adams R NestleBrazilOnyama Limba PROPOSAL
Murillo Q SaylorsGermanyOnyama Limba NEW
Ashley E CaldareraJapanIoni Bowcher PROPOSAL
Leon V IturbideArgentinaElwin Sharvill RENEWAL
Tony Y GillianJapanAnna Fali NEGOTIATION
Misaki L ChuiArgentinaIoni Bowcher PROPOSAL
Alejandro W CampainJapanBernardo Dominic NEW
Ashley T CaldareraFranceXuxue Feng NEW
James L GlickFranceAnna Fali QUALIFIED
James M WaycottGermanyXuxue Feng PROPOSAL
Maisha U WaycottIndiaStephen Shaw RENEWAL
Arvin S SchemmerIndiaBernardo Dominic NEW
Ashley G FollerFranceXuxue Feng NEGOTIATION
Ricardo X BriddickItalyBernardo Dominic NEW
Leja Q SergiRussiaElwin Sharvill RENEWAL
Aditya A RulapaughCanadaStephen Shaw QUALIFIED
Stacey M NestleCanadaAsiya Javayant PROPOSAL
Clifford Z NestleSpainXuxue Feng NEW
Misaki S BowleyGermanyAsiya Javayant QUALIFIED
Julie C WieserFranceXuxue Feng PROPOSAL
Sinclair K AlbaresGermanyAnna Fali NEGOTIATION
Munro I OldroydUnited KingdomIvan Magalhaes QUALIFIED
David D PoquetteArgentinaIoni Bowcher RENEWAL
Claire B MacleadIndiaAnna Fali UNQUALIFIED
Morrow F PaprockiIndiaIvan Magalhaes 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>