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
Maisha B CampainCanadaAnna Fali NEW
Munro U MorascaCanadaOnyama Limba QUALIFIED
Costa P VocelkaBrazilAnna Fali UNQUALIFIED
Adams G NestleUnited KingdomAsiya Javayant NEW
Kaitlin T GlickItalyIoni Bowcher RENEWAL
Cody C WieserItalyOnyama Limba NEW
Ashley O FigeroaIndiaIvan Magalhaes NEGOTIATION
Octavia C NickaIndiaIoni Bowcher NEGOTIATION
Ivar E InouyeRussiaAnna Fali NEGOTIATION
Ricardo Z MacleadIndiaIvan Magalhaes QUALIFIED
Leja S DarakjyGermanyOnyama Limba UNQUALIFIED
Jennifer K WhobreyBrazilOnyama Limba QUALIFIED
Stacey P GlickFranceOnyama Limba UNQUALIFIED
Clifford O ButtBrazilAnna Fali NEGOTIATION
Smith Y WhobreySpainBernardo Dominic NEGOTIATION
Aruna G CampainIndiaStephen Shaw PROPOSAL
Kaitlin I MaletItalyAmy Elsner RENEWAL
Leon C GarufiItalyOnyama Limba NEW
Salvatore L MacleadBrazilXuxue Feng NEGOTIATION
Deepesh S MorascaAustraliaIvan Magalhaes NEW
Clifford H StensethCanadaStephen Shaw QUALIFIED
James M VenereBrazilElwin Sharvill NEGOTIATION
Aruna L KuskoBrazilElwin Sharvill NEW
Munro N MaletSpainXuxue Feng QUALIFIED
Juan E SlusarskiSpainBernardo Dominic NEW
Stacey N SergiSpainAmy Elsner RENEWAL
Maria D FerenczFranceAsiya Javayant RENEWAL
Aika M MorascaIndiaXuxue Feng PROPOSAL
Faith F FollerAustraliaElwin Sharvill QUALIFIED
Izzy J ButtJapanStephen Shaw UNQUALIFIED
Mayumi N OstroskyGermanyElwin Sharvill RENEWAL
Aruna G MaletJapanBernardo Dominic UNQUALIFIED
Deepesh T FerenczAustraliaIoni Bowcher PROPOSAL
Johnson Z KolmetzFranceStephen Shaw UNQUALIFIED
Chavez T CampainRussiaIoni Bowcher RENEWAL
Juan H PaprockiRussiaAnna Fali RENEWAL
Murillo J FigeroaItalyIvan Magalhaes RENEWAL
Silvio Q RimFranceElwin Sharvill NEW
Isabel C PoquetteSpainIvan Magalhaes QUALIFIED
Costa T BriddickJapanXuxue Feng RENEWAL
Maria T CaudyGermanyAsiya Javayant NEGOTIATION
Isabel O NickaIndiaAsiya Javayant NEW
Deepesh X CampainAustraliaIoni Bowcher PROPOSAL
Munro Z OldroydGermanyIoni Bowcher UNQUALIFIED
Mujtaba K MaletCanadaAsiya Javayant RENEWAL
Greenwood D SaylorsAustraliaAmy Elsner PROPOSAL
Wickens M CaudyArgentinaBernardo Dominic NEGOTIATION
Silvio U AmigonAustraliaAmy Elsner UNQUALIFIED
Nicolas O AmigonArgentinaOnyama Limba PROPOSAL
David T ChuiFranceStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki X MarrierFranceXuxue Feng NEW
Johnson N MorascaCanadaBernardo Dominic NEW
Jones E BriddickCanadaIoni Bowcher QUALIFIED
Octavia L OstroskyIndiaAmy Elsner UNQUALIFIED
Aditya B BowleyArgentinaAsiya Javayant RENEWAL
Aditya W IturbideArgentinaAnna Fali QUALIFIED
Kaitlin L StockhamIndiaStephen Shaw NEGOTIATION
Wickens O GlickSpainOnyama Limba NEW
Tony I WaycottItalyIvan Magalhaes QUALIFIED
Emily W SergiSpainOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez C CaldareraBrazil2024-06-19Benton, John B Jr NEGOTIATION21Onyama Limba
1001Faith W IturbideAustralia2024-06-04Feiner Bros UNQUALIFIED92Ioni Bowcher
1002Rodrigues C CaudyCanada2024-06-02Morlong Associates NEGOTIATION42Ioni Bowcher
1003Darci W StensethBrazil2024-06-19Buckley Miller Wright RENEWAL41Elwin Sharvill
1004Arvin F NickaSpain2024-06-08Rousseaux, Michael Esq NEGOTIATION78Ivan Magalhaes
1005Arvin H MacleadJapan2024-06-15Feltz Printing Service PROPOSAL2Ivan Magalhaes
1006Maisha R AlbaresSpain2024-05-28Commercial Press PROPOSAL77Xuxue Feng
1007Darci E FerenczSpain2024-05-27Morlong Associates UNQUALIFIED78Xuxue Feng
1008Kadeem W InouyeAustralia2024-06-09Benton, John B Jr RENEWAL85Ivan Magalhaes
1009Mayumi Y DoeBrazil2024-06-11Morlong Associates NEW56Anna Fali
1010Clifford S StensethGermany2024-06-10Truhlar And Truhlar Attys PROPOSAL4Bernardo Dominic
1011Leon W StockhamGermany2024-06-01Benton, John B Jr NEGOTIATION64Onyama Limba
1012Costa A MaletItaly2024-06-17Rousseaux, Michael Esq PROPOSAL12Ioni Bowcher
1013Maria O MorascaFrance2024-05-23Benton, John B Jr NEW31Bernardo Dominic
1014Ricardo K GauchoAustralia2024-06-18Commercial Press NEGOTIATION7Anna Fali
1015Kadeem F InouyeJapan2024-06-18Chemel, James L Cpa QUALIFIED38Amy Elsner
1016Maria A CaldareraFrance2024-05-28Truhlar And Truhlar Attys PROPOSAL67Amy Elsner
1017Tony O VocelkaRussia2024-06-17Feiner Bros NEW22Stephen Shaw
1018Maria R FlosiAustralia2024-06-20Dorl, James J Esq RENEWAL9Ivan Magalhaes
1019Sinclair J MaletJapan2024-05-29Feiner Bros PROPOSAL11Amy Elsner
1020Jefferson R MarrierArgentina2024-06-17Dorl, James J Esq NEW77Stephen Shaw
1021James N AlbaresItaly2024-06-04King, Christopher A Esq NEGOTIATION58Asiya Javayant
1022Murillo V ChuiFrance2024-05-30Benton, John B Jr UNQUALIFIED65Elwin Sharvill
1023Julie C GlickCanada2024-06-01Dorl, James J Esq NEW17Onyama Limba
1024Kaitlin E KolmetzItaly2024-05-29Dorl, James J Esq NEGOTIATION60Bernardo Dominic
1025Isabel Z GillianSpain2024-06-06Rangoni Of Florence PROPOSAL16Bernardo Dominic
1026Misaki X CaldareraFrance2024-06-14Dorl, James J Esq RENEWAL36Ivan Magalhaes
1027Alejandro B CaudyArgentina2024-06-14Feltz Printing Service NEW86Amy Elsner
1028Antonio K IturbideSpain2024-05-31Truhlar And Truhlar Attys NEGOTIATION74Amy Elsner
1029Maisha T StensethArgentina2024-06-20Commercial Press NEW80Bernardo Dominic
1030Kaitlin D KuskoSpain2024-05-30Chanay, Jeffrey A Esq RENEWAL62Bernardo Dominic
1031Sinclair B InouyeAustralia2024-05-24Buckley Miller Wright QUALIFIED50Onyama Limba
1032Faith Q InouyeSpain2024-06-04Feiner Bros NEW1Asiya Javayant
1033Tony E InouyeFrance2024-05-24Dorl, James J Esq NEGOTIATION14Bernardo Dominic
1034Ashley U SergiIndia2024-06-13Commercial Press QUALIFIED10Ivan Magalhaes
1035Darci J FerenczSpain2024-05-25Rangoni Of Florence RENEWAL90Amy Elsner
1036Claire I GarufiUnited Kingdom2024-05-25Rangoni Of Florence QUALIFIED65Bernardo Dominic
1037Isabel B FerenczBrazil2024-06-19Truhlar And Truhlar Attys RENEWAL28Asiya Javayant
1038Julie D OstroskyBrazil2024-05-30Benton, John B Jr QUALIFIED87Ivan Magalhaes
1039Faith N FollerRussia2024-06-08Benton, John B Jr NEGOTIATION91Anna Fali
1040Maria S SchemmerGermany2024-05-27Chanay, Jeffrey A Esq QUALIFIED78Bernardo Dominic
1041Greenwood M AlbaresFrance2024-06-18Dorl, James J Esq NEW81Bernardo Dominic
1042Wickens W StensethItaly2024-05-30Chapman, Ross E Esq PROPOSAL63Asiya Javayant
1043Morrow D PaprockiSpain2024-06-17Printing Dimensions RENEWAL3Amy Elsner
1044Jones A SchemmerIndia2024-06-10Chanay, Jeffrey A Esq RENEWAL94Ivan Magalhaes
1045Maisha C MorascaFrance2024-06-15Feltz Printing Service NEGOTIATION78Amy Elsner
1046Claire K KuskoIndia2024-05-31Rangoni Of Florence RENEWAL0Onyama Limba
1047Faith G StockhamBrazil2024-06-03Chanay, Jeffrey A Esq NEW37Asiya Javayant
1048Chavez L MaletIndia2024-06-12Rangoni Of Florence NEW26Anna Fali
1049Francesco V PoquetteItaly2024-06-13Printing Dimensions NEW86Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Misaki F RoysterFranceAnna Fali NEGOTIATION
James M RutaIndiaXuxue Feng QUALIFIED
Chavez W StockhamRussiaAmy Elsner UNQUALIFIED
Tony B RulapaughUnited KingdomIvan Magalhaes PROPOSAL
Mayumi B KuskoAustraliaAsiya Javayant UNQUALIFIED
Ivar K VocelkaSpainAmy Elsner NEGOTIATION
Kadeem R RoysterAustraliaBernardo Dominic NEW
Emily W RoysterFranceAmy Elsner UNQUALIFIED
Jennifer J MarrierJapanAmy Elsner UNQUALIFIED
Mayumi K CaldareraJapanIoni Bowcher QUALIFIED
Maria B GarufiFranceIoni Bowcher PROPOSAL
Wickens Z AmigonFranceElwin Sharvill PROPOSAL
Salvatore W GarufiCanadaIvan Magalhaes QUALIFIED
Wickens L RulapaughRussiaXuxue Feng PROPOSAL
Sinclair S FerenczUnited KingdomOnyama Limba RENEWAL
Leon J KolmetzArgentinaXuxue Feng NEGOTIATION
Emily O SergiFranceAnna Fali NEW
David J RoysterIndiaAsiya Javayant RENEWAL
Emily T WaycottArgentinaIoni Bowcher PROPOSAL
Stacey K InouyeSpainIvan Magalhaes UNQUALIFIED
Juan D NickaRussiaIoni Bowcher NEW
James T MaletItalyAsiya Javayant RENEWAL
Claire S NickaGermanyStephen Shaw QUALIFIED
Costa R NickaGermanyBernardo Dominic PROPOSAL
Kaitlin P KolmetzItalyXuxue Feng RENEWAL
Leja U FerenczGermanyStephen Shaw RENEWAL
Nicolas F PerinAustraliaIoni Bowcher RENEWAL
Isabel M MarrierSpainIvan Magalhaes RENEWAL
Maria D GlickFranceStephen Shaw NEW
Ricardo J SlusarskiJapanXuxue Feng RENEWAL
Rodrigues U KuskoArgentinaAsiya Javayant NEW
Alejandro P VocelkaUnited KingdomIoni Bowcher NEW
Cody J ShinkoItalyOnyama Limba QUALIFIED
Adams O TollnerSpainOnyama Limba UNQUALIFIED
Leja I OstroskyBrazilIoni Bowcher QUALIFIED
Deepesh U WieserUnited KingdomIoni Bowcher PROPOSAL
Maria J SchemmerItalyAnna Fali PROPOSAL
Juan W WaycottAustraliaStephen Shaw QUALIFIED
James Y GarufiRussiaAmy Elsner PROPOSAL
Clifford H WaycottSpainIvan Magalhaes PROPOSAL
Jones L RoysterFranceStephen Shaw UNQUALIFIED
Misaki Z TollnerRussiaOnyama Limba RENEWAL
Wickens L VocelkaUnited KingdomAnna Fali PROPOSAL
Aika D RutaBrazilStephen Shaw RENEWAL
Faith X KuskoItalyAmy Elsner RENEWAL
Smith I FigeroaIndiaElwin Sharvill PROPOSAL
Kaitlin D SergiJapanIoni Bowcher UNQUALIFIED
Cody L ShinkoBrazilXuxue Feng UNQUALIFIED
Darci I FigeroaCanadaBernardo Dominic UNQUALIFIED
Leja Z GauchoItalyBernardo Dominic RENEWAL
Frozen Columns
Name
David B Nicka
Octavia Y Nicka
Darci C Oldroyd
Aika H Venere
Maisha I Chui
Smith U Kusko
Jeanfrancois G Nicka
Arvin A Figeroa
Alejandro W Waycott
Arvin K Bolognia
Wickens M Caldarera
Jones A Whobrey
Smith T Bolognia
Francesco F Campain
Alejandro J Caldarera
Nicolas R Kolmetz
Adams I Rulapaugh
Misaki A Rulapaugh
Octavia X Kusko
Costa C Perin
Arvin S Oldroyd
Francesco D Marrier
Darci G Stenseth
Tony V Garufi
Julie N Darakjy
Ivar T Butt
Izzy P Nicka
Jennifer O Garufi
Sinclair Z Malet
Izzy X Amigon
Clifford E Venere
Arvin Y Ferencz
Kadeem D Stockham
Alejandro I Vocelka
Wickens V Gaucho
Alejandro N Oldroyd
Kadeem B Iturbide
Wickens S Malet
Alejandro A Bowley
Mayumi E Inouye
Misaki J Garufi
Leja S Amigon
Jeanfrancois H Wieser
Alejandro R Sergi
Izzy L Maclead
Adams L Saylors
Izzy O Maclead
Smith F Stockham
Munro L Shinko
Wickens P Paprocki
IdCountryDate
1000Japan2024-06-05
1001France2024-06-07
1002Canada2024-06-21
1003Germany2024-06-01
1004Italy2024-06-14
1005Spain2024-06-16
1006France2024-06-06
1007India2024-06-03
1008Argentina2024-05-29
1009Canada2024-05-29
1010India2024-06-02
1011France2024-06-08
1012Russia2024-06-12
1013Germany2024-06-12
1014Germany2024-06-15
1015India2024-06-10
1016Germany2024-05-26
1017Russia2024-05-28
1018Brazil2024-06-14
1019Russia2024-05-24
1020India2024-05-31
1021Japan2024-06-08
1022Germany2024-06-15
1023Russia2024-06-12
1024Italy2024-06-07
1025Argentina2024-06-14
1026India2024-05-26
1027India2024-06-05
1028Italy2024-06-17
1029France2024-06-01
1030Russia2024-06-12
1031Canada2024-06-10
1032Brazil2024-06-13
1033Germany2024-05-31
1034France2024-06-01
1035Spain2024-05-24
1036Italy2024-05-30
1037Italy2024-06-20
1038United Kingdom2024-06-02
1039Argentina2024-06-08
1040India2024-06-14
1041Germany2024-06-19
1042Canada2024-06-13
1043Canada2024-06-07
1044Canada2024-06-09
1045Spain2024-06-15
1046Argentina2024-06-20
1047India2024-06-05
1048India2024-06-10
1049Canada2024-06-21

