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
Antonio M AmigonSpainAnna Fali QUALIFIED
Kadeem M AmigonAustraliaXuxue Feng RENEWAL
Nicolas X ButtFranceBernardo Dominic UNQUALIFIED
Jefferson R BologniaItalyIoni Bowcher UNQUALIFIED
Isabel P PerinJapanOnyama Limba UNQUALIFIED
Francesco T PerinAustraliaBernardo Dominic PROPOSAL
Juan B RimItalyOnyama Limba QUALIFIED
Nicolas W CaldareraAustraliaAmy Elsner PROPOSAL
Maria Z CaldareraSpainElwin Sharvill NEGOTIATION
Faith K WaycottArgentinaAnna Fali UNQUALIFIED
Deepesh H KolmetzFranceBernardo Dominic NEW
Aruna T GarufiUnited KingdomAmy Elsner UNQUALIFIED
Aditya N ButtArgentinaBernardo Dominic NEW
Julie K MorascaRussiaStephen Shaw NEGOTIATION
Leon L PaprockiItalyStephen Shaw NEW
Murillo R MorascaBrazilOnyama Limba QUALIFIED
Emily X VocelkaAustraliaStephen Shaw UNQUALIFIED
Alejandro S BologniaArgentinaXuxue Feng RENEWAL
Francesco U ShinkoAustraliaAmy Elsner NEW
Juan H DilliardIndiaIvan Magalhaes QUALIFIED
Octavia V RoysterCanadaAmy Elsner PROPOSAL
Jennifer X FerenczRussiaOnyama Limba NEGOTIATION
Arvin Y OldroydSpainElwin Sharvill NEW
Kaitlin U WieserFranceXuxue Feng RENEWAL
David K TollnerSpainIoni Bowcher PROPOSAL
Leja E DoeFranceStephen Shaw PROPOSAL
Emily M DoeSpainAsiya Javayant NEW
Nicolas S KolmetzIndiaAsiya Javayant NEGOTIATION
Cody V PerinGermanyElwin Sharvill NEGOTIATION
Antonio B AmigonRussiaAmy Elsner PROPOSAL
Mayumi Z InouyeRussiaAnna Fali NEGOTIATION
Julie I PerinIndiaAsiya Javayant QUALIFIED
Salvatore B VocelkaBrazilAnna Fali PROPOSAL
Jones X RimAustraliaElwin Sharvill PROPOSAL
Smith R WieserFranceStephen Shaw QUALIFIED
Jeanfrancois R DilliardSpainAnna Fali PROPOSAL
Leon H DarakjyArgentinaXuxue Feng QUALIFIED
Johnson K RoysterJapanAnna Fali PROPOSAL
Morrow L NestleRussiaIvan Magalhaes NEGOTIATION
Adams U NickaJapanElwin Sharvill RENEWAL
Aika H InouyeAustraliaIvan Magalhaes UNQUALIFIED
Maria S MaletUnited KingdomAnna Fali NEGOTIATION
Silvio X CaldareraRussiaAsiya Javayant QUALIFIED
Aditya N SchemmerSpainIoni Bowcher RENEWAL
Cody W DarakjyItalyIvan Magalhaes RENEWAL
Julie Z SergiSpainElwin Sharvill NEW
Smith B DarakjyBrazilXuxue Feng RENEWAL
Emily Q NestleUnited KingdomAsiya Javayant RENEWAL
Cody X MaletRussiaXuxue Feng UNQUALIFIED
Mayumi W StockhamAustraliaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh Z FerenczCanadaIvan Magalhaes NEW
Octavia V AlbaresUnited KingdomAmy Elsner NEGOTIATION
Arvin Y MorascaSpainBernardo Dominic RENEWAL
Maisha B WieserArgentinaBernardo Dominic RENEWAL
Ricardo V ChuiCanadaXuxue Feng UNQUALIFIED
Chavez A FollerBrazilIvan Magalhaes UNQUALIFIED
Greenwood Z ChuiIndiaBernardo Dominic RENEWAL
Francesco Z GillianCanadaAmy Elsner PROPOSAL
Leja M WhobreyBrazilBernardo Dominic NEGOTIATION
Ashley J NestleRussiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Q MacleadBrazil2024-06-09King, Christopher A Esq RENEWAL72Bernardo Dominic
1001Greenwood F InouyeAustralia2024-06-02Morlong Associates PROPOSAL30Bernardo Dominic
1002Mayumi C BriddickArgentina2024-05-29Chapman, Ross E Esq RENEWAL80Xuxue Feng
1003Nicolas W FlosiUnited Kingdom2024-05-26Commercial Press QUALIFIED90Ivan Magalhaes
1004Chavez V ChuiBrazil2024-05-24Morlong Associates QUALIFIED85Xuxue Feng
1005Wickens X ChuiGermany2024-06-18Feiner Bros NEGOTIATION12Ioni Bowcher
1006Tony X BologniaBrazil2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED21Ioni Bowcher
1007Claire G PaprockiArgentina2024-06-01Feiner Bros RENEWAL17Elwin Sharvill
1008Juan D PerinUnited Kingdom2024-06-09Rangoni Of Florence QUALIFIED91Onyama Limba
1009Stacey K BriddickSpain2024-06-11Buckley Miller Wright NEW94Xuxue Feng
1010Ivar D OstroskyGermany2024-06-20Buckley Miller Wright NEW6Asiya Javayant
1011Arvin O PerinRussia2024-05-27King, Christopher A Esq NEGOTIATION83Asiya Javayant
1012Jennifer N DoeArgentina2024-06-03Rangoni Of Florence RENEWAL1Bernardo Dominic
1013Octavia U SergiItaly2024-06-14Morlong Associates NEW34Elwin Sharvill
1014Deepesh T MaletCanada2024-06-10Chanay, Jeffrey A Esq NEGOTIATION80Stephen Shaw
1015Adams F AmigonItaly2024-06-03Printing Dimensions PROPOSAL50Ioni Bowcher
1016Leon O RimFrance2024-06-13Truhlar And Truhlar Attys UNQUALIFIED66Onyama Limba
1017Faith K FollerBrazil2024-06-21Feltz Printing Service PROPOSAL85Asiya Javayant
1018Aruna F AmigonCanada2024-06-20Benton, John B Jr UNQUALIFIED28Bernardo Dominic
1019Kadeem O StensethCanada2024-06-18Printing Dimensions UNQUALIFIED52Xuxue Feng
1020Nicolas M DilliardBrazil2024-06-22Benton, John B Jr PROPOSAL11Ivan Magalhaes
1021Leon P WieserAustralia2024-06-12King, Christopher A Esq NEGOTIATION27Stephen Shaw
1022Jennifer Y ButtFrance2024-06-17Feiner Bros PROPOSAL25Elwin Sharvill
1023David P OldroydIndia2024-06-13Benton, John B Jr NEGOTIATION9Elwin Sharvill
1024Murillo E RoysterArgentina2024-06-07Rangoni Of Florence UNQUALIFIED58Xuxue Feng
1025Greenwood H PerinSpain2024-05-31Feiner Bros NEGOTIATION11Asiya Javayant
1026Ivar K KuskoJapan2024-06-20Printing Dimensions QUALIFIED8Onyama Limba
1027Jones C RutaFrance2024-06-11Buckley Miller Wright NEW22Ioni Bowcher
1028Smith V FollerGermany2024-06-06Rousseaux, Michael Esq UNQUALIFIED44Onyama Limba
1029Ricardo M BriddickGermany2024-06-12Feltz Printing Service NEW79Asiya Javayant
1030Octavia M GarufiGermany2024-05-27Commercial Press RENEWAL39Onyama Limba
1031Jones Q InouyeRussia2024-06-20Buckley Miller Wright RENEWAL62Onyama Limba
1032Julie V FollerSpain2024-06-13Rousseaux, Michael Esq NEW94Elwin Sharvill
1033Maisha D MacleadArgentina2024-06-09Chapman, Ross E Esq PROPOSAL70Asiya Javayant
1034Silvio U DarakjyCanada2024-06-07Feltz Printing Service NEGOTIATION19Ivan Magalhaes
1035Nicolas R OldroydAustralia2024-06-03Truhlar And Truhlar Attys RENEWAL7Elwin Sharvill
1036Salvatore T DilliardUnited Kingdom2024-06-02Chapman, Ross E Esq QUALIFIED32Elwin Sharvill
1037Izzy X OldroydBrazil2024-05-28Rousseaux, Michael Esq RENEWAL23Stephen Shaw
1038Claire E PoquetteRussia2024-05-29Benton, John B Jr RENEWAL85Asiya Javayant
1039Clifford Z SchemmerRussia2024-06-13Morlong Associates NEGOTIATION34Bernardo Dominic
1040Mujtaba D NestleBrazil2024-06-19Rousseaux, Michael Esq QUALIFIED53Asiya Javayant
1041Salvatore R VenereBrazil2024-06-08Rousseaux, Michael Esq QUALIFIED39Ivan Magalhaes
1042Adams Z SaylorsRussia2024-06-16Chanay, Jeffrey A Esq QUALIFIED37Amy Elsner
1043Izzy E AmigonArgentina2024-06-03Printing Dimensions RENEWAL43Elwin Sharvill
1044Wickens X NestleBrazil2024-06-10Truhlar And Truhlar Attys UNQUALIFIED3Asiya Javayant
1045James P OstroskyGermany2024-06-11Chapman, Ross E Esq NEGOTIATION56Anna Fali
1046Kaitlin B MacleadAustralia2024-06-09Chanay, Jeffrey A Esq NEW9Ioni Bowcher
1047Deepesh I NickaArgentina2024-06-11King, Christopher A Esq PROPOSAL30Anna Fali
1048Munro S GlickArgentina2024-06-21Chanay, Jeffrey A Esq NEGOTIATION90Elwin Sharvill
1049James R ButtUnited Kingdom2024-05-28Dorl, James J Esq PROPOSAL40Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues J SchemmerUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois A StockhamUnited KingdomBernardo Dominic PROPOSAL
Adams M ShinkoIndiaStephen Shaw PROPOSAL
Tony E CaudyArgentinaOnyama Limba UNQUALIFIED
Ricardo T SergiUnited KingdomIvan Magalhaes PROPOSAL
Deepesh W RimArgentinaIvan Magalhaes QUALIFIED
Sinclair P DoeArgentinaIvan Magalhaes NEW
Johnson M VocelkaIndiaElwin Sharvill NEW
Aika C MarrierJapanOnyama Limba NEGOTIATION
Arvin U AlbaresRussiaIvan Magalhaes QUALIFIED
Maisha A RutaIndiaBernardo Dominic RENEWAL
Johnson E MorascaRussiaIoni Bowcher PROPOSAL
Isabel X KolmetzCanadaAmy Elsner NEW
Johnson J DilliardItalyBernardo Dominic QUALIFIED
Ashley W SchemmerJapanIoni Bowcher NEW
Maisha N GillianItalyStephen Shaw PROPOSAL
Izzy K FlosiJapanStephen Shaw UNQUALIFIED
Rodrigues P MacleadSpainOnyama Limba UNQUALIFIED
Adams T PerinJapanAnna Fali NEGOTIATION
Antonio B CaldareraFranceAmy Elsner NEW
Maria B SergiRussiaStephen Shaw QUALIFIED
Darci B SaylorsUnited KingdomIoni Bowcher PROPOSAL
Izzy S AmigonAustraliaBernardo Dominic RENEWAL
David B FerenczCanadaBernardo Dominic NEGOTIATION
Ricardo R InouyeArgentinaAsiya Javayant QUALIFIED
Antonio Y BologniaItalyBernardo Dominic PROPOSAL
Munro W AmigonSpainAmy Elsner NEW
Claire H SlusarskiJapanXuxue Feng UNQUALIFIED
Octavia F BologniaBrazilAmy Elsner RENEWAL
Chavez U AmigonGermanyStephen Shaw UNQUALIFIED
Aditya C VenereIndiaBernardo Dominic PROPOSAL
Mayumi E SaylorsFranceIvan Magalhaes UNQUALIFIED
Ivar S SergiGermanyAnna Fali RENEWAL
Aditya D MacleadRussiaAsiya Javayant RENEWAL
Tony E MacleadCanadaStephen Shaw UNQUALIFIED
Maria O GillianJapanAmy Elsner QUALIFIED
Ricardo F DoeAustraliaAnna Fali QUALIFIED
Deepesh X SergiJapanElwin Sharvill RENEWAL
Ashley Y FerenczSpainStephen Shaw RENEWAL
Chavez L DoeGermanyBernardo Dominic QUALIFIED
Claire B PaprockiJapanIoni Bowcher RENEWAL
Adams H SaylorsCanadaElwin Sharvill PROPOSAL
Johnson N SlusarskiItalyBernardo Dominic NEW
Isabel W RoysterAustraliaAmy Elsner RENEWAL
Mujtaba Y TollnerIndiaOnyama Limba NEW
Deepesh F ShinkoJapanElwin Sharvill PROPOSAL
Tony W MorascaFranceAsiya Javayant QUALIFIED
Mayumi Z FerenczGermanyOnyama Limba QUALIFIED
Izzy I DarakjyFranceXuxue Feng UNQUALIFIED
Murillo U NestleGermanyXuxue Feng NEW
Frozen Columns
Name
Izzy K Albares
Alejandro X Venere
Salvatore P Gaucho
Wickens B Glick
David B Doe
Leon A Kolmetz
Juan E Bowley
Maisha T Bowley
Munro H Albares
Antonio K Foller
Kadeem P Ostrosky
Greenwood Y Bolognia
Leon D Inouye
Octavia C Campain
Munro B Caudy
Jefferson A Royster
Antonio Z Morasca
Claire Z Butt
Stacey C Campain
Stacey N Bolognia
Chavez P Slusarski
Aruna Q Bowley
Costa Q Wieser
Cody C Poquette
Silvio K Chui
Francesco X Malet
Mayumi D Campain
Faith P Ostrosky
Leja P Gaucho
Antonio K Briddick
Ashley S Rulapaugh
Rodrigues C Sergi
Tony Q Shinko
Maria P Gaucho
Faith W Amigon
Ivar J Caudy
Octavia X Chui
Aika V Vocelka
Smith L Ruta
Smith F Shinko
Faith N Sergi
Munro U Vocelka
Tony Z Foller
Stacey S Ostrosky
Antonio N Whobrey
Maria M Bolognia
Aruna J Perin
Deepesh D Vocelka
Leja N Stockham
Deepesh H Whobrey
IdCountryDate
1000Australia2024-06-04
1001Japan2024-06-04
1002Spain2024-06-05
1003Canada2024-05-27
1004Australia2024-06-16
1005Australia2024-06-12
1006Japan2024-06-22
1007Argentina2024-05-31
1008Australia2024-06-09
1009United Kingdom2024-05-28
1010Italy2024-06-08
1011Brazil2024-06-05
1012France2024-06-22
1013Italy2024-06-05
1014Spain2024-06-08
1015United Kingdom2024-06-22
1016Australia2024-06-11
1017France2024-05-24
1018Brazil2024-06-04
1019Brazil2024-05-25
1020Canada2024-06-22
1021India2024-06-10
1022India2024-06-02
1023Spain2024-06-11
1024France2024-06-12
1025Germany2024-05-28
1026Argentina2024-06-17
1027Russia2024-06-08
1028France2024-06-10
1029Brazil2024-05-29
1030Canada2024-06-17
1031Italy2024-05-30
1032France2024-06-21
1033Brazil2024-05-25
1034Canada2024-06-14
1035Japan2024-06-12
1036France2024-05-28
1037Russia2024-06-17
1038Argentina2024-06-12
1039Australia2024-06-07
1040Germany2024-06-07
1041Germany2024-06-13
1042Italy2024-06-06
1043Italy2024-05-28
1044Japan2024-05-29
1045Japan2024-06-20
1046India2024-06-01
1047India2024-05-27
1048Canada2024-05-30
1049Japan2024-05-30

