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
Arvin Y WaycottGermanyAnna Fali UNQUALIFIED
Faith S NickaItalyAnna Fali NEW
Mayumi D SergiGermanyBernardo Dominic PROPOSAL
Costa O RimBrazilBernardo Dominic RENEWAL
Jones S CaldareraUnited KingdomAnna Fali NEW
Nicolas P CampainJapanAmy Elsner QUALIFIED
Chavez E CaldareraRussiaElwin Sharvill QUALIFIED
Aditya B InouyeRussiaAmy Elsner NEGOTIATION
Isabel W IturbideGermanyElwin Sharvill NEW
Silvio T MorascaRussiaStephen Shaw NEW
Morrow B OstroskyCanadaIoni Bowcher NEW
Aika B BowleyJapanBernardo Dominic QUALIFIED
Emily S SaylorsUnited KingdomOnyama Limba NEW
Greenwood H AmigonUnited KingdomAnna Fali RENEWAL
Ashley T VenereCanadaElwin Sharvill RENEWAL
Alejandro H CampainArgentinaOnyama Limba UNQUALIFIED
Ivar Y InouyeRussiaAmy Elsner RENEWAL
James R BriddickGermanyOnyama Limba RENEWAL
Ashley K InouyeCanadaAmy Elsner RENEWAL
Costa S AmigonArgentinaXuxue Feng PROPOSAL
Adams U BowleyArgentinaAsiya Javayant PROPOSAL
Sinclair G IturbideArgentinaBernardo Dominic RENEWAL
Jennifer L BologniaBrazilIvan Magalhaes NEGOTIATION
Ivar D MorascaBrazilAmy Elsner PROPOSAL
Tony F OldroydArgentinaIoni Bowcher UNQUALIFIED
Costa H DarakjyFranceIvan Magalhaes UNQUALIFIED
James B CaldareraBrazilAmy Elsner NEW
Octavia O OstroskyItalyAsiya Javayant RENEWAL
Octavia O StockhamCanadaAmy Elsner RENEWAL
Ivar I FigeroaArgentinaAsiya Javayant NEW
Octavia D PaprockiRussiaAnna Fali RENEWAL
Aruna X MacleadUnited KingdomAnna Fali UNQUALIFIED
Francesco M CaldareraAustraliaXuxue Feng RENEWAL
Jefferson Y KolmetzFranceAnna Fali UNQUALIFIED
David Q KuskoCanadaIvan Magalhaes QUALIFIED
Ivar T MaletJapanAsiya Javayant RENEWAL
Darci A IturbideIndiaXuxue Feng UNQUALIFIED
Julie M DarakjyItalyStephen Shaw UNQUALIFIED
Octavia X CaldareraGermanyAnna Fali QUALIFIED
Aditya J BologniaBrazilAnna Fali RENEWAL
Adams U PoquetteJapanIvan Magalhaes RENEWAL
Sinclair V RoysterCanadaOnyama Limba UNQUALIFIED
Octavia J PerinAustraliaStephen Shaw PROPOSAL
Wickens V SergiJapanElwin Sharvill QUALIFIED
Ricardo B MacleadSpainAnna Fali QUALIFIED
Leon W WaycottBrazilStephen Shaw QUALIFIED
Leja T KuskoAustraliaStephen Shaw UNQUALIFIED
Alejandro F ChuiSpainXuxue Feng UNQUALIFIED
Clifford O TollnerCanadaIoni Bowcher PROPOSAL
Jefferson B FigeroaFranceIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley P PaprockiItalyBernardo Dominic PROPOSAL
Izzy A FlosiAustraliaXuxue Feng UNQUALIFIED
Cody J StensethItalyBernardo Dominic UNQUALIFIED
Isabel X MaletItalyIoni Bowcher NEGOTIATION
Faith A AlbaresArgentinaIvan Magalhaes NEGOTIATION
Chavez O IturbideItalyElwin Sharvill QUALIFIED
Jeanfrancois A NestleSpainAmy Elsner NEGOTIATION
David N MacleadCanadaAmy Elsner UNQUALIFIED
Morrow S DoeIndiaBernardo Dominic RENEWAL
Kadeem W SergiRussiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily S InouyeRussia2024-06-22Benton, John B Jr PROPOSAL16Ioni Bowcher
1001Mujtaba E KuskoCanada2024-06-15Chemel, James L Cpa NEW80Onyama Limba
1002Smith Q SchemmerBrazil2024-06-10Dorl, James J Esq QUALIFIED96Bernardo Dominic
1003Munro V MaletFrance2024-06-14Commercial Press PROPOSAL21Bernardo Dominic
1004Izzy V DarakjyCanada2024-06-02Feiner Bros NEW12Ioni Bowcher
1005Ricardo J OldroydFrance2024-06-21Feiner Bros NEW57Bernardo Dominic
1006Clifford X SaylorsJapan2024-05-30Morlong Associates PROPOSAL62Amy Elsner
1007Murillo G MaletItaly2024-06-13Buckley Miller Wright RENEWAL38Xuxue Feng
1008Silvio L CaldareraArgentina2024-06-02Printing Dimensions QUALIFIED82Amy Elsner
1009Jeanfrancois L MorascaArgentina2024-06-04Rousseaux, Michael Esq NEW26Elwin Sharvill
1010Aika Y DilliardJapan2024-06-17King, Christopher A Esq RENEWAL21Amy Elsner
1011Stacey S FigeroaAustralia2024-06-10Buckley Miller Wright NEGOTIATION26Onyama Limba
1012Julie R ShinkoGermany2024-05-30Chemel, James L Cpa QUALIFIED7Xuxue Feng
1013Morrow R TollnerGermany2024-06-06Chemel, James L Cpa UNQUALIFIED38Amy Elsner
1014Mujtaba Z SergiFrance2024-05-31Feiner Bros RENEWAL70Asiya Javayant
1015Tony J RoysterAustralia2024-06-06Rousseaux, Michael Esq NEGOTIATION92Onyama Limba
1016Chavez M GillianArgentina2024-06-16Chapman, Ross E Esq PROPOSAL88Asiya Javayant
1017Aika U PoquetteIndia2024-06-01Rangoni Of Florence NEW38Anna Fali
1018Sinclair H RutaBrazil2024-06-18Rousseaux, Michael Esq NEGOTIATION55Asiya Javayant
1019Jefferson N WieserUnited Kingdom2024-06-21Rangoni Of Florence PROPOSAL63Stephen Shaw
1020Aika F CaldareraArgentina2024-06-22Feltz Printing Service PROPOSAL40Amy Elsner
1021Aruna Z PoquetteUnited Kingdom2024-06-13Rousseaux, Michael Esq QUALIFIED90Ivan Magalhaes
1022Johnson G OstroskyAustralia2024-06-07Commercial Press RENEWAL23Xuxue Feng
1023Clifford X FigeroaIndia2024-05-29Morlong Associates UNQUALIFIED20Anna Fali
1024Antonio T CaudyAustralia2024-05-25Printing Dimensions PROPOSAL57Ioni Bowcher
1025Octavia T SchemmerGermany2024-06-09Feltz Printing Service PROPOSAL54Onyama Limba
1026Tony T StockhamCanada2024-06-17Feltz Printing Service RENEWAL22Onyama Limba
1027Aditya J WieserRussia2024-06-10Buckley Miller Wright NEGOTIATION97Xuxue Feng
1028Antonio I KuskoAustralia2024-06-18Rousseaux, Michael Esq NEGOTIATION40Bernardo Dominic
1029Mujtaba U MorascaCanada2024-06-13Commercial Press NEGOTIATION57Ivan Magalhaes
1030Isabel D MorascaItaly2024-05-25Printing Dimensions NEGOTIATION9Stephen Shaw
1031Isabel M SaylorsUnited Kingdom2024-06-12Morlong Associates NEW95Ivan Magalhaes
1032Jennifer D SergiUnited Kingdom2024-05-27Chemel, James L Cpa NEW34Elwin Sharvill
1033Claire M StensethArgentina2024-05-25Chapman, Ross E Esq QUALIFIED98Amy Elsner
1034Greenwood X ShinkoSpain2024-06-08Printing Dimensions PROPOSAL10Ivan Magalhaes
1035Jones I KolmetzBrazil2024-06-15Rangoni Of Florence PROPOSAL25Bernardo Dominic
1036Wickens J ChuiFrance2024-06-03King, Christopher A Esq UNQUALIFIED71Onyama Limba
1037Mujtaba A CampainUnited Kingdom2024-06-04Feiner Bros RENEWAL88Ivan Magalhaes
1038Jones R WieserUnited Kingdom2024-06-20Rousseaux, Michael Esq RENEWAL31Elwin Sharvill
1039Tony U IturbideIndia2024-06-07Chemel, James L Cpa PROPOSAL72Asiya Javayant
1040Julie X IturbideIndia2024-06-22Dorl, James J Esq UNQUALIFIED15Elwin Sharvill
1041Maria F FlosiFrance2024-06-14Rousseaux, Michael Esq UNQUALIFIED99Elwin Sharvill
1042Aditya V OldroydArgentina2024-06-10Buckley Miller Wright NEGOTIATION11Stephen Shaw
1043Alejandro T StockhamCanada2024-05-24Rangoni Of Florence UNQUALIFIED56Ioni Bowcher
1044Julie B PoquetteJapan2024-06-13King, Christopher A Esq UNQUALIFIED0Ioni Bowcher
1045Stacey S FlosiRussia2024-06-11Dorl, James J Esq NEGOTIATION95Ioni Bowcher
1046Murillo J RulapaughIndia2024-05-30Chanay, Jeffrey A Esq RENEWAL48Xuxue Feng
1047Silvio P FerenczFrance2024-06-21Feltz Printing Service UNQUALIFIED30Xuxue Feng
1048Johnson H CampainBrazil2024-05-24Chapman, Ross E Esq PROPOSAL44Stephen Shaw
1049Nicolas H NestleCanada2024-06-22King, Christopher A Esq NEW77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Nicolas P FigeroaArgentinaAmy Elsner RENEWAL
Kadeem A SchemmerFranceAmy Elsner UNQUALIFIED
Arvin O ChuiFranceAmy Elsner QUALIFIED
Izzy Z BriddickItalyElwin Sharvill NEGOTIATION
Isabel G VocelkaArgentinaElwin Sharvill UNQUALIFIED
Izzy Y KolmetzGermanyStephen Shaw RENEWAL
Salvatore O FlosiCanadaStephen Shaw PROPOSAL
Salvatore T StockhamFranceAsiya Javayant NEW
Leon T MacleadGermanyAsiya Javayant QUALIFIED
Ashley B FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Johnson Y IturbideAustraliaIvan Magalhaes RENEWAL
Claire O MorascaUnited KingdomXuxue Feng NEGOTIATION
Nicolas F KolmetzGermanyIvan Magalhaes NEGOTIATION
Jefferson T RoysterBrazilAnna Fali NEW
Aditya B CaudyJapanStephen Shaw PROPOSAL
Misaki U SaylorsJapanStephen Shaw QUALIFIED
Isabel P VenereArgentinaXuxue Feng PROPOSAL
Tony C RimSpainAmy Elsner NEW
Clifford J BowleyFranceIvan Magalhaes NEW
Arvin I FerenczRussiaStephen Shaw PROPOSAL
Ashley G DilliardJapanElwin Sharvill PROPOSAL
Greenwood K GillianFranceOnyama Limba UNQUALIFIED
Isabel X FollerItalyOnyama Limba UNQUALIFIED
Jeanfrancois K RulapaughArgentinaAnna Fali PROPOSAL
Jennifer Y VenereAustraliaOnyama Limba PROPOSAL
Aruna R SchemmerIndiaBernardo Dominic QUALIFIED
Isabel Y SlusarskiIndiaIvan Magalhaes NEGOTIATION
Mujtaba N GlickRussiaXuxue Feng PROPOSAL
Isabel R ChuiAustraliaAnna Fali RENEWAL
Claire R SlusarskiAustraliaOnyama Limba QUALIFIED
Arvin N CaldareraAustraliaOnyama Limba QUALIFIED
Francesco Z GlickGermanyBernardo Dominic NEGOTIATION
Tony C WieserCanadaAmy Elsner RENEWAL
Tony K NickaItalyBernardo Dominic UNQUALIFIED
James O DilliardSpainAnna Fali UNQUALIFIED
David L AmigonCanadaIvan Magalhaes NEW
Tony P NickaIndiaElwin Sharvill UNQUALIFIED
Sinclair I GauchoGermanyOnyama Limba PROPOSAL
Sinclair C SchemmerGermanyIoni Bowcher UNQUALIFIED
Ivar P SchemmerCanadaStephen Shaw QUALIFIED
Maisha P VocelkaItalyOnyama Limba NEGOTIATION
Jennifer V MorascaArgentinaIoni Bowcher QUALIFIED
Mujtaba Y SergiGermanyAsiya Javayant RENEWAL
Cody O PoquetteFranceXuxue Feng NEW
Greenwood G CaudyRussiaStephen Shaw UNQUALIFIED
Francesco P DoeFranceOnyama Limba UNQUALIFIED
Leon H StensethJapanElwin Sharvill PROPOSAL
Jefferson B WaycottAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois G ButtJapanAsiya Javayant NEGOTIATION
Stacey M GillianSpainOnyama Limba UNQUALIFIED
Frozen Columns
Name
Smith D Bowley
Costa V Flosi
Ivar V Malet
Greenwood S Malet
Maisha H Kolmetz
Maisha R Oldroyd
Murillo Y Ostrosky
Costa V Malet
Murillo U Amigon
Aditya C Malet
Murillo I Iturbide
Munro Z Waycott
Clifford W Royster
Maisha V Glick
Stacey W Inouye
Jones M Amigon
Jones U Marrier
Adams W Darakjy
Claire Y Ostrosky
Wickens S Bowley
Ivar X Butt
Ashley M Saylors
Juan A Nicka
Claire L Darakjy
Aika K Saylors
Maisha A Bolognia
Ashley G Caudy
Adams S Gillian
Leja O Vocelka
Isabel Z Flosi
Emily A Campain
Isabel I Amigon
Maria N Perin
Claire C Caldarera
Aika I Chui
Maisha L Briddick
Kadeem E Campain
James W Garufi
Ivar E Vocelka
Leon S Foller
Ricardo O Amigon
Costa S Tollner
Jones O Malet
Jones S Inouye
Faith B Whobrey
Aruna V Darakjy
Juan K Rim
Maisha Z Vocelka
Morrow S Oldroyd
Jeanfrancois J Venere
IdCountryDate
1000Russia2024-05-29
1001United Kingdom2024-06-09
1002Japan2024-05-27
1003Argentina2024-06-07
1004Italy2024-06-01
1005Argentina2024-06-19
1006Russia2024-06-02
1007United Kingdom2024-05-28
1008Canada2024-05-28
1009Canada2024-06-17
1010Brazil2024-06-03
1011France2024-06-12
1012Brazil2024-05-31
1013Japan2024-06-14
1014Japan2024-06-21
1015Germany2024-06-12
1016Italy2024-05-24
1017Australia2024-06-12
1018India2024-05-31
1019Australia2024-05-26
1020France2024-06-17
1021Canada2024-05-28
1022France2024-05-24
1023Canada2024-05-25
1024Brazil2024-05-30
1025Japan2024-06-22
1026Brazil2024-06-09
1027Brazil2024-05-24
1028Germany2024-05-26
1029Italy2024-06-14
1030India2024-06-09
1031Germany2024-06-10
1032France2024-06-15
1033Japan2024-06-11
1034Canada2024-06-20
1035Australia2024-05-26
1036Australia2024-05-28
1037Spain2024-05-28
1038France2024-06-05
1039Russia2024-06-13
1040Argentina2024-06-16
1041Germany2024-06-04
1042Italy2024-06-02
1043Australia2024-06-10
1044United Kingdom2024-05-29
1045Australia2024-05-29
1046Argentina2024-06-02
1047Argentina2024-06-07
1048United Kingdom2024-06-03
1049Germany2024-06-04

