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
Leon C GillianIndiaStephen Shaw RENEWAL
Jennifer I GlickUnited KingdomStephen Shaw PROPOSAL
Wickens H FigeroaCanadaOnyama Limba QUALIFIED
Mujtaba N MarrierRussiaIvan Magalhaes QUALIFIED
Maria C DilliardUnited KingdomStephen Shaw UNQUALIFIED
Isabel E StensethIndiaAsiya Javayant NEW
Tony Y RimSpainBernardo Dominic QUALIFIED
Morrow P InouyeUnited KingdomAsiya Javayant NEW
David C AlbaresSpainAmy Elsner PROPOSAL
Leon U MaletItalyIoni Bowcher NEGOTIATION
Aditya H MaletItalyXuxue Feng RENEWAL
Antonio F AlbaresBrazilAmy Elsner NEGOTIATION
Adams T NestleJapanOnyama Limba PROPOSAL
Juan E PerinSpainOnyama Limba RENEWAL
Clifford A InouyeAustraliaAsiya Javayant PROPOSAL
Adams A SaylorsGermanyXuxue Feng QUALIFIED
Julie U BologniaUnited KingdomStephen Shaw NEGOTIATION
Clifford R RutaIndiaAnna Fali PROPOSAL
Jefferson C GarufiAustraliaBernardo Dominic QUALIFIED
Munro J GarufiIndiaElwin Sharvill NEGOTIATION
Jennifer B InouyeCanadaIoni Bowcher UNQUALIFIED
Deepesh P PerinGermanyAsiya Javayant NEW
Deepesh B RulapaughBrazilAnna Fali UNQUALIFIED
Kadeem R GlickFranceElwin Sharvill UNQUALIFIED
Rodrigues F MaletArgentinaStephen Shaw PROPOSAL
Aruna C GillianCanadaXuxue Feng UNQUALIFIED
Kaitlin P VocelkaIndiaAmy Elsner PROPOSAL
Munro U NestleItalyStephen Shaw NEW
Kaitlin K CaudyBrazilStephen Shaw QUALIFIED
Jennifer L IturbideItalyAmy Elsner NEGOTIATION
James K AmigonUnited KingdomBernardo Dominic RENEWAL
Costa G BriddickItalyIoni Bowcher QUALIFIED
Aruna U VocelkaUnited KingdomXuxue Feng NEW
Claire K NickaBrazilStephen Shaw QUALIFIED
Deepesh P VenereItalyIoni Bowcher UNQUALIFIED
Munro T FollerRussiaAnna Fali RENEWAL
Salvatore W BowleySpainIoni Bowcher QUALIFIED
Kaitlin V PerinArgentinaStephen Shaw PROPOSAL
Claire R NestleRussiaElwin Sharvill NEW
Ashley A CaldareraArgentinaOnyama Limba RENEWAL
Claire X PaprockiItalyAsiya Javayant UNQUALIFIED
Jefferson W PerinFranceXuxue Feng PROPOSAL
Isabel V ButtUnited KingdomStephen Shaw NEW
Deepesh U RimAustraliaAsiya Javayant NEGOTIATION
Rodrigues O ShinkoAustraliaStephen Shaw QUALIFIED
Arvin E FollerBrazilStephen Shaw QUALIFIED
Jones O GauchoSpainIoni Bowcher NEGOTIATION
Deepesh Z CaudyIndiaOnyama Limba NEGOTIATION
Misaki J OstroskyItalyStephen Shaw UNQUALIFIED
Faith F MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer R MorascaSpainElwin Sharvill PROPOSAL
Darci P RutaCanadaAmy Elsner UNQUALIFIED
Morrow Q StockhamItalyAmy Elsner NEW
Kaitlin T VocelkaCanadaAsiya Javayant PROPOSAL
Izzy U OstroskyBrazilXuxue Feng QUALIFIED
Francesco H BriddickJapanElwin Sharvill RENEWAL
Murillo J FerenczFranceXuxue Feng NEW
Ashley M RutaAustraliaAsiya Javayant RENEWAL
Munro B CampainIndiaAsiya Javayant NEGOTIATION
Isabel N GarufiUnited KingdomAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja Y GillianBrazil2024-06-08Chapman, Ross E Esq NEGOTIATION51Asiya Javayant
1001James A SlusarskiArgentina2024-06-17Printing Dimensions QUALIFIED48Onyama Limba
1002Adams I NestleItaly2024-06-17Truhlar And Truhlar Attys RENEWAL33Asiya Javayant
1003Leon N RutaBrazil2024-06-11Chemel, James L Cpa UNQUALIFIED17Amy Elsner
1004Sinclair A SchemmerIndia2024-06-19King, Christopher A Esq QUALIFIED88Ivan Magalhaes
1005Salvatore I VenereSpain2024-06-02Morlong Associates QUALIFIED67Amy Elsner
1006Julie P VenereIndia2024-06-22Morlong Associates NEGOTIATION15Amy Elsner
1007Octavia Q AmigonSpain2024-06-11Feltz Printing Service NEGOTIATION24Elwin Sharvill
1008Octavia T DoeIndia2024-06-18Morlong Associates NEGOTIATION7Xuxue Feng
1009Costa K PoquetteCanada2024-06-12Dorl, James J Esq NEGOTIATION3Ivan Magalhaes
1010Jeanfrancois L FigeroaGermany2024-06-13Rangoni Of Florence RENEWAL64Asiya Javayant
1011Kaitlin P FlosiJapan2024-06-10Dorl, James J Esq RENEWAL49Ioni Bowcher
1012Chavez E MaletIndia2024-06-11Buckley Miller Wright NEW31Ivan Magalhaes
1013Faith O IturbideGermany2024-06-09Benton, John B Jr NEGOTIATION93Amy Elsner
1014Misaki V NickaSpain2024-05-29Chemel, James L Cpa NEGOTIATION91Anna Fali
1015Jennifer F ShinkoRussia2024-06-02Chanay, Jeffrey A Esq NEGOTIATION26Ioni Bowcher
1016Clifford C ChuiGermany2024-06-13Commercial Press NEGOTIATION39Stephen Shaw
1017Mujtaba F AmigonGermany2024-05-30Truhlar And Truhlar Attys NEW70Amy Elsner
1018Kadeem J FollerFrance2024-06-09King, Christopher A Esq PROPOSAL40Bernardo Dominic
1019Johnson K StockhamJapan2024-06-21Rangoni Of Florence UNQUALIFIED42Xuxue Feng
1020Morrow W GillianRussia2024-06-23Chapman, Ross E Esq QUALIFIED48Bernardo Dominic
1021Smith X WhobreyFrance2024-06-03Printing Dimensions NEW93Ivan Magalhaes
1022Jefferson U FollerUnited Kingdom2024-06-06Commercial Press UNQUALIFIED60Anna Fali
1023Jeanfrancois Q SergiUnited Kingdom2024-06-08Commercial Press PROPOSAL68Stephen Shaw
1024Salvatore G AmigonCanada2024-06-16Chapman, Ross E Esq NEGOTIATION79Anna Fali
1025Aika O StensethJapan2024-06-03Rousseaux, Michael Esq RENEWAL27Amy Elsner
1026Cody P DoeBrazil2024-06-12Printing Dimensions NEGOTIATION2Stephen Shaw
1027Chavez H WhobreyIndia2024-06-17Rousseaux, Michael Esq NEW16Ioni Bowcher
1028Octavia T GauchoItaly2024-05-29Chanay, Jeffrey A Esq NEGOTIATION20Asiya Javayant
1029Nicolas D GillianAustralia2024-05-30Rousseaux, Michael Esq RENEWAL61Ivan Magalhaes
1030Johnson M StensethCanada2024-06-17Dorl, James J Esq NEGOTIATION85Elwin Sharvill
1031Misaki Y FigeroaUnited Kingdom2024-06-11Commercial Press UNQUALIFIED35Ivan Magalhaes
1032Deepesh F StensethAustralia2024-06-19Feltz Printing Service NEW28Amy Elsner
1033Maisha X SaylorsCanada2024-06-23Printing Dimensions RENEWAL15Asiya Javayant
1034Francesco O PoquetteGermany2024-05-28Dorl, James J Esq NEGOTIATION83Elwin Sharvill
1035Darci J SchemmerUnited Kingdom2024-06-07Dorl, James J Esq UNQUALIFIED45Bernardo Dominic
1036Kaitlin R NickaSpain2024-06-13King, Christopher A Esq PROPOSAL40Xuxue Feng
1037Kadeem R NestleRussia2024-05-26Feiner Bros NEGOTIATION30Xuxue Feng
1038James W SergiGermany2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED83Bernardo Dominic
1039Octavia R MaletItaly2024-05-28Dorl, James J Esq NEGOTIATION97Onyama Limba
1040Aditya W WaycottItaly2024-06-03Chemel, James L Cpa NEW27Bernardo Dominic
1041Ricardo Q PerinSpain2024-06-16Chapman, Ross E Esq RENEWAL93Anna Fali
1042Johnson C StensethFrance2024-06-20Feltz Printing Service NEW43Xuxue Feng
1043Johnson G GarufiSpain2024-06-02King, Christopher A Esq PROPOSAL5Amy Elsner
1044Stacey V FerenczJapan2024-06-01King, Christopher A Esq NEW97Asiya Javayant
1045Smith F OldroydIndia2024-06-13Dorl, James J Esq NEW6Asiya Javayant
1046Ricardo P InouyeUnited Kingdom2024-06-11Truhlar And Truhlar Attys PROPOSAL21Ioni Bowcher
1047Ashley X FerenczFrance2024-06-08Rousseaux, Michael Esq PROPOSAL21Amy Elsner
1048Alejandro V VenereCanada2024-06-23Dorl, James J Esq QUALIFIED19Bernardo Dominic
1049Smith Y MacleadRussia2024-06-05Dorl, James J Esq NEW89Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem I DoeGermanyOnyama Limba NEW
David R VenereUnited KingdomXuxue Feng RENEWAL
Adams C OstroskyGermanyAmy Elsner NEW
James W FollerItalyElwin Sharvill UNQUALIFIED
Nicolas F RutaAustraliaElwin Sharvill NEGOTIATION
Adams F SergiCanadaBernardo Dominic PROPOSAL
Morrow H SergiJapanBernardo Dominic QUALIFIED
Murillo P CampainAustraliaXuxue Feng QUALIFIED
Aruna Q CampainUnited KingdomOnyama Limba PROPOSAL
Aditya B AmigonCanadaAsiya Javayant NEW
Johnson D IturbideItalyXuxue Feng NEW
Rodrigues P PoquetteRussiaIoni Bowcher PROPOSAL
Silvio N AlbaresSpainAnna Fali NEW
Jefferson W InouyeIndiaAmy Elsner PROPOSAL
Emily K BowleyFranceAnna Fali NEW
Nicolas Y OldroydSpainXuxue Feng NEGOTIATION
Misaki F CampainRussiaAnna Fali QUALIFIED
Ivar C GillianArgentinaXuxue Feng NEW
Leon O DoeArgentinaOnyama Limba PROPOSAL
Munro Y BologniaAustraliaAnna Fali NEW
Leon V BriddickItalyAnna Fali UNQUALIFIED
Claire U SchemmerAustraliaElwin Sharvill PROPOSAL
Aruna U FlosiUnited KingdomElwin Sharvill QUALIFIED
Kadeem J AmigonUnited KingdomIvan Magalhaes QUALIFIED
Morrow T SaylorsAustraliaAsiya Javayant RENEWAL
Silvio H MaletArgentinaIoni Bowcher PROPOSAL
Jennifer S RimRussiaStephen Shaw NEW
Maria C ButtBrazilStephen Shaw NEW
Stacey V GauchoItalyAsiya Javayant RENEWAL
Ivar Q BriddickArgentinaAsiya Javayant NEW
Morrow V DoeItalyAnna Fali RENEWAL
Tony K KolmetzCanadaXuxue Feng QUALIFIED
Smith E BologniaAustraliaOnyama Limba RENEWAL
Leja B StensethAustraliaIvan Magalhaes PROPOSAL
Ivar T OstroskyAustraliaXuxue Feng PROPOSAL
Stacey Q PoquetteJapanBernardo Dominic NEW
David E SlusarskiUnited KingdomElwin Sharvill NEW
Faith R StensethAustraliaAnna Fali NEW
Jones H RulapaughGermanyXuxue Feng NEW
Claire S PoquetteIndiaStephen Shaw QUALIFIED
Maisha L IturbideFranceIoni Bowcher PROPOSAL
Mujtaba F InouyeRussiaAsiya Javayant PROPOSAL
Wickens T RoysterSpainBernardo Dominic RENEWAL
Isabel C PoquetteArgentinaXuxue Feng UNQUALIFIED
Silvio F DoeJapanStephen Shaw UNQUALIFIED
Aditya E DilliardFranceAsiya Javayant RENEWAL
Kadeem R DilliardRussiaXuxue Feng UNQUALIFIED
Isabel K GarufiBrazilAnna Fali UNQUALIFIED
Kaitlin O FerenczRussiaBernardo Dominic NEGOTIATION
Costa Y CaudySpainAnna Fali UNQUALIFIED
Frozen Columns
Name
Cody M Morasca
Alejandro O Iturbide
Costa E Gaucho
Maria L Malet
Aika O Inouye
Maisha Y Venere
Johnson W Flosi
Izzy Q Inouye
Mayumi X Figeroa
Jefferson X Tollner
Arvin T Morasca
Kaitlin M Inouye
Juan K Figeroa
Munro N Doe
Costa W Slusarski
Aika O Darakjy
Claire X Whobrey
Salvatore Z Paprocki
Kadeem L Nicka
Jefferson E Royster
Jefferson Y Paprocki
Aika V Ruta
Adams A Sergi
Leon R Sergi
Jones G Caldarera
Mayumi S Campain
Ricardo A Glick
Jones N Nestle
Ivar M Nicka
Nicolas M Campain
Mujtaba Q Marrier
Antonio R Waycott
Sinclair C Perin
Jeanfrancois C Figeroa
Chavez S Albares
Adams Z Schemmer
Chavez C Iturbide
Wickens Z Malet
Deepesh Y Foller
Alejandro O Poquette
David F Inouye
Faith E Gaucho
Maisha H Rulapaugh
Aruna O Shinko
Murillo N Glick
Costa U Ferencz
David O Ferencz
Smith V Kusko
Morrow D Whobrey
Costa A Gillian
IdCountryDate
1000Germany2024-06-09
1001Germany2024-06-13
1002India2024-06-01
1003Spain2024-05-31
1004France2024-06-17
1005Brazil2024-05-30
1006Japan2024-06-20
1007Australia2024-06-23
1008Japan2024-06-08
1009Germany2024-06-22
1010Canada2024-05-27
1011Italy2024-06-07
1012Germany2024-06-12
1013India2024-06-08
1014Spain2024-06-22
1015Canada2024-06-09
1016Canada2024-06-22
1017India2024-06-21
1018France2024-06-09
1019France2024-06-10
1020Australia2024-05-28
1021Russia2024-06-11
1022India2024-06-17
1023Argentina2024-06-12
1024Germany2024-06-19
1025Spain2024-06-04
1026Germany2024-06-08
1027Italy2024-06-21
1028Russia2024-06-08
1029Argentina2024-06-18
1030Russia2024-06-21
1031United Kingdom2024-06-03
1032France2024-06-08
1033Russia2024-06-09
1034Japan2024-06-15
1035India2024-06-09
1036France2024-06-23
1037Germany2024-05-29
1038India2024-06-06
1039France2024-06-23
1040France2024-06-14
1041India2024-06-01
1042United Kingdom2024-06-19
1043United Kingdom2024-06-08
1044Russia2024-06-15
1045United Kingdom2024-06-01
1046Brazil2024-06-06
1047Canada2024-06-16
1048Germany2024-06-08
1049India2024-05-31