On-Demand Data

NameIdCountryDate
Greenwood C Perin1000Brazil2024-06-04
Munro M Ferencz1001Italy2024-06-05
Leja V Gillian1002India2024-06-08
Rodrigues C Foller1003France2024-05-31
Jefferson V Garufi1004Argentina2024-06-11
Chavez A Campain1005Australia2024-05-26
Aditya B Morasca1006Argentina2024-05-28
Ivar W Caudy1007France2024-06-07
Arvin B Chui1008Japan2024-05-31
Johnson K Inouye1009Brazil2024-05-27
Greenwood G Flosi1010Australia2024-06-09
Jennifer O Slusarski1011United Kingdom2024-06-12
Francesco E Albares1012Brazil2024-06-02
Mayumi M Foller1013Spain2024-05-29
Jones N Stockham1014India2024-06-06
Nicolas Q Flosi1015Italy2024-06-05
Cody K Nicka1016Japan2024-06-04
Kaitlin H Darakjy1017Japan2024-06-20
Chavez Y Venere1018Canada2024-06-09
Aditya L Stenseth1019Canada2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo K WieserSpainAmy Elsner RENEWAL
Greenwood D PoquetteFranceBernardo Dominic PROPOSAL
Isabel U BologniaGermanyElwin Sharvill QUALIFIED
Chavez S DarakjyFranceElwin Sharvill PROPOSAL
Adams O FerenczIndiaIoni Bowcher PROPOSAL
Deepesh G WaycottItalyBernardo Dominic PROPOSAL
Mayumi I SaylorsRussiaAsiya Javayant NEGOTIATION
Aruna X WieserUnited KingdomOnyama Limba PROPOSAL
Isabel E NickaArgentinaBernardo Dominic PROPOSAL
Wickens K AmigonGermanyAmy Elsner NEW
Aruna H CampainUnited KingdomElwin Sharvill NEW
Cody K ButtIndiaAsiya Javayant NEGOTIATION
Rodrigues S WhobreyCanadaAnna Fali QUALIFIED
Smith O BriddickCanadaAnna Fali UNQUALIFIED
Jefferson K FerenczSpainOnyama Limba RENEWAL
Mayumi O CaldareraGermanyIoni Bowcher QUALIFIED
Cody S MorascaIndiaXuxue Feng NEW
Aika S CaudyJapanOnyama Limba UNQUALIFIED
Wickens O ButtFranceIoni Bowcher UNQUALIFIED
Tony B CaldareraRussiaStephen Shaw NEW
Clifford M DoeJapanAmy Elsner PROPOSAL
Rodrigues D MaletFranceXuxue Feng UNQUALIFIED
Leon S VenereCanadaStephen Shaw UNQUALIFIED
Salvatore Z KolmetzItalyIoni Bowcher UNQUALIFIED
Deepesh B VenereBrazilBernardo Dominic RENEWAL
Juan Y CampainBrazilOnyama Limba NEGOTIATION
Octavia E SaylorsJapanOnyama Limba NEGOTIATION
Mujtaba J SlusarskiJapanAmy Elsner UNQUALIFIED
Murillo G KolmetzBrazilIvan Magalhaes RENEWAL
Kaitlin Y SlusarskiArgentinaIvan Magalhaes RENEWAL
Salvatore Y AlbaresUnited KingdomOnyama Limba RENEWAL
Emily Q FlosiCanadaIvan Magalhaes NEW
Cody F BologniaArgentinaOnyama Limba QUALIFIED
Ricardo F RimUnited KingdomBernardo Dominic NEGOTIATION
Leja P DarakjyItalyIvan Magalhaes RENEWAL
Ivar W MaletItalyElwin Sharvill UNQUALIFIED
Aditya L SaylorsUnited KingdomXuxue Feng PROPOSAL
Alejandro E MarrierIndiaAsiya Javayant QUALIFIED
Aika H StockhamGermanyOnyama Limba PROPOSAL
Smith M NickaGermanyStephen Shaw NEGOTIATION

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