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
Isabel G RutaIndiaAsiya Javayant NEW
Ricardo S CaudyItalyAmy Elsner PROPOSAL
Francesco L WhobreyJapanStephen Shaw QUALIFIED
Jefferson W AlbaresBrazilAsiya Javayant UNQUALIFIED
Aika K NestleBrazilAsiya Javayant PROPOSAL
Mujtaba N MorascaBrazilStephen Shaw NEGOTIATION
Wickens O WhobreyRussiaAnna Fali PROPOSAL
Faith G DoeArgentinaBernardo Dominic QUALIFIED
Jeanfrancois P PaprockiJapanAmy Elsner UNQUALIFIED
Julie Z CaldareraJapanAmy Elsner RENEWAL
Kaitlin L FerenczSpainIvan Magalhaes NEGOTIATION
Ivar Z InouyeJapanAmy Elsner PROPOSAL
Maria M BologniaGermanyElwin Sharvill QUALIFIED
Ricardo G DilliardIndiaAsiya Javayant RENEWAL
Smith I VenereAustraliaBernardo Dominic UNQUALIFIED
Deepesh E CaldareraSpainAnna Fali RENEWAL
Aika L InouyeBrazilAnna Fali PROPOSAL
Octavia J InouyeBrazilOnyama Limba RENEWAL
Costa X KolmetzItalyAmy Elsner RENEWAL
Isabel P MaletItalyBernardo Dominic NEW
Antonio W CaudyCanadaAmy Elsner NEGOTIATION
Aruna M MorascaGermanyBernardo Dominic UNQUALIFIED
Nicolas I CaldareraUnited KingdomStephen Shaw NEW
Mujtaba F NickaGermanyAmy Elsner RENEWAL
Munro Q SlusarskiArgentinaElwin Sharvill PROPOSAL
Aruna X NestleRussiaIoni Bowcher PROPOSAL
Ricardo P PoquetteArgentinaXuxue Feng PROPOSAL
Juan B MacleadCanadaStephen Shaw RENEWAL
Jennifer T CampainGermanyXuxue Feng NEGOTIATION
Jefferson S OldroydBrazilIvan Magalhaes UNQUALIFIED
Deepesh Z StockhamJapanAmy Elsner UNQUALIFIED
Tony N SchemmerAustraliaBernardo Dominic PROPOSAL
Chavez Y BowleyBrazilAnna Fali QUALIFIED
Costa R FigeroaIndiaAsiya Javayant NEW
Smith L TollnerGermanyElwin Sharvill QUALIFIED
Mayumi H RutaSpainAnna Fali PROPOSAL
Aruna U WaycottIndiaIvan Magalhaes NEW
Juan N RulapaughSpainAnna Fali NEGOTIATION
Jefferson K NestleSpainAmy Elsner NEW
David T WieserCanadaXuxue Feng UNQUALIFIED
Salvatore N MacleadCanadaXuxue Feng RENEWAL
Octavia Y GauchoJapanOnyama Limba NEGOTIATION
Maria P BologniaCanadaAsiya Javayant UNQUALIFIED
Maisha U FollerGermanyXuxue Feng PROPOSAL
Faith F PaprockiArgentinaXuxue Feng NEW
Aditya C GillianSpainStephen Shaw NEGOTIATION
Munro H KuskoRussiaAsiya Javayant QUALIFIED
Juan S RimRussiaAnna Fali RENEWAL
Misaki M NickaJapanAmy Elsner UNQUALIFIED
Izzy Q OldroydAustraliaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki U MaletIndiaOnyama Limba UNQUALIFIED
Adams X SergiRussiaElwin Sharvill PROPOSAL
Adams G FlosiItalyElwin Sharvill NEGOTIATION
Smith V RoysterGermanyStephen Shaw NEGOTIATION
Isabel F StensethItalyStephen Shaw NEW
Maisha K AlbaresIndiaIvan Magalhaes PROPOSAL
Salvatore V MaletFranceOnyama Limba RENEWAL
Sinclair I GillianJapanAnna Fali PROPOSAL
Ivar L FigeroaBrazilBernardo Dominic RENEWAL
Misaki L KuskoGermanyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa H WaycottCanada2024-06-01Feltz Printing Service PROPOSAL61Xuxue Feng
1001Ashley T GarufiRussia2024-06-15Truhlar And Truhlar Attys NEW96Stephen Shaw
1002Silvio A GarufiBrazil2024-06-02Chanay, Jeffrey A Esq NEW84Anna Fali
1003Ricardo X NickaArgentina2024-05-30Benton, John B Jr UNQUALIFIED63Stephen Shaw
1004Leon K TollnerAustralia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED39Onyama Limba
1005Julie R PerinBrazil2024-06-09Truhlar And Truhlar Attys PROPOSAL2Xuxue Feng
1006Faith J KolmetzIndia2024-06-06Rangoni Of Florence NEGOTIATION3Anna Fali
1007Cody K ShinkoBrazil2024-05-26Morlong Associates UNQUALIFIED59Stephen Shaw
1008Arvin J RulapaughRussia2024-05-27Dorl, James J Esq UNQUALIFIED88Asiya Javayant
1009Misaki M BologniaArgentina2024-06-08Buckley Miller Wright PROPOSAL71Anna Fali
1010Stacey I FlosiItaly2024-05-31Rousseaux, Michael Esq NEW8Stephen Shaw
1011Francesco P CampainGermany2024-06-10Rangoni Of Florence RENEWAL14Asiya Javayant
1012Misaki W AmigonArgentina2024-06-08Rousseaux, Michael Esq RENEWAL29Ivan Magalhaes
1013James S GarufiGermany2024-06-08Chanay, Jeffrey A Esq QUALIFIED28Elwin Sharvill
1014Aditya Q SlusarskiAustralia2024-06-08Chapman, Ross E Esq QUALIFIED39Xuxue Feng
1015Aika E SchemmerFrance2024-06-13Feiner Bros PROPOSAL42Stephen Shaw
1016Arvin K OstroskyBrazil2024-05-30Commercial Press QUALIFIED9Asiya Javayant
1017Juan V StensethUnited Kingdom2024-05-29Benton, John B Jr PROPOSAL63Bernardo Dominic
1018Claire H RimJapan2024-06-14Rangoni Of Florence NEGOTIATION68Stephen Shaw
1019Stacey P InouyeRussia2024-05-26Rangoni Of Florence NEW5Asiya Javayant
1020Nicolas K IturbideIndia2024-06-02Chapman, Ross E Esq NEW32Xuxue Feng
1021Cody T CaudyUnited Kingdom2024-06-01Chemel, James L Cpa NEW76Asiya Javayant
1022Jennifer K NestleFrance2024-06-20Rangoni Of Florence QUALIFIED45Bernardo Dominic
1023Nicolas P RulapaughSpain2024-05-27Morlong Associates RENEWAL23Ioni Bowcher
1024Jennifer F MaletGermany2024-05-31Chemel, James L Cpa UNQUALIFIED75Ivan Magalhaes
1025Sinclair M CaudyUnited Kingdom2024-06-04Truhlar And Truhlar Attys PROPOSAL50Asiya Javayant
1026Izzy H RulapaughCanada2024-06-01Rousseaux, Michael Esq QUALIFIED55Anna Fali
1027Murillo M PaprockiRussia2024-05-26Chapman, Ross E Esq QUALIFIED25Bernardo Dominic
1028James F PerinSpain2024-05-28Rangoni Of Florence QUALIFIED20Bernardo Dominic
1029Sinclair Z SaylorsArgentina2024-06-13Benton, John B Jr UNQUALIFIED86Amy Elsner
1030Greenwood P OldroydArgentina2024-05-25Feiner Bros QUALIFIED73Xuxue Feng
1031Antonio N ButtRussia2024-06-07Chemel, James L Cpa PROPOSAL33Anna Fali
1032Murillo O RulapaughIndia2024-06-18Chapman, Ross E Esq PROPOSAL83Anna Fali
1033Costa U SchemmerAustralia2024-06-11Rousseaux, Michael Esq RENEWAL75Ioni Bowcher
1034Morrow R SlusarskiSpain2024-06-23Rangoni Of Florence QUALIFIED34Elwin Sharvill
1035Tony L CaldareraItaly2024-05-28Feiner Bros NEW34Ivan Magalhaes
1036Kaitlin B ShinkoUnited Kingdom2024-05-28Rangoni Of Florence UNQUALIFIED0Ivan Magalhaes
1037Antonio K BologniaItaly2024-06-18Morlong Associates RENEWAL66Xuxue Feng
1038Ricardo M FerenczFrance2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED54Elwin Sharvill
1039Izzy B SergiUnited Kingdom2024-06-22Truhlar And Truhlar Attys NEGOTIATION75Xuxue Feng
1040Mujtaba Q FollerCanada2024-06-16Morlong Associates PROPOSAL18Anna Fali
1041Munro A GarufiAustralia2024-06-04Truhlar And Truhlar Attys NEW15Xuxue Feng
1042Kaitlin E ButtItaly2024-06-22Chemel, James L Cpa QUALIFIED54Asiya Javayant
1043James F RimFrance2024-06-20Printing Dimensions NEW58Elwin Sharvill
1044Adams H TollnerFrance2024-06-05Morlong Associates UNQUALIFIED35Amy Elsner
1045Mujtaba M GauchoGermany2024-06-11Commercial Press NEGOTIATION52Bernardo Dominic
1046Misaki V FlosiSpain2024-06-22Chapman, Ross E Esq NEW87Bernardo Dominic
1047Mayumi K NestleFrance2024-06-12Chemel, James L Cpa RENEWAL72Bernardo Dominic
1048Antonio Z WieserBrazil2024-05-26Chemel, James L Cpa QUALIFIED28Elwin Sharvill
1049James P AlbaresJapan2024-06-21Benton, John B Jr UNQUALIFIED56Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba G MacleadArgentinaAnna Fali NEW
Jennifer B MacleadIndiaXuxue Feng RENEWAL
Leon E KolmetzSpainXuxue Feng UNQUALIFIED
Aika H MaletGermanyIoni Bowcher QUALIFIED
Darci V OstroskyFranceBernardo Dominic RENEWAL
Emily A PerinCanadaIoni Bowcher PROPOSAL
Alejandro A CaldareraArgentinaAnna Fali PROPOSAL
Munro J DilliardFranceOnyama Limba UNQUALIFIED
Kadeem C OstroskyJapanXuxue Feng NEGOTIATION
Greenwood I OldroydItalyOnyama Limba NEGOTIATION
Aika R TollnerFranceAnna Fali QUALIFIED
Kadeem Z BriddickAustraliaIoni Bowcher QUALIFIED
Leja D WieserIndiaXuxue Feng RENEWAL
Ricardo Y OstroskyJapanXuxue Feng NEGOTIATION
Costa C CaudyGermanyStephen Shaw NEGOTIATION
Salvatore P NickaIndiaXuxue Feng QUALIFIED
Clifford F MacleadBrazilIvan Magalhaes NEGOTIATION
Tony G PerinUnited KingdomElwin Sharvill RENEWAL
Aruna M StensethFranceIvan Magalhaes UNQUALIFIED
Jones O IturbideArgentinaIvan Magalhaes NEGOTIATION
Aruna X WaycottFranceBernardo Dominic NEW
Silvio R PoquetteAustraliaAmy Elsner UNQUALIFIED
Arvin R SchemmerArgentinaIvan Magalhaes NEGOTIATION
Wickens U OstroskyCanadaBernardo Dominic NEW
Smith S CaldareraFranceStephen Shaw NEW
Ivar A WaycottFranceStephen Shaw UNQUALIFIED
Darci W NickaJapanElwin Sharvill NEW
Antonio J KuskoRussiaIvan Magalhaes NEGOTIATION
Greenwood Z MarrierBrazilAsiya Javayant QUALIFIED
Isabel H KuskoSpainBernardo Dominic NEW
Aruna T CampainFranceIoni Bowcher PROPOSAL
Alejandro L OstroskyRussiaOnyama Limba PROPOSAL
Nicolas O PaprockiGermanyElwin Sharvill PROPOSAL
Juan A KuskoGermanyAnna Fali RENEWAL
Izzy M CampainArgentinaIoni Bowcher UNQUALIFIED
Darci G GarufiJapanBernardo Dominic QUALIFIED
Francesco M WaycottSpainOnyama Limba RENEWAL
Aditya X RoysterSpainAsiya Javayant UNQUALIFIED
Jones B PaprockiJapanStephen Shaw PROPOSAL
Aditya W BowleyRussiaBernardo Dominic PROPOSAL
David A AmigonUnited KingdomOnyama Limba PROPOSAL
Kaitlin I WaycottUnited KingdomXuxue Feng RENEWAL
Mujtaba T KuskoSpainIvan Magalhaes UNQUALIFIED
Aruna A PerinGermanyOnyama Limba NEW
Alejandro U WaycottUnited KingdomAnna Fali UNQUALIFIED
Kaitlin S FerenczItalyXuxue Feng RENEWAL
Deepesh G SaylorsArgentinaAsiya Javayant NEGOTIATION
Francesco F SlusarskiJapanAnna Fali NEW
Juan S ButtJapanIvan Magalhaes QUALIFIED
Faith C SergiGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Kaitlin N Poquette
Leon Q Garufi
Leja E Darakjy
Morrow L Foller
Costa O Poquette
Smith N Flosi
Darci V Vocelka
Maria Y Rulapaugh
Octavia V Stockham
Aditya X Caudy
Aditya Y Ostrosky
Jeanfrancois Q Royster
Maisha I Iturbide
Jones K Malet
Jefferson D Saylors
James X Caldarera
Leon Z Dilliard
Wickens C Kusko
Darci N Iturbide
Faith O Kusko
Maria I Amigon
Jennifer L Royster
Ricardo Z Gillian
Francesco W Amigon
Darci S Garufi
Sinclair R Stenseth
Julie L Ruta
Murillo C Ruta
Octavia V Morasca
Costa P Wieser
Julie E Waycott
Alejandro C Maclead
Johnson T Foller
Francesco Z Garufi
Ricardo L Bowley
Darci A Malet
Nicolas V Butt
Clifford U Campain
Antonio S Wieser
Rodrigues H Rulapaugh
Rodrigues A Vocelka
Chavez Y Flosi
Leon V Perin
Deepesh A Bowley
Wickens Y Campain
Leja F Whobrey
Darci L Schemmer
Deepesh C Marrier
Misaki G Stenseth
Octavia X Vocelka
IdCountryDate
1000United Kingdom2024-05-30
1001Germany2024-05-26
1002France2024-06-03
1003Canada2024-06-06
1004Brazil2024-06-14
1005France2024-06-09
1006Spain2024-06-09
1007Australia2024-06-15
1008Russia2024-06-20
1009Japan2024-06-01
1010United Kingdom2024-06-05
1011Germany2024-06-20
1012India2024-06-08
1013Japan2024-05-27
1014Brazil2024-06-01
1015Italy2024-06-04
1016France2024-05-28
1017Germany2024-06-11
1018Germany2024-06-16
1019Spain2024-06-01
1020Brazil2024-06-13
1021Germany2024-06-02
1022Russia2024-06-18
1023Russia2024-06-07
1024Australia2024-06-06
1025Brazil2024-05-29
1026Russia2024-05-29
1027Germany2024-06-05
1028Brazil2024-06-10
1029Canada2024-06-22
1030Canada2024-06-09
1031India2024-06-18
1032Spain2024-06-07
1033Australia2024-05-27
1034Canada2024-05-31
1035United Kingdom2024-05-31
1036France2024-06-06
1037India2024-06-08
1038Spain2024-06-16
1039India2024-06-23
1040Russia2024-06-09
1041Japan2024-06-16
1042Japan2024-05-31
1043Brazil2024-06-05
1044Russia2024-06-04
1045Australia2024-06-05
1046Japan2024-06-19
1047Spain2024-05-30
1048Japan2024-06-15
1049France2024-05-27

