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
Deepesh S SlusarskiIndiaBernardo Dominic PROPOSAL
Aruna R DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Leja C DoeArgentinaElwin Sharvill UNQUALIFIED
Aditya E StockhamIndiaStephen Shaw NEGOTIATION
Emily Q KolmetzSpainElwin Sharvill NEGOTIATION
Jones N CaudyIndiaIoni Bowcher UNQUALIFIED
Greenwood D DoeFranceBernardo Dominic UNQUALIFIED
Maisha P PaprockiBrazilAmy Elsner QUALIFIED
Adams P CaldareraRussiaStephen Shaw NEW
Wickens G PoquetteCanadaAnna Fali QUALIFIED
Wickens K PerinBrazilIvan Magalhaes RENEWAL
Francesco L CaldareraJapanOnyama Limba PROPOSAL
Darci L MaletBrazilAmy Elsner NEGOTIATION
Mujtaba N GlickGermanyBernardo Dominic NEGOTIATION
Izzy W GarufiItalyIvan Magalhaes NEW
Costa H GarufiUnited KingdomOnyama Limba RENEWAL
Emily E FollerFranceStephen Shaw UNQUALIFIED
Adams O PerinCanadaIoni Bowcher NEGOTIATION
Isabel A VenereIndiaAmy Elsner RENEWAL
Ivar A AmigonArgentinaIoni Bowcher RENEWAL
David G SlusarskiFranceBernardo Dominic UNQUALIFIED
Aditya Z RutaItalyAmy Elsner NEW
Alejandro F BologniaCanadaAmy Elsner RENEWAL
Claire C RulapaughAustraliaAsiya Javayant PROPOSAL
Octavia M GauchoAustraliaOnyama Limba NEGOTIATION
Aruna O MaletBrazilStephen Shaw UNQUALIFIED
Juan Q RulapaughIndiaXuxue Feng UNQUALIFIED
Morrow F MacleadRussiaStephen Shaw UNQUALIFIED
Ricardo N BowleyRussiaStephen Shaw QUALIFIED
Jennifer W DarakjyAustraliaElwin Sharvill UNQUALIFIED
Costa Q MorascaRussiaAsiya Javayant NEW
Nicolas R RutaGermanyAsiya Javayant UNQUALIFIED
Mayumi D NickaBrazilStephen Shaw PROPOSAL
Adams L NestleSpainIvan Magalhaes QUALIFIED
Mayumi O GlickUnited KingdomAsiya Javayant QUALIFIED
Salvatore D RimAustraliaIvan Magalhaes QUALIFIED
Maisha S InouyeSpainAmy Elsner QUALIFIED
Jeanfrancois D PerinJapanStephen Shaw NEGOTIATION
Smith P BowleyJapanStephen Shaw NEW
Claire R BriddickAustraliaOnyama Limba QUALIFIED
Adams S MaletIndiaAsiya Javayant RENEWAL
Darci W FollerBrazilElwin Sharvill QUALIFIED
Jefferson X DilliardFranceXuxue Feng NEW
Misaki Q CaldareraIndiaElwin Sharvill NEW
James Z ChuiUnited KingdomIoni Bowcher NEW
Nicolas E WieserCanadaElwin Sharvill NEW
Tony D DarakjyGermanyIoni Bowcher UNQUALIFIED
Morrow V BriddickBrazilBernardo Dominic NEGOTIATION
Mayumi T StensethArgentinaOnyama Limba UNQUALIFIED
Emily G DarakjyGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Johnson Y OstroskyRussiaElwin Sharvill QUALIFIED
James W IturbideCanadaAmy Elsner NEW
Mayumi Y KuskoJapanStephen Shaw NEW
Salvatore P OstroskyBrazilIoni Bowcher NEW
Aika I WhobreyBrazilAsiya Javayant NEGOTIATION
Chavez F CaldareraFranceStephen Shaw RENEWAL
Rodrigues P GauchoGermanyIvan Magalhaes NEW
Ashley T MaletUnited KingdomElwin Sharvill QUALIFIED
Misaki U MacleadIndiaAmy Elsner PROPOSAL
Smith R DilliardBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna S SergiJapan2024-05-30Feiner Bros PROPOSAL60Onyama Limba
1001Juan L AlbaresItaly2024-06-02Rousseaux, Michael Esq PROPOSAL27Bernardo Dominic
1002Darci G BowleyItaly2024-05-31Buckley Miller Wright NEW25Elwin Sharvill
1003Maisha R MorascaAustralia2024-05-29Buckley Miller Wright NEGOTIATION35Bernardo Dominic
1004Ivar G FollerIndia2024-06-13Feltz Printing Service RENEWAL92Asiya Javayant
1005Octavia H PerinGermany2024-06-16Morlong Associates UNQUALIFIED49Ioni Bowcher
1006Alejandro F FlosiIndia2024-06-11Buckley Miller Wright UNQUALIFIED67Ioni Bowcher
1007Aruna J WieserIndia2024-06-05Rousseaux, Michael Esq RENEWAL68Anna Fali
1008Claire D OldroydGermany2024-05-30Buckley Miller Wright UNQUALIFIED67Anna Fali
1009David W DilliardAustralia2024-06-15Benton, John B Jr UNQUALIFIED0Elwin Sharvill
1010Alejandro T FerenczFrance2024-06-10Chanay, Jeffrey A Esq QUALIFIED56Asiya Javayant
1011Salvatore I SergiBrazil2024-06-11Chanay, Jeffrey A Esq RENEWAL64Asiya Javayant
1012Stacey F FlosiIndia2024-06-16King, Christopher A Esq RENEWAL55Anna Fali
1013Misaki U ShinkoItaly2024-06-08Chanay, Jeffrey A Esq PROPOSAL68Xuxue Feng
1014Wickens E BriddickAustralia2024-06-15Rangoni Of Florence UNQUALIFIED30Elwin Sharvill
1015Smith N GillianSpain2024-06-01Rousseaux, Michael Esq PROPOSAL62Amy Elsner
1016Clifford Z RimItaly2024-06-15Benton, John B Jr NEGOTIATION50Elwin Sharvill
1017Faith S DarakjyIndia2024-06-19Feltz Printing Service UNQUALIFIED40Elwin Sharvill
1018Chavez E FlosiCanada2024-06-16Chapman, Ross E Esq NEGOTIATION25Amy Elsner
1019Octavia C BowleyCanada2024-06-09Rangoni Of Florence UNQUALIFIED38Anna Fali
1020Greenwood W MaletRussia2024-06-15Benton, John B Jr NEGOTIATION94Stephen Shaw
1021Julie C AmigonRussia2024-06-10Truhlar And Truhlar Attys RENEWAL31Ivan Magalhaes
1022Leja V VenereGermany2024-06-06Commercial Press UNQUALIFIED22Onyama Limba
1023Munro K PaprockiArgentina2024-06-13Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1024Jefferson D WhobreySpain2024-05-30Truhlar And Truhlar Attys NEW20Anna Fali
1025Smith Q FlosiFrance2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED44Ivan Magalhaes
1026Claire Q DarakjyRussia2024-06-08Printing Dimensions PROPOSAL39Asiya Javayant
1027Faith I CaldareraArgentina2024-06-01Feiner Bros UNQUALIFIED28Anna Fali
1028Salvatore E BriddickSpain2024-06-21Feltz Printing Service PROPOSAL56Onyama Limba
1029Jones M GarufiRussia2024-05-31Feiner Bros UNQUALIFIED59Amy Elsner
1030Jefferson P IturbideGermany2024-06-13Chanay, Jeffrey A Esq PROPOSAL12Asiya Javayant
1031Mujtaba W StockhamItaly2024-06-01Truhlar And Truhlar Attys PROPOSAL7Ioni Bowcher
1032Greenwood B MorascaIndia2024-06-17Rangoni Of Florence QUALIFIED43Bernardo Dominic
1033Jefferson Q WhobreyGermany2024-06-14Truhlar And Truhlar Attys PROPOSAL78Ioni Bowcher
1034David D FollerRussia2024-05-30Feiner Bros RENEWAL39Onyama Limba
1035Julie V DilliardGermany2024-05-30Truhlar And Truhlar Attys QUALIFIED14Anna Fali
1036Juan K CaudyAustralia2024-06-23Feltz Printing Service QUALIFIED82Amy Elsner
1037Ricardo G IturbideAustralia2024-06-16Feltz Printing Service RENEWAL67Anna Fali
1038Salvatore W MacleadIndia2024-06-24Chemel, James L Cpa PROPOSAL45Bernardo Dominic
1039Leon W MarrierGermany2024-06-20Morlong Associates UNQUALIFIED2Asiya Javayant
1040Munro U GlickIndia2024-06-04Dorl, James J Esq QUALIFIED52Ivan Magalhaes
1041Salvatore O GillianRussia2024-06-24Feiner Bros PROPOSAL39Onyama Limba
1042Clifford J SchemmerGermany2024-06-15Commercial Press RENEWAL70Bernardo Dominic
1043Leja R ButtJapan2024-05-26Feltz Printing Service NEGOTIATION46Bernardo Dominic
1044Munro B FerenczCanada2024-06-06Commercial Press QUALIFIED18Xuxue Feng
1045Ricardo V MarrierCanada2024-06-21Morlong Associates RENEWAL62Ivan Magalhaes
1046Juan O PaprockiBrazil2024-05-28Feltz Printing Service PROPOSAL0Asiya Javayant
1047Maisha H RoysterRussia2024-06-22Chemel, James L Cpa NEW21Xuxue Feng
1048Juan S GarufiBrazil2024-05-26Chapman, Ross E Esq NEGOTIATION1Xuxue Feng
1049Alejandro J PaprockiArgentina2024-06-05Truhlar And Truhlar Attys RENEWAL29Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues B SlusarskiUnited KingdomXuxue Feng PROPOSAL
Ivar F PaprockiSpainOnyama Limba RENEWAL
Isabel M AmigonUnited KingdomElwin Sharvill QUALIFIED
Stacey E BologniaBrazilAmy Elsner QUALIFIED
Rodrigues Y RulapaughBrazilAnna Fali NEGOTIATION
Smith R TollnerJapanBernardo Dominic RENEWAL
Isabel K FollerItalyAmy Elsner NEW
Aruna W DilliardFranceIvan Magalhaes UNQUALIFIED
Emily Z RutaCanadaIvan Magalhaes PROPOSAL
Aditya C StockhamCanadaAmy Elsner QUALIFIED
Aruna W FollerArgentinaElwin Sharvill PROPOSAL
Munro E WhobreyBrazilAmy Elsner NEW
Juan N MacleadArgentinaIoni Bowcher NEGOTIATION
Jefferson E PoquetteCanadaOnyama Limba UNQUALIFIED
Munro X NestleItalyAmy Elsner NEW
Silvio U KolmetzFranceBernardo Dominic PROPOSAL
Faith M CampainFranceOnyama Limba QUALIFIED
Rodrigues M MorascaUnited KingdomAsiya Javayant PROPOSAL
Juan P ShinkoRussiaAmy Elsner RENEWAL
Tony T KuskoAustraliaStephen Shaw NEGOTIATION
Ashley E FerenczUnited KingdomIvan Magalhaes QUALIFIED
Jennifer B OldroydSpainElwin Sharvill NEGOTIATION
Juan Y SlusarskiArgentinaXuxue Feng RENEWAL
Kaitlin Q DarakjySpainBernardo Dominic QUALIFIED
Rodrigues D RimCanadaIvan Magalhaes PROPOSAL
Munro J MaletItalyIvan Magalhaes RENEWAL
Mayumi R KolmetzItalyAnna Fali NEW
Ashley A OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues E WhobreyUnited KingdomIvan Magalhaes NEW
Darci H GarufiBrazilOnyama Limba UNQUALIFIED
Munro D BriddickJapanBernardo Dominic UNQUALIFIED
Morrow Z StensethCanadaBernardo Dominic UNQUALIFIED
Jennifer I BologniaGermanyOnyama Limba RENEWAL
Ivar Z RoysterCanadaBernardo Dominic NEW
Murillo P RimBrazilOnyama Limba PROPOSAL
Mayumi N WieserJapanElwin Sharvill PROPOSAL
Johnson U VocelkaGermanyBernardo Dominic NEGOTIATION
Jennifer S SlusarskiJapanAnna Fali NEGOTIATION
Tony I PoquetteIndiaBernardo Dominic QUALIFIED
Jennifer F GlickSpainElwin Sharvill NEW
Faith A FigeroaCanadaStephen Shaw PROPOSAL
Kaitlin N PaprockiGermanyElwin Sharvill PROPOSAL
Darci S BologniaRussiaOnyama Limba PROPOSAL
Aruna N NestleSpainBernardo Dominic RENEWAL
Salvatore T WhobreyUnited KingdomAmy Elsner PROPOSAL
Wickens Y DilliardItalyAnna Fali PROPOSAL
Johnson J AlbaresFranceAnna Fali UNQUALIFIED
Greenwood H SchemmerCanadaElwin Sharvill RENEWAL
Nicolas C MacleadBrazilStephen Shaw UNQUALIFIED
Emily C SaylorsAustraliaAsiya Javayant QUALIFIED
Frozen Columns
Name
Salvatore T Waycott
Wickens P Marrier
Stacey L Gillian
Smith W Rim
Emily O Albares
Greenwood P Inouye
Mayumi M Dilliard
Costa I Schemmer
David T Glick
Nicolas Z Inouye
Mujtaba U Bowley
Maria N Kolmetz
Isabel R Campain
James Z Nestle
Aditya T Doe
Jeanfrancois G Oldroyd
Arvin V Maclead
Clifford Q Sergi
Izzy D Sergi
Emily K Nicka
Alejandro X Nicka
Deepesh L Campain
Misaki Y Albares
Izzy G Venere
Claire D Nicka
Ashley U Iturbide
Rodrigues S Morasca
Emily V Schemmer
Ricardo O Whobrey
Smith E Albares
Aika O Saylors
Johnson I Shinko
Julie R Ostrosky
Greenwood T Stockham
Kaitlin Q Malet
Maria O Whobrey
Johnson O Royster
Aditya W Caldarera
Juan Q Bolognia
Leon G Nestle
Smith V Tollner
Aruna E Morasca
Jefferson O Campain
Clifford Q Vocelka
Salvatore S Waycott
Aditya N Rulapaugh
Alejandro V Kolmetz
Arvin C Ostrosky
Smith P Stenseth
Silvio T Iturbide
IdCountryDate
1000Italy2024-06-13
1001Russia2024-06-04
1002Japan2024-06-02
1003Australia2024-06-14
1004Spain2024-06-12
1005Brazil2024-06-01
1006Brazil2024-06-08
1007United Kingdom2024-06-20
1008Japan2024-06-22
1009India2024-06-15
1010Italy2024-06-21
1011Russia2024-05-28
1012Australia2024-06-17
1013Germany2024-06-10
1014Spain2024-06-04
1015Spain2024-06-05
1016Russia2024-06-20
1017India2024-06-17
1018Spain2024-06-12
1019Brazil2024-06-02
1020Canada2024-06-06
1021Australia2024-06-04
1022Italy2024-06-05
1023India2024-05-26
1024Canada2024-06-21
1025Japan2024-05-28
1026Spain2024-06-09
1027United Kingdom2024-05-26
1028Germany2024-06-09
1029Canada2024-06-14
1030Brazil2024-06-22
1031Russia2024-06-13
1032Argentina2024-06-06
1033Argentina2024-06-13
1034United Kingdom2024-06-16
1035Russia2024-06-21
1036Australia2024-05-27
1037Spain2024-06-05
1038Germany2024-05-27
1039Argentina2024-06-09
1040India2024-06-08
1041United Kingdom2024-06-07
1042Brazil2024-06-02
1043Argentina2024-06-12
1044Brazil2024-06-02
1045Argentina2024-06-06
1046Japan2024-05-28
1047Argentina2024-05-29
1048Germany2024-06-23
1049Japan2024-06-16

