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
Francesco M NickaAustraliaIvan Magalhaes PROPOSAL
Alejandro X TollnerUnited KingdomStephen Shaw NEGOTIATION
Maria U SlusarskiIndiaOnyama Limba UNQUALIFIED
Silvio G AmigonCanadaAmy Elsner QUALIFIED
Ashley S InouyeCanadaIoni Bowcher NEW
Misaki B BowleyBrazilXuxue Feng QUALIFIED
Nicolas J SchemmerSpainXuxue Feng RENEWAL
Adams T RutaBrazilAnna Fali PROPOSAL
Costa P ChuiItalyBernardo Dominic UNQUALIFIED
Greenwood F GauchoItalyElwin Sharvill QUALIFIED
Silvio Q BologniaRussiaOnyama Limba NEW
Mujtaba N RutaJapanIoni Bowcher QUALIFIED
Jeanfrancois A FigeroaGermanyStephen Shaw UNQUALIFIED
Claire Q PaprockiJapanIoni Bowcher PROPOSAL
Stacey O RoysterItalyElwin Sharvill NEW
Darci E DilliardFranceIoni Bowcher UNQUALIFIED
Stacey K SergiUnited KingdomAmy Elsner PROPOSAL
Munro T MaletIndiaAnna Fali UNQUALIFIED
Aditya H DoeGermanyIoni Bowcher UNQUALIFIED
Izzy V WaycottArgentinaAmy Elsner UNQUALIFIED
Claire Q BriddickAustraliaBernardo Dominic RENEWAL
Kadeem I GlickRussiaAsiya Javayant NEW
Sinclair X MorascaFranceAmy Elsner NEW
Juan Q CampainCanadaIoni Bowcher UNQUALIFIED
Izzy G InouyeFranceElwin Sharvill NEGOTIATION
Isabel D BologniaCanadaElwin Sharvill UNQUALIFIED
Tony W AlbaresArgentinaBernardo Dominic QUALIFIED
Julie B GlickFranceAsiya Javayant UNQUALIFIED
Tony S FerenczItalyIoni Bowcher NEGOTIATION
Tony D KolmetzGermanyAnna Fali UNQUALIFIED
Emily M FerenczIndiaIoni Bowcher NEGOTIATION
Tony T FerenczAustraliaBernardo Dominic NEW
Ricardo U KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Misaki U AlbaresItalyAnna Fali PROPOSAL
Jeanfrancois T ChuiGermanyAnna Fali RENEWAL
David H NickaBrazilStephen Shaw NEGOTIATION
Salvatore V GlickSpainXuxue Feng UNQUALIFIED
Antonio I PerinAustraliaOnyama Limba UNQUALIFIED
Mayumi P DarakjyJapanAnna Fali PROPOSAL
Deepesh M BowleyGermanyAnna Fali QUALIFIED
Wickens C TollnerBrazilIvan Magalhaes UNQUALIFIED
Maisha G FerenczSpainOnyama Limba NEGOTIATION
Darci C BowleyGermanyOnyama Limba UNQUALIFIED
Maria N VocelkaGermanyElwin Sharvill QUALIFIED
Ashley W RoysterCanadaXuxue Feng RENEWAL
Silvio L MaletSpainXuxue Feng QUALIFIED
Kadeem E RimRussiaIoni Bowcher RENEWAL
Costa W MaletRussiaElwin Sharvill QUALIFIED
Jefferson W InouyeJapanAnna Fali QUALIFIED
Adams O SergiFranceAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair J ChuiJapanAmy Elsner NEGOTIATION
Adams B PoquetteAustraliaIvan Magalhaes QUALIFIED
Chavez L FlosiAustraliaBernardo Dominic UNQUALIFIED
Ashley O DoeBrazilElwin Sharvill RENEWAL
Murillo L KuskoUnited KingdomXuxue Feng RENEWAL
Arvin O PaprockiAustraliaElwin Sharvill QUALIFIED
Cody R SergiRussiaIoni Bowcher NEW
Izzy Y DoeCanadaOnyama Limba NEW
Nicolas T KolmetzArgentinaOnyama Limba QUALIFIED
Murillo A CaldareraArgentinaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood B GlickArgentina2024-06-07Buckley Miller Wright UNQUALIFIED19Anna Fali
1001Isabel W VenereJapan2024-05-23Printing Dimensions NEGOTIATION79Bernardo Dominic
1002Adams I RimRussia2024-05-27Chemel, James L Cpa QUALIFIED93Ivan Magalhaes
1003Aditya P GillianIndia2024-06-14Dorl, James J Esq NEW89Asiya Javayant
1004Ricardo I KuskoFrance2024-06-08Rangoni Of Florence PROPOSAL66Elwin Sharvill
1005Ivar V AmigonSpain2024-05-28Rangoni Of Florence NEW6Stephen Shaw
1006Aruna T FollerAustralia2024-06-06Dorl, James J Esq QUALIFIED61Bernardo Dominic
1007Emily Q GarufiRussia2024-05-24Truhlar And Truhlar Attys QUALIFIED90Stephen Shaw
1008Aika F RoysterJapan2024-05-28Buckley Miller Wright UNQUALIFIED81Amy Elsner
1009Maria R SchemmerIndia2024-06-02Rangoni Of Florence QUALIFIED18Stephen Shaw
1010Murillo I ShinkoRussia2024-05-30Rousseaux, Michael Esq NEW96Bernardo Dominic
1011Wickens R ChuiGermany2024-05-28Printing Dimensions QUALIFIED14Asiya Javayant
1012Kadeem D NestleSpain2024-05-24Truhlar And Truhlar Attys UNQUALIFIED96Onyama Limba
1013Cody S NickaSpain2024-06-10King, Christopher A Esq UNQUALIFIED59Elwin Sharvill
1014David A GauchoSpain2024-06-08Morlong Associates PROPOSAL37Xuxue Feng
1015Mayumi I VocelkaRussia2024-06-16Chemel, James L Cpa PROPOSAL55Anna Fali
1016Aruna X MorascaGermany2024-06-20Morlong Associates UNQUALIFIED92Asiya Javayant
1017Antonio H GarufiFrance2024-06-12King, Christopher A Esq UNQUALIFIED43Ivan Magalhaes
1018Alejandro D PerinItaly2024-06-02Feiner Bros UNQUALIFIED46Elwin Sharvill
1019Izzy V DoeRussia2024-05-24Chanay, Jeffrey A Esq NEGOTIATION42Bernardo Dominic
1020Jones J NickaRussia2024-06-20Chemel, James L Cpa QUALIFIED55Asiya Javayant
1021Cody S PoquetteItaly2024-06-20Dorl, James J Esq RENEWAL37Asiya Javayant
1022Jones V RutaArgentina2024-06-19Morlong Associates NEW22Ioni Bowcher
1023Costa T GlickUnited Kingdom2024-06-20Morlong Associates RENEWAL61Ioni Bowcher
1024Emily Z MaletRussia2024-06-08Feiner Bros UNQUALIFIED67Ivan Magalhaes
1025Murillo B CaudyArgentina2024-06-14Morlong Associates NEGOTIATION48Asiya Javayant
1026Arvin M SchemmerGermany2024-06-05Commercial Press QUALIFIED47Anna Fali
1027Leja H DarakjyBrazil2024-06-14King, Christopher A Esq QUALIFIED61Bernardo Dominic
1028Silvio Y VenereRussia2024-06-14Commercial Press UNQUALIFIED96Xuxue Feng
1029Cody R DarakjyItaly2024-06-03Rangoni Of Florence PROPOSAL28Elwin Sharvill
1030Morrow N ButtCanada2024-05-30Feiner Bros RENEWAL72Elwin Sharvill
1031Jennifer G NickaItaly2024-06-03Chemel, James L Cpa PROPOSAL56Bernardo Dominic
1032Johnson M InouyeUnited Kingdom2024-06-12King, Christopher A Esq NEW43Amy Elsner
1033Mujtaba T GauchoSpain2024-06-02Morlong Associates NEW51Ioni Bowcher
1034Jennifer U InouyeBrazil2024-06-21Rousseaux, Michael Esq RENEWAL62Bernardo Dominic
1035Wickens X MacleadFrance2024-06-21Rousseaux, Michael Esq NEW14Elwin Sharvill
1036Greenwood C DarakjyFrance2024-06-14Feiner Bros NEW89Amy Elsner
1037Maisha A BriddickArgentina2024-06-18Benton, John B Jr NEW2Elwin Sharvill
1038Julie S RutaItaly2024-06-08Feiner Bros NEW0Bernardo Dominic
1039David M NickaAustralia2024-06-11Rangoni Of Florence RENEWAL2Xuxue Feng
1040Isabel R OstroskyRussia2024-06-03Rangoni Of Florence QUALIFIED47Anna Fali
1041Johnson Z DilliardAustralia2024-05-23Chanay, Jeffrey A Esq QUALIFIED20Asiya Javayant
1042Rodrigues B ShinkoGermany2024-06-13Benton, John B Jr PROPOSAL25Amy Elsner
1043Claire F SchemmerCanada2024-06-11Morlong Associates PROPOSAL50Amy Elsner
1044Arvin A ButtUnited Kingdom2024-06-06Buckley Miller Wright NEW77Amy Elsner
1045Clifford S GlickCanada2024-06-18Dorl, James J Esq QUALIFIED94Asiya Javayant
1046Salvatore X DilliardBrazil2024-06-03Rangoni Of Florence PROPOSAL77Stephen Shaw
1047Wickens L TollnerIndia2024-06-07Commercial Press QUALIFIED65Ioni Bowcher
1048Murillo D KuskoUnited Kingdom2024-06-21Benton, John B Jr PROPOSAL37Stephen Shaw
1049James V FlosiSpain2024-06-09Buckley Miller Wright PROPOSAL2Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Silvio J PoquetteAustraliaOnyama Limba NEW
Munro R MaletGermanyAnna Fali NEGOTIATION
Kadeem K MarrierAustraliaIoni Bowcher QUALIFIED
Salvatore F RulapaughSpainAsiya Javayant RENEWAL
Costa N WieserSpainIvan Magalhaes QUALIFIED
Jefferson V BowleyUnited KingdomOnyama Limba PROPOSAL
Jennifer H KuskoSpainElwin Sharvill QUALIFIED
Isabel K MarrierCanadaIvan Magalhaes NEGOTIATION
Munro C VocelkaBrazilStephen Shaw PROPOSAL
Maisha H ChuiGermanyOnyama Limba RENEWAL
Leon L FlosiGermanyStephen Shaw NEW
Ivar G StensethJapanIoni Bowcher NEW
Morrow V PoquetteFranceElwin Sharvill PROPOSAL
Ivar J OldroydBrazilAnna Fali QUALIFIED
David C FerenczFranceBernardo Dominic QUALIFIED
Nicolas Z FollerUnited KingdomIoni Bowcher UNQUALIFIED
Munro W SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro A PoquetteAustraliaOnyama Limba UNQUALIFIED
Jefferson V BologniaBrazilAnna Fali QUALIFIED
Munro R VenereCanadaAmy Elsner PROPOSAL
Ricardo G IturbideIndiaIoni Bowcher NEW
Mayumi S NickaUnited KingdomElwin Sharvill NEGOTIATION
Maria Y DoeJapanStephen Shaw UNQUALIFIED
David B FlosiCanadaIoni Bowcher PROPOSAL
Mujtaba I VenereSpainIoni Bowcher NEW
Octavia R TollnerGermanyBernardo Dominic NEGOTIATION
Jeanfrancois G MaletBrazilBernardo Dominic QUALIFIED
Stacey R RutaArgentinaAsiya Javayant PROPOSAL
Leja D ChuiRussiaXuxue Feng NEW
Tony Q FigeroaArgentinaAnna Fali UNQUALIFIED
Isabel U SaylorsFranceIoni Bowcher NEGOTIATION
Ivar X RimUnited KingdomIvan Magalhaes QUALIFIED
David F PoquetteUnited KingdomAmy Elsner NEGOTIATION
Aditya D SchemmerSpainBernardo Dominic PROPOSAL
Wickens M DoeIndiaIoni Bowcher NEGOTIATION
Tony G MaletGermanyIvan Magalhaes NEGOTIATION
Jefferson P StensethArgentinaBernardo Dominic NEGOTIATION
Sinclair O GarufiBrazilAnna Fali NEGOTIATION
James M ShinkoBrazilIoni Bowcher NEGOTIATION
Tony H BologniaItalyElwin Sharvill UNQUALIFIED
Jefferson F WieserRussiaOnyama Limba PROPOSAL
Antonio F CaudyAustraliaXuxue Feng NEGOTIATION
Chavez N RimCanadaElwin Sharvill PROPOSAL
Arvin S MaletArgentinaBernardo Dominic PROPOSAL
Tony K InouyeCanadaAnna Fali RENEWAL
Smith N KolmetzUnited KingdomOnyama Limba QUALIFIED
Alejandro J AmigonAustraliaAnna Fali QUALIFIED
Kadeem H SaylorsFranceAsiya Javayant QUALIFIED
Jefferson O RutaFranceOnyama Limba NEW
Costa F ShinkoCanadaIvan Magalhaes NEW
Frozen Columns
Name
Smith X Shinko
Maria T Campain
Silvio U Rim
Murillo F Malet
Octavia E Perin
Darci F Malet
Jennifer S Kolmetz
Maisha Z Sergi
Tony L Campain
Kaitlin A Garufi
Aditya T Darakjy
Jones Y Caldarera
Deepesh E Gaucho
Izzy S Rulapaugh
Izzy W Malet
Alejandro R Iturbide
David V Shinko
Antonio U Figeroa
Jefferson X Stockham
Mujtaba J Rim
Kaitlin G Foller
Greenwood Y Oldroyd
Jennifer B Shinko
Salvatore P Garufi
Francesco H Ferencz
Costa A Schemmer
Cody K Briddick
Misaki I Iturbide
Stacey D Vocelka
Mujtaba T Poquette
Rodrigues L Chui
Kadeem M Chui
Darci R Shinko
Maria N Nicka
Chavez Q Perin
Rodrigues R Briddick
David Z Chui
David W Maclead
Murillo P Vocelka
Emily F Darakjy
Maria Y Darakjy
Johnson M Shinko
Isabel U Briddick
Deepesh C Wieser
Aika R Tollner
Morrow A Sergi
Munro J Butt
Wickens K Shinko
Alejandro P Maclead
Johnson K Whobrey
IdCountryDate
1000Argentina2024-06-05
1001Germany2024-06-19
1002Russia2024-06-10
1003Australia2024-05-23
1004Australia2024-06-05
1005India2024-06-07
1006Argentina2024-06-14
1007Australia2024-06-12
1008Australia2024-05-25
1009Canada2024-06-10
1010Germany2024-06-20
1011Argentina2024-05-27
1012Italy2024-05-29
1013Germany2024-06-04
1014Germany2024-06-05
1015Japan2024-06-09
1016Russia2024-05-27
1017France2024-06-05
1018India2024-05-30
1019United Kingdom2024-06-19
1020France2024-06-14
1021Japan2024-06-21
1022Brazil2024-06-07
1023Japan2024-05-23
1024Argentina2024-05-31
1025Spain2024-05-31
1026Argentina2024-05-26
1027Russia2024-06-17
1028United Kingdom2024-06-13
1029Italy2024-06-18
1030Argentina2024-06-01
1031Brazil2024-06-03
1032Australia2024-06-20
1033Japan2024-06-11
1034Canada2024-06-18
1035India2024-06-13
1036Spain2024-06-16
1037United Kingdom2024-06-07
1038Japan2024-05-25
1039Australia2024-06-09
1040United Kingdom2024-05-24
1041Japan2024-05-26
1042Russia2024-06-06
1043Japan2024-05-23
1044Germany2024-06-10
1045Australia2024-06-05
1046Japan2024-06-01
1047Argentina2024-06-06
1048Italy2024-06-21
1049Japan2024-05-24