On-Demand Data

NameIdCountryDate
Silvio C Saylors1000Russia2024-06-03
Murillo S Schemmer1001United Kingdom2024-05-28
Chavez H Royster1002United Kingdom2024-06-10
Maria I Inouye1003Japan2024-06-20
Johnson A Butt1004Canada2024-06-07
Mayumi N Caudy1005Japan2024-06-03
Leon S Figeroa1006France2024-06-20
David P Inouye1007Italy2024-05-24
Greenwood R Butt1008Japan2024-06-15
Johnson T Gillian1009Canada2024-06-14
Julie M Chui1010Germany2024-06-08
Aditya M Dilliard1011Canada2024-05-28
Murillo L Gaucho1012Argentina2024-06-12
Murillo O Briddick1013Japan2024-06-19
Kadeem E Glick1014Italy2024-06-12
Leja S Gillian1015France2024-06-15
Julie B Malet1016Argentina2024-06-06
Smith U Nestle1017Germany2024-05-25
Maria Q Doe1018United Kingdom2024-06-07
Maria G Perin1019France2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams W GillianGermanyAmy Elsner NEW
Tony F AmigonAustraliaOnyama Limba NEW
Johnson Z BologniaRussiaAsiya Javayant NEW
Ivar T SaylorsFranceAnna Fali NEW
Murillo N NickaRussiaAsiya Javayant NEGOTIATION
Francesco V TollnerGermanyBernardo Dominic NEW
Deepesh S PaprockiRussiaIoni Bowcher UNQUALIFIED
Salvatore Q OstroskyFranceStephen Shaw RENEWAL
Jeanfrancois O DilliardBrazilXuxue Feng QUALIFIED
Aditya K NickaSpainOnyama Limba NEGOTIATION
Morrow G ChuiAustraliaIoni Bowcher RENEWAL
Ivar F BriddickCanadaIoni Bowcher QUALIFIED
Sinclair O MarrierIndiaBernardo Dominic RENEWAL
Jones S BriddickItalyXuxue Feng PROPOSAL
Claire M VocelkaAustraliaAmy Elsner NEW
Wickens H MaletItalyAnna Fali NEGOTIATION
Izzy S KolmetzItalyElwin Sharvill QUALIFIED
Smith O BriddickCanadaAsiya Javayant NEGOTIATION
Kadeem C RimItalyAmy Elsner PROPOSAL
Misaki J GarufiRussiaBernardo Dominic RENEWAL
Juan D WaycottIndiaXuxue Feng UNQUALIFIED
Maisha O GlickAustraliaElwin Sharvill NEW
Maria V ChuiArgentinaIoni Bowcher NEW
Leja V GauchoJapanIoni Bowcher RENEWAL
Wickens V SlusarskiItalyIvan Magalhaes QUALIFIED
Wickens D VocelkaCanadaElwin Sharvill NEW
Mayumi Z IturbideBrazilBernardo Dominic PROPOSAL
Maisha G SlusarskiGermanyIoni Bowcher NEW
Alejandro W AmigonJapanAsiya Javayant NEW
Munro L GlickFranceAsiya Javayant QUALIFIED
Kaitlin K GarufiCanadaIvan Magalhaes NEW
Alejandro Z ButtFranceBernardo Dominic NEGOTIATION
Emily Z GauchoBrazilElwin Sharvill RENEWAL
Ashley D PoquetteBrazilIoni Bowcher QUALIFIED
Francesco O MorascaGermanyElwin Sharvill RENEWAL
Maisha F FerenczCanadaIoni Bowcher PROPOSAL
Wickens O FlosiBrazilIoni Bowcher QUALIFIED
Leon N FigeroaSpainOnyama Limba UNQUALIFIED
Wickens W OstroskyArgentinaBernardo Dominic NEW
Misaki F WaycottSpainBernardo Dominic 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>