On-Demand Data

NameIdCountryDate
Deepesh D Glick1000Russia2024-06-09
Leja C Malet1001Canada2024-06-17
Emily Z Albares1002Germany2024-05-28
Aika O Ferencz1003Argentina2024-05-30
Emily W Briddick1004Italy2024-06-08
Costa E Kusko1005Canada2024-06-23
Ashley W Rim1006Spain2024-05-30
Johnson M Amigon1007France2024-06-10
Kaitlin V Tollner1008Spain2024-06-07
Mayumi G Maclead1009Germany2024-05-26
Smith L Shinko1010Russia2024-06-23
Jeanfrancois M Bowley1011Argentina2024-06-16
Julie W Malet1012United Kingdom2024-06-12
Octavia C Gillian1013Japan2024-05-26
Clifford M Inouye1014Australia2024-06-11
Ricardo V Perin1015Canada2024-06-20
Aruna R Rim1016Italy2024-06-20
Nicolas E Inouye1017India2024-06-05
Morrow F Stenseth1018Russia2024-06-14
Deepesh P Amigon1019Brazil2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon M CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Mayumi X ButtFranceAmy Elsner NEGOTIATION
Aditya A KuskoAustraliaIvan Magalhaes RENEWAL
Morrow V GauchoUnited KingdomAnna Fali PROPOSAL
Juan J AlbaresArgentinaStephen Shaw PROPOSAL
Munro R ButtIndiaIoni Bowcher UNQUALIFIED
Emily Q FlosiJapanIvan Magalhaes NEGOTIATION
Aika C WhobreyIndiaAmy Elsner PROPOSAL
Costa I DilliardSpainStephen Shaw PROPOSAL
Nicolas T MorascaFranceOnyama Limba RENEWAL
Greenwood M WaycottRussiaIoni Bowcher RENEWAL
Salvatore A FollerBrazilIvan Magalhaes QUALIFIED
Leja A PaprockiFranceBernardo Dominic NEW
Maria O PaprockiGermanyIvan Magalhaes RENEWAL
Mayumi I CampainUnited KingdomStephen Shaw UNQUALIFIED
Juan M KolmetzUnited KingdomBernardo Dominic PROPOSAL
Francesco T SlusarskiAustraliaElwin Sharvill QUALIFIED
Leon M RutaIndiaIoni Bowcher NEW
Antonio X GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson W InouyeJapanAsiya Javayant UNQUALIFIED
Silvio E MorascaItalyAsiya Javayant UNQUALIFIED
Adams Y StockhamIndiaStephen Shaw RENEWAL
Morrow W DilliardSpainAnna Fali NEGOTIATION
Nicolas B OldroydCanadaAsiya Javayant QUALIFIED
Munro B WaycottBrazilAmy Elsner NEGOTIATION
Chavez F GarufiArgentinaAsiya Javayant UNQUALIFIED
Juan W VenereItalyStephen Shaw NEGOTIATION
Nicolas W ChuiRussiaElwin Sharvill NEW
Aditya J AmigonArgentinaOnyama Limba RENEWAL
Arvin Z BologniaCanadaAmy Elsner NEGOTIATION
Darci F DarakjyItalyOnyama Limba PROPOSAL
Murillo L WhobreyRussiaAmy Elsner QUALIFIED
Maisha S GillianCanadaBernardo Dominic RENEWAL
Greenwood K NickaSpainIvan Magalhaes QUALIFIED
Darci E RoysterBrazilOnyama Limba NEGOTIATION
Greenwood J WhobreyCanadaBernardo Dominic PROPOSAL
Jeanfrancois K BowleyRussiaXuxue Feng UNQUALIFIED
James E FigeroaArgentinaXuxue Feng PROPOSAL
Murillo M AlbaresFranceOnyama Limba UNQUALIFIED
Maria W FerenczRussiaBernardo Dominic PROPOSAL

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