On-Demand Data

NameIdCountryDate
Sinclair B Chui1000Australia2024-06-10
Sinclair W Shinko1001Argentina2024-06-20
Clifford V Rim1002Canada2024-06-05
Alejandro J Ferencz1003Germany2024-05-30
Ricardo T Dilliard1004Russia2024-06-13
Jones Y Shinko1005Japan2024-05-31
Jones Z Caudy1006Australia2024-06-21
Morrow P Bolognia1007Italy2024-06-17
Aditya G Rim1008Canada2024-05-29
Stacey K Malet1009Brazil2024-06-16
Ivar B Venere1010Canada2024-05-30
Claire Y Amigon1011Italy2024-06-17
Rodrigues Z Oldroyd1012Japan2024-06-20
Nicolas C Bowley1013Italy2024-06-20
Costa P Iturbide1014Canada2024-05-23
Stacey J Campain1015Japan2024-05-23
Mujtaba W Butt1016Italy2024-06-04
Arvin U Darakjy1017Australia2024-05-29
Antonio J Ferencz1018Italy2024-06-08
Claire I Inouye1019India2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco M RutaJapanElwin Sharvill NEW
Jeanfrancois M CaldareraSpainIvan Magalhaes PROPOSAL
Sinclair P VenereFranceXuxue Feng NEW
David S DoeAustraliaAsiya Javayant RENEWAL
Ivar J PaprockiCanadaAsiya Javayant QUALIFIED
Clifford G RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Francesco X StockhamAustraliaIvan Magalhaes PROPOSAL
Aika C MarrierCanadaIoni Bowcher NEW
Francesco N VocelkaArgentinaIoni Bowcher PROPOSAL
Julie P BowleyFranceStephen Shaw QUALIFIED
Julie O KolmetzSpainXuxue Feng QUALIFIED
Maisha U BologniaJapanIvan Magalhaes QUALIFIED
Izzy Y SlusarskiIndiaAnna Fali UNQUALIFIED
Deepesh P WhobreyFranceBernardo Dominic PROPOSAL
Rodrigues U StensethUnited KingdomAmy Elsner NEGOTIATION
Costa B InouyeFranceElwin Sharvill NEW
Aruna Q MaletSpainBernardo Dominic UNQUALIFIED
Chavez U KuskoItalyBernardo Dominic QUALIFIED
Misaki K PoquetteAustraliaBernardo Dominic UNQUALIFIED
Wickens H OstroskyBrazilIoni Bowcher QUALIFIED
Aruna Y WieserBrazilElwin Sharvill NEW
Aika S GauchoCanadaOnyama Limba PROPOSAL
Aika G VenereAustraliaIoni Bowcher RENEWAL
Mayumi X MaletRussiaStephen Shaw RENEWAL
Munro D GauchoAustraliaStephen Shaw UNQUALIFIED
Leon G CampainSpainElwin Sharvill QUALIFIED
David Z SchemmerJapanIoni Bowcher RENEWAL
Faith W StensethCanadaIvan Magalhaes UNQUALIFIED
Francesco Q StensethRussiaIoni Bowcher PROPOSAL
Arvin V FollerCanadaXuxue Feng QUALIFIED
Maria L RoysterRussiaElwin Sharvill RENEWAL
Aruna F MaletCanadaStephen Shaw NEW
Misaki D MaletGermanyOnyama Limba UNQUALIFIED
Aruna U IturbideRussiaStephen Shaw NEGOTIATION
Chavez I OstroskyGermanyIvan Magalhaes NEGOTIATION
Munro Z FollerBrazilAsiya Javayant PROPOSAL
Munro D WhobreyFranceXuxue Feng QUALIFIED
Aditya K GlickArgentinaBernardo Dominic UNQUALIFIED
Ricardo E DarakjyJapanXuxue Feng RENEWAL
Cody K AlbaresBrazilAnna 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>