On-Demand Data

NameIdCountryDate
Rodrigues X Stenseth1000Italy2024-06-11
Johnson W Amigon1001United Kingdom2024-06-10
Johnson S Sergi1002Brazil2024-06-16
Rodrigues E Marrier1003France2024-06-13
Stacey R Malet1004Russia2024-06-14
Francesco H Caudy1005France2024-06-01
Jeanfrancois L Caudy1006Canada2024-05-29
Aruna Z Kusko1007Germany2024-06-21
Leja Y Glick1008Australia2024-06-04
Mayumi W Gillian1009India2024-05-25
Emily N Whobrey1010Russia2024-06-09
Smith I Royster1011Spain2024-06-09
Izzy B Chui1012United Kingdom2024-05-31
Ricardo S Caldarera1013United Kingdom2024-06-22
Jeanfrancois O Oldroyd1014Germany2024-05-25
Smith I Nestle1015United Kingdom2024-06-01
Deepesh W Royster1016Russia2024-06-08
Nicolas H Marrier1017Australia2024-06-22
Julie D Caudy1018Argentina2024-06-10
Nicolas G Rim1019Germany2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Y WieserItalyAnna Fali NEW
Ricardo R KuskoIndiaIvan Magalhaes PROPOSAL
Kadeem M StockhamFranceXuxue Feng NEW
Tony R SaylorsJapanElwin Sharvill PROPOSAL
Morrow E PoquetteJapanAsiya Javayant PROPOSAL
Chavez R PaprockiFranceStephen Shaw PROPOSAL
Faith T StockhamGermanyBernardo Dominic RENEWAL
Morrow O DilliardIndiaAsiya Javayant NEW
Octavia H DilliardBrazilElwin Sharvill NEW
Maria I FerenczIndiaBernardo Dominic PROPOSAL
Claire D CampainIndiaStephen Shaw NEGOTIATION
Octavia D RimGermanyAmy Elsner QUALIFIED
Claire M KolmetzItalyAnna Fali PROPOSAL
Leja Z PaprockiCanadaIoni Bowcher UNQUALIFIED
Kaitlin T RoysterIndiaAmy Elsner UNQUALIFIED
Juan W MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Arvin Y DarakjyFranceXuxue Feng NEGOTIATION
James O WaycottGermanyIvan Magalhaes RENEWAL
Nicolas U OldroydIndiaOnyama Limba QUALIFIED
Darci C MaletJapanIvan Magalhaes NEW
Maria K PerinAustraliaElwin Sharvill NEW
Octavia H FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Cody L NickaJapanAmy Elsner NEGOTIATION
Tony S StockhamUnited KingdomOnyama Limba UNQUALIFIED
Nicolas C AlbaresArgentinaAsiya Javayant NEW
Aika Y CaldareraCanadaAsiya Javayant PROPOSAL
Smith N RimSpainAsiya Javayant NEW
Mujtaba X MaletFranceIoni Bowcher PROPOSAL
Chavez O BowleyRussiaOnyama Limba UNQUALIFIED
Maria E SlusarskiItalyIvan Magalhaes NEW
Claire D SchemmerItalyAsiya Javayant UNQUALIFIED
Arvin G MaletItalyOnyama Limba NEW
Rodrigues F MaletFranceAmy Elsner UNQUALIFIED
Cody D FigeroaGermanyElwin Sharvill NEW
Faith A GauchoJapanAnna Fali UNQUALIFIED
Stacey V DoeJapanXuxue Feng NEW
Darci F GarufiFranceStephen Shaw PROPOSAL
Cody K MarrierGermanyAsiya Javayant PROPOSAL
Salvatore B FollerArgentinaAsiya Javayant NEGOTIATION
Mayumi K VocelkaRussiaAnna Fali 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>