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 O OldroydItalyBernardo Dominic NEW
Mujtaba Z BowleyGermanyOnyama Limba QUALIFIED
Aruna H CaldareraIndiaIoni Bowcher NEGOTIATION
Darci V AlbaresBrazilAsiya Javayant NEW
Julie F CaldareraAustraliaStephen Shaw PROPOSAL
Misaki A SergiRussiaStephen Shaw PROPOSAL
Johnson R RulapaughRussiaOnyama Limba UNQUALIFIED
Chavez D FlosiJapanAnna Fali PROPOSAL
Claire Q RoysterJapanIoni Bowcher RENEWAL
Faith X MaletFranceAmy Elsner NEGOTIATION
Isabel Z StockhamAustraliaBernardo Dominic RENEWAL
Ivar K MarrierUnited KingdomStephen Shaw QUALIFIED
Deepesh Q NickaArgentinaAsiya Javayant QUALIFIED
Adams M RimUnited KingdomElwin Sharvill NEW
Sinclair Z IturbideGermanyOnyama Limba NEW
Juan M BowleyAustraliaStephen Shaw NEW
Morrow H KolmetzJapanIvan Magalhaes RENEWAL
Ivar U WhobreySpainIoni Bowcher QUALIFIED
Cody T RutaGermanyStephen Shaw QUALIFIED
Faith F FigeroaFranceAmy Elsner RENEWAL
Leja F SaylorsJapanBernardo Dominic NEW
Arvin V ChuiJapanOnyama Limba UNQUALIFIED
Greenwood M GlickFranceAsiya Javayant RENEWAL
Maisha B GlickArgentinaAnna Fali QUALIFIED
Costa G ButtBrazilStephen Shaw RENEWAL
James J StockhamBrazilAnna Fali QUALIFIED
Arvin R BriddickCanadaAmy Elsner PROPOSAL
Aditya Q WhobreyCanadaBernardo Dominic RENEWAL
Johnson B PerinBrazilBernardo Dominic UNQUALIFIED
Mujtaba V DarakjySpainIoni Bowcher NEGOTIATION
Mujtaba P FigeroaBrazilIvan Magalhaes NEGOTIATION
Mayumi R ButtGermanyAmy Elsner NEGOTIATION
James U RimItalyOnyama Limba PROPOSAL
Emily E SlusarskiItalyAmy Elsner PROPOSAL
Julie R RoysterJapanElwin Sharvill NEW
Sinclair O DoeGermanyIoni Bowcher QUALIFIED
Chavez D NestleFranceOnyama Limba PROPOSAL
Julie R StockhamRussiaAnna Fali QUALIFIED
Ricardo P MaletAustraliaIoni Bowcher RENEWAL
Jones H FollerItalyElwin Sharvill NEW
Faith P InouyeArgentinaElwin Sharvill NEGOTIATION
Murillo X PoquetteIndiaAsiya Javayant PROPOSAL
Misaki Z RutaRussiaAsiya Javayant UNQUALIFIED
Morrow C SaylorsGermanyStephen Shaw PROPOSAL
Mayumi Z StensethGermanyAsiya Javayant NEW
Smith E CaldareraArgentinaXuxue Feng RENEWAL
Rodrigues G DoeRussiaIoni Bowcher PROPOSAL
Chavez D KolmetzBrazilXuxue Feng RENEWAL
Ricardo L SchemmerGermanyBernardo Dominic NEGOTIATION
Maria J IturbideRussiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio Q NickaFranceIvan Magalhaes NEW
David C FlosiAustraliaAmy Elsner UNQUALIFIED
Jefferson Z DarakjyItalyBernardo Dominic QUALIFIED
Izzy G MorascaItalyAmy Elsner NEW
David K DoeGermanyBernardo Dominic NEGOTIATION
Aditya P NestleBrazilAsiya Javayant QUALIFIED
Aruna L BologniaGermanyAnna Fali NEW
Adams R SchemmerIndiaAmy Elsner NEGOTIATION
Kaitlin D OldroydItalyAnna Fali UNQUALIFIED
Izzy N SergiFranceIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba L OstroskyArgentina2025-04-24Feiner Bros PROPOSAL96Amy Elsner
1001Mujtaba L KuskoCanada2025-04-08Feiner Bros UNQUALIFIED6Elwin Sharvill
1002Munro C AmigonArgentina2025-04-09Chapman, Ross E Esq NEW24Asiya Javayant
1003Leja J DilliardArgentina2025-04-23Morlong Associates NEGOTIATION73Amy Elsner
1004Costa F StensethCanada2025-04-17Dorl, James J Esq QUALIFIED88Ioni Bowcher
1005Stacey R BowleyFrance2025-04-10King, Christopher A Esq PROPOSAL73Stephen Shaw
1006Kadeem A StockhamArgentina2025-04-05Chemel, James L Cpa NEW35Elwin Sharvill
1007Morrow F BowleyArgentina2025-04-07Commercial Press UNQUALIFIED12Anna Fali
1008Stacey T KolmetzUnited Kingdom2025-04-29Chanay, Jeffrey A Esq PROPOSAL83Ioni Bowcher
1009Kadeem B DoeGermany2025-04-21Feiner Bros RENEWAL4Elwin Sharvill
1010Tony D WaycottArgentina2025-04-28Morlong Associates UNQUALIFIED7Bernardo Dominic
1011Stacey R OstroskyAustralia2025-04-22Commercial Press UNQUALIFIED77Amy Elsner
1012Jennifer Q PerinJapan2025-04-22Printing Dimensions PROPOSAL34Xuxue Feng
1013Greenwood M MaletCanada2025-04-09Chanay, Jeffrey A Esq NEGOTIATION16Asiya Javayant
1014Cody R WhobreyCanada2025-04-18Buckley Miller Wright NEGOTIATION16Ioni Bowcher
1015Aditya P AmigonBrazil2025-04-21Printing Dimensions UNQUALIFIED17Asiya Javayant
1016Greenwood A NickaArgentina2025-04-04Rousseaux, Michael Esq NEW18Ivan Magalhaes
1017David D RutaUnited Kingdom2025-04-14Buckley Miller Wright NEW43Anna Fali
1018Emily R PerinCanada2025-04-28Feiner Bros PROPOSAL95Ioni Bowcher
1019Izzy C DoeJapan2025-04-11Chanay, Jeffrey A Esq PROPOSAL77Ivan Magalhaes
1020Ivar L WhobreyAustralia2025-04-27Printing Dimensions NEGOTIATION50Ioni Bowcher
1021Kaitlin E NestleCanada2025-04-10Truhlar And Truhlar Attys NEW45Stephen Shaw
1022Greenwood C AlbaresJapan2025-04-29Feltz Printing Service QUALIFIED11Anna Fali
1023Nicolas Z IturbideFrance2025-04-03Commercial Press UNQUALIFIED28Elwin Sharvill
1024Murillo J CaldareraUnited Kingdom2025-04-08Dorl, James J Esq UNQUALIFIED26Onyama Limba
1025Chavez N GarufiIndia2025-04-02Chanay, Jeffrey A Esq NEW96Elwin Sharvill
1026Munro L SaylorsFrance2025-04-28Chapman, Ross E Esq UNQUALIFIED53Elwin Sharvill
1027Ivar K OstroskyItaly2025-04-14Buckley Miller Wright NEGOTIATION90Asiya Javayant
1028Maisha Y BowleyItaly2025-04-22King, Christopher A Esq RENEWAL24Stephen Shaw
1029Morrow K InouyeCanada2025-04-24Printing Dimensions NEGOTIATION43Bernardo Dominic
1030Ricardo L AmigonArgentina2025-04-19Morlong Associates NEGOTIATION2Bernardo Dominic
1031Kadeem V OldroydUnited Kingdom2025-04-17Feiner Bros UNQUALIFIED23Stephen Shaw
1032Nicolas Q WieserGermany2025-04-28Printing Dimensions PROPOSAL55Onyama Limba
1033Stacey Z ShinkoJapan2025-04-11Morlong Associates QUALIFIED18Stephen Shaw
1034Francesco A AlbaresCanada2025-04-26Chapman, Ross E Esq UNQUALIFIED36Bernardo Dominic
1035Silvio A CaudyItaly2025-04-25Morlong Associates NEGOTIATION38Anna Fali
1036Kadeem F FollerArgentina2025-03-31Commercial Press UNQUALIFIED71Stephen Shaw
1037Cody M StockhamFrance2025-04-20Morlong Associates QUALIFIED15Ioni Bowcher
1038Silvio I OldroydAustralia2025-04-05Feiner Bros QUALIFIED17Stephen Shaw
1039Kaitlin R ShinkoBrazil2025-04-18Buckley Miller Wright NEGOTIATION82Bernardo Dominic
1040Johnson D ButtFrance2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED48Onyama Limba
1041Mayumi J MaletItaly2025-04-12Chanay, Jeffrey A Esq NEGOTIATION73Asiya Javayant
1042David V SlusarskiCanada2025-04-11Chapman, Ross E Esq QUALIFIED35Anna Fali
1043Misaki T OldroydItaly2025-04-02Chanay, Jeffrey A Esq UNQUALIFIED39Bernardo Dominic
1044Octavia C CaldareraIndia2025-04-13Feiner Bros PROPOSAL87Amy Elsner
1045Wickens U SergiRussia2025-04-11Truhlar And Truhlar Attys NEGOTIATION84Onyama Limba
1046Maria I MorascaFrance2025-04-28King, Christopher A Esq UNQUALIFIED28Anna Fali
1047Morrow D InouyeRussia2025-04-17Rousseaux, Michael Esq QUALIFIED90Onyama Limba
1048Maisha T RulapaughJapan2025-04-25Truhlar And Truhlar Attys UNQUALIFIED82Amy Elsner
1049Faith A InouyeFrance2025-04-08Feiner Bros NEW22Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens L BowleyFranceAmy Elsner QUALIFIED
Aika K MarrierAustraliaIvan Magalhaes NEW
Murillo P FerenczItalyOnyama Limba PROPOSAL
Deepesh H PoquetteArgentinaXuxue Feng UNQUALIFIED
Francesco S PaprockiJapanIoni Bowcher UNQUALIFIED
Kadeem E MarrierRussiaOnyama Limba NEW
Stacey V RulapaughGermanyAsiya Javayant NEW
Smith O StensethJapanXuxue Feng UNQUALIFIED
Leon Y SergiGermanyElwin Sharvill QUALIFIED
James E FollerFranceAnna Fali UNQUALIFIED
James Q SaylorsIndiaOnyama Limba QUALIFIED
Izzy J ButtJapanAmy Elsner QUALIFIED
Jennifer W RutaAustraliaStephen Shaw PROPOSAL
Chavez G NestleAustraliaAmy Elsner PROPOSAL
Darci C WaycottGermanyXuxue Feng RENEWAL
Deepesh U FerenczItalyIoni Bowcher UNQUALIFIED
Julie U RutaFranceIoni Bowcher QUALIFIED
Nicolas X CaudyIndiaElwin Sharvill UNQUALIFIED
Jennifer G TollnerCanadaStephen Shaw NEW
Jeanfrancois H CaudyItalyElwin Sharvill QUALIFIED
Aika W GarufiCanadaElwin Sharvill RENEWAL
Leja F MacleadJapanAmy Elsner NEGOTIATION
Cody D MaletUnited KingdomOnyama Limba NEW
Isabel E CaldareraRussiaXuxue Feng PROPOSAL
Aika P WieserGermanyStephen Shaw NEW
Cody M MorascaSpainAnna Fali NEGOTIATION
Julie Q FigeroaBrazilAsiya Javayant RENEWAL
Tony V DoeAustraliaElwin Sharvill RENEWAL
Octavia U BowleyAustraliaBernardo Dominic PROPOSAL
Faith R SaylorsFranceIoni Bowcher NEW
Maisha K DilliardFranceAmy Elsner NEW
Johnson F NestleCanadaAsiya Javayant UNQUALIFIED
Aditya N ShinkoFranceXuxue Feng RENEWAL
Leon P CaudyArgentinaOnyama Limba RENEWAL
Maisha I RimBrazilBernardo Dominic PROPOSAL
Antonio S ButtRussiaAmy Elsner NEGOTIATION
Julie X CaldareraItalyBernardo Dominic NEGOTIATION
Jeanfrancois S BriddickGermanyAmy Elsner PROPOSAL
Ashley P WaycottAustraliaAsiya Javayant PROPOSAL
Wickens V WaycottAustraliaAsiya Javayant RENEWAL
Greenwood I ChuiCanadaAnna Fali NEW
Leja B MorascaSpainIvan Magalhaes RENEWAL
Julie U GauchoRussiaIoni Bowcher NEGOTIATION
Ashley B AmigonGermanyAnna Fali NEGOTIATION
Isabel G MaletUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood V DarakjyArgentinaStephen Shaw RENEWAL
Francesco V CaldareraCanadaBernardo Dominic NEGOTIATION
Clifford X RoysterItalyIvan Magalhaes UNQUALIFIED
Aruna F RimJapanIvan Magalhaes NEGOTIATION
Chavez L BologniaCanadaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Kaitlin V Marrier
Aruna K Dilliard
Francesco R Slusarski
Deepesh H Waycott
Wickens T Butt
Nicolas H Schemmer
James D Perin
Izzy P Stockham
Clifford C Rim
Aika D Whobrey
Antonio L Amigon
Aika B Gillian
Nicolas W Garufi
Smith M Bowley
James C Nestle
James D Glick
David G Foller
Alejandro Z Poquette
Ivar K Paprocki
Claire R Poquette
Costa D Tollner
Faith X Dilliard
Antonio A Venere
Maria H Waycott
Jennifer G Vocelka
Misaki C Inouye
Morrow Q Gaucho
Leon E Shinko
Claire A Stenseth
Arvin V Foller
Nicolas M Paprocki
Sinclair S Rim
David X Kusko
Kaitlin G Marrier
Sinclair J Bolognia
Cody K Briddick
Juan P Briddick
Francesco M Darakjy
Darci E Schemmer
Kaitlin V Saylors
Clifford V Waycott
Isabel J Darakjy
Johnson S Campain
Alejandro R Oldroyd
Johnson Q Campain
Leon F Tollner
Francesco R Dilliard
Chavez B Malet
Smith V Butt
Jones M Darakjy
IdCountryDate
1000Japan2025-04-01
1001Japan2025-04-01
1002Germany2025-04-15
1003India2025-04-27
1004Spain2025-04-26
1005Spain2025-04-14
1006Italy2025-04-08
1007Italy2025-04-22
1008Italy2025-04-17
1009Argentina2025-04-01
1010Argentina2025-04-21
1011Brazil2025-04-29
1012France2025-04-01
1013France2025-04-18
1014Australia2025-04-24
1015Russia2025-04-11
1016Spain2025-04-22
1017Germany2025-04-26
1018Australia2025-03-31
1019Spain2025-04-20
1020Brazil2025-04-23
1021Canada2025-04-03
1022Argentina2025-04-22
1023Canada2025-04-20
1024Australia2025-04-10
1025Argentina2025-04-24
1026Canada2025-04-03
1027India2025-04-27
1028Italy2025-04-18
1029France2025-04-04
1030Canada2025-04-16
1031Germany2025-04-05
1032Brazil2025-04-08
1033Spain2025-04-21
1034Australia2025-04-11
1035Australia2025-04-16
1036Spain2025-04-23
1037Spain2025-04-22
1038India2025-04-20
1039Brazil2025-04-20
1040Germany2025-04-14
1041France2025-04-28
1042Argentina2025-04-03
1043Russia2025-04-24
1044United Kingdom2025-04-07
1045Spain2025-04-19
1046France2025-04-01
1047Australia2025-04-27
1048Australia2025-04-23
1049France2025-04-06