On-Demand Data

NameIdCountryDate
Cody B Bowley1000Russia2024-06-12
Maria W Nicka1001Australia2024-06-23
Izzy W Albares1002Japan2024-06-18
Leja W Campain1003Italy2024-06-07
Sinclair P Waycott1004France2024-06-03
Ashley G Caldarera1005Germany2024-06-17
Leja X Doe1006France2024-06-22
Kadeem T Darakjy1007Brazil2024-06-22
Morrow W Darakjy1008France2024-05-25
Aruna S Bolognia1009Brazil2024-05-25
Faith T Slusarski1010France2024-06-16
Isabel I Albares1011Germany2024-06-21
Nicolas R Caldarera1012Argentina2024-06-17
Aruna J Bowley1013Italy2024-05-27
Jones J Schemmer1014Italy2024-06-19
Salvatore L Bolognia1015Canada2024-06-18
Greenwood Y Ferencz1016Australia2024-05-27
Munro U Figeroa1017India2024-06-16
Leon Q Slusarski1018India2024-06-11
Cody F Darakjy1019United Kingdom2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan M CaudyUnited KingdomBernardo Dominic NEW
Ivar L NestleGermanyAsiya Javayant NEW
Smith Z DoeUnited KingdomBernardo Dominic RENEWAL
Jefferson C FigeroaFranceAsiya Javayant UNQUALIFIED
Aruna S RoysterAustraliaXuxue Feng QUALIFIED
Clifford X RutaItalyIoni Bowcher PROPOSAL
Francesco B ShinkoBrazilIoni Bowcher QUALIFIED
Morrow T GauchoGermanyStephen Shaw PROPOSAL
Wickens M TollnerBrazilXuxue Feng UNQUALIFIED
Kadeem H DilliardSpainXuxue Feng PROPOSAL
Jeanfrancois Y OldroydAustraliaIvan Magalhaes NEGOTIATION
Adams A KuskoSpainAnna Fali NEGOTIATION
Antonio S FigeroaSpainOnyama Limba QUALIFIED
Arvin E PerinAustraliaIoni Bowcher NEGOTIATION
Costa L SchemmerCanadaXuxue Feng RENEWAL
Francesco I RoysterJapanXuxue Feng UNQUALIFIED
Darci O SergiAustraliaIvan Magalhaes NEGOTIATION
Faith V MaletGermanyOnyama Limba QUALIFIED
Murillo K DilliardItalyAsiya Javayant UNQUALIFIED
Izzy G MaletUnited KingdomAnna Fali RENEWAL
Greenwood O SlusarskiGermanyOnyama Limba NEW
Leja F GlickRussiaStephen Shaw UNQUALIFIED
David L FigeroaJapanBernardo Dominic PROPOSAL
Jefferson J StensethArgentinaStephen Shaw RENEWAL
David M MorascaItalyElwin Sharvill RENEWAL
Morrow L DilliardFranceElwin Sharvill NEW
Kaitlin A RimBrazilIoni Bowcher RENEWAL
Deepesh Y RimUnited KingdomIvan Magalhaes RENEWAL
Faith C VocelkaFranceAmy Elsner RENEWAL
Francesco S DarakjyJapanXuxue Feng PROPOSAL
Chavez Q RoysterFranceAmy Elsner QUALIFIED
Cody U IturbideAustraliaStephen Shaw QUALIFIED
Deepesh H RulapaughItalyAsiya Javayant NEGOTIATION
Deepesh D DoeBrazilIoni Bowcher UNQUALIFIED
Leja W InouyeCanadaAmy Elsner PROPOSAL
Aruna F RimUnited KingdomAnna Fali PROPOSAL
Johnson N TollnerAustraliaIoni Bowcher QUALIFIED
Darci J FigeroaIndiaStephen Shaw NEGOTIATION
David J PerinItalyAnna Fali UNQUALIFIED
Tony Q NickaUnited KingdomAsiya Javayant 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>