On-Demand Data

NameIdCountryDate
Emily G Venere1000Spain2024-06-17
Jones H Whobrey1001Japan2024-06-16
Jefferson S Ferencz1002India2024-06-05
Maria P Gaucho1003Australia2024-06-16
Juan R Butt1004Spain2024-05-28
Faith J Gillian1005Germany2024-05-30
James O Caldarera1006Canada2024-06-07
Ivar A Poquette1007Argentina2024-05-26
Alejandro V Foller1008United Kingdom2024-06-03
Sinclair K Maclead1009Argentina2024-05-24
Emily A Perin1010Argentina2024-05-26
Kadeem K Garufi1011Argentina2024-05-24
Cody A Bolognia1012India2024-06-02
Morrow Q Ostrosky1013Germany2024-06-06
Alejandro G Shinko1014Russia2024-06-21
Mujtaba L Chui1015Canada2024-05-30
Faith Q Caudy1016France2024-05-25
David B Tollner1017India2024-06-08
Jeanfrancois G Flosi1018Brazil2024-05-25
Leon L Morasca1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem B OstroskyRussiaStephen Shaw NEGOTIATION
Izzy M FerenczCanadaStephen Shaw NEW
James B CaldareraAustraliaAsiya Javayant NEW
Stacey K RutaCanadaIoni Bowcher RENEWAL
Francesco S WhobreyIndiaIvan Magalhaes NEGOTIATION
Jones R StensethUnited KingdomXuxue Feng NEGOTIATION
Johnson S SlusarskiSpainAnna Fali QUALIFIED
Isabel S RimItalyIoni Bowcher QUALIFIED
Mujtaba J NestleUnited KingdomOnyama Limba PROPOSAL
Jones B ButtUnited KingdomBernardo Dominic QUALIFIED
Julie T RulapaughArgentinaXuxue Feng PROPOSAL
Maria Z ButtAustraliaOnyama Limba QUALIFIED
Ashley Q ChuiJapanIvan Magalhaes UNQUALIFIED
Juan C FollerItalyBernardo Dominic NEW
Isabel A FerenczJapanIvan Magalhaes UNQUALIFIED
Chavez H MorascaJapanIvan Magalhaes QUALIFIED
Mayumi A RimAustraliaAnna Fali QUALIFIED
Nicolas J OldroydJapanOnyama Limba UNQUALIFIED
Silvio N MacleadArgentinaAsiya Javayant RENEWAL
Maria Z WaycottBrazilAnna Fali NEW
David S MarrierArgentinaAsiya Javayant PROPOSAL
Johnson M NestleFranceOnyama Limba UNQUALIFIED
Darci X GillianJapanXuxue Feng NEW
Aditya K DilliardFranceAmy Elsner NEGOTIATION
Izzy X KolmetzUnited KingdomIvan Magalhaes RENEWAL
Ivar A AlbaresGermanyOnyama Limba NEW
Arvin B StockhamIndiaStephen Shaw PROPOSAL
Adams I IturbideSpainIvan Magalhaes RENEWAL
James I PoquetteCanadaAnna Fali NEW
Tony L BowleyAustraliaBernardo Dominic UNQUALIFIED
Arvin E RutaBrazilAmy Elsner UNQUALIFIED
Ashley J MaletItalyIvan Magalhaes PROPOSAL
James G ShinkoSpainBernardo Dominic NEW
Leon Y FollerIndiaXuxue Feng RENEWAL
Jefferson J InouyeArgentinaAsiya Javayant QUALIFIED
Ashley D MarrierRussiaAmy Elsner UNQUALIFIED
Adams K CaldareraFranceAmy Elsner NEW
Jefferson P CaudySpainBernardo Dominic NEGOTIATION
Antonio K SergiGermanyOnyama Limba QUALIFIED
Adams J GarufiCanadaElwin Sharvill UNQUALIFIED

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