On-Demand Data

NameIdCountryDate
Antonio E Bowley1000Argentina2025-04-02
Jefferson D Briddick1001Germany2025-04-11
Leja Q Royster1002Canada2025-04-04
Faith F Marrier1003Japan2025-04-25
Wickens U Shinko1004Italy2025-04-25
Maria T Sergi1005France2025-04-16
Stacey J Malet1006Spain2025-04-06
Octavia K Ferencz1007India2025-04-23
Octavia F Perin1008Argentina2025-04-25
Emily L Rulapaugh1009Argentina2025-04-20
Jennifer I Ruta1010Canada2025-04-10
Kadeem R Darakjy1011France2025-04-20
Juan C Flosi1012Australia2025-04-12
Wickens Q Ruta1013Germany2025-04-04
Claire R Garufi1014Germany2025-04-20
Stacey E Bowley1015Japan2025-04-06
Emily X Marrier1016Spain2025-04-11
Stacey Z Oldroyd1017Germany2025-04-20
Morrow G Ruta1018Russia2025-04-18
Emily Z Inouye1019Russia2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna F VocelkaRussiaXuxue Feng PROPOSAL
Ashley H GauchoFranceOnyama Limba RENEWAL
Wickens W MaletUnited KingdomAsiya Javayant QUALIFIED
Clifford J GauchoRussiaAnna Fali RENEWAL
Silvio Q BriddickItalyOnyama Limba NEGOTIATION
Aruna L ChuiRussiaIoni Bowcher RENEWAL
Nicolas K VenereGermanyAnna Fali PROPOSAL
Juan D RulapaughGermanyXuxue Feng PROPOSAL
Deepesh N CampainJapanAmy Elsner RENEWAL
Antonio S AlbaresGermanyXuxue Feng QUALIFIED
Juan O WaycottIndiaBernardo Dominic NEGOTIATION
Jeanfrancois S OstroskyJapanXuxue Feng RENEWAL
Stacey G RutaJapanAmy Elsner PROPOSAL
Costa C PaprockiArgentinaAmy Elsner RENEWAL
Maria Z WaycottIndiaOnyama Limba NEW
Silvio H SaylorsCanadaBernardo Dominic NEGOTIATION
Kadeem X DilliardFranceXuxue Feng RENEWAL
Misaki Y TollnerFranceXuxue Feng RENEWAL
Arvin S KuskoGermanyBernardo Dominic NEW
Stacey L BriddickAustraliaXuxue Feng NEGOTIATION
Smith A OstroskyArgentinaBernardo Dominic PROPOSAL
Ivar M CampainItalyAmy Elsner RENEWAL
Claire U WhobreyFranceXuxue Feng NEW
Deepesh S SchemmerFranceElwin Sharvill RENEWAL
Jones J GillianSpainIvan Magalhaes UNQUALIFIED
Isabel P WhobreySpainBernardo Dominic PROPOSAL
Morrow H PerinUnited KingdomOnyama Limba PROPOSAL
Morrow A KuskoArgentinaAnna Fali NEGOTIATION
Mayumi A IturbideUnited KingdomAnna Fali NEW
Morrow G ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo N MaletIndiaXuxue Feng NEW
Kadeem F GauchoCanadaOnyama Limba PROPOSAL
Ashley R FerenczIndiaElwin Sharvill RENEWAL
Octavia O CaudyJapanXuxue Feng NEGOTIATION
Jeanfrancois A OldroydGermanyAmy Elsner UNQUALIFIED
Johnson Q AlbaresBrazilBernardo Dominic NEW
Nicolas R CampainSpainElwin Sharvill NEW
Ricardo M GillianAustraliaXuxue Feng QUALIFIED
Ashley G GarufiGermanyXuxue Feng PROPOSAL
Johnson R FlosiSpainAnna 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>