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
Maria R BriddickCanadaOnyama Limba RENEWAL
Salvatore H OldroydFranceAmy Elsner NEGOTIATION
Aditya N SergiSpainXuxue Feng NEGOTIATION
Leon B KolmetzBrazilAnna Fali PROPOSAL
Misaki S DoeCanadaIvan Magalhaes UNQUALIFIED
David X PaprockiCanadaAsiya Javayant NEW
Leja P PoquetteAustraliaAmy Elsner NEGOTIATION
Mujtaba C VenereFranceAsiya Javayant RENEWAL
David S InouyeUnited KingdomAnna Fali NEGOTIATION
Morrow P KuskoArgentinaBernardo Dominic NEW
Isabel Z DilliardCanadaIvan Magalhaes PROPOSAL
Greenwood L RutaItalyElwin Sharvill QUALIFIED
Mujtaba K StensethJapanBernardo Dominic NEGOTIATION
Greenwood C FerenczUnited KingdomAnna Fali PROPOSAL
Julie D MarrierFranceAsiya Javayant QUALIFIED
Jeanfrancois C ShinkoAustraliaAnna Fali PROPOSAL
Faith I StensethBrazilAmy Elsner UNQUALIFIED
Leon R CaldareraItalyOnyama Limba UNQUALIFIED
Murillo C FigeroaGermanyXuxue Feng UNQUALIFIED
Kaitlin M GillianJapanAmy Elsner UNQUALIFIED
Francesco G MarrierBrazilOnyama Limba NEGOTIATION
Silvio X FigeroaAustraliaIoni Bowcher NEW
Adams P BriddickIndiaElwin Sharvill PROPOSAL
Cody F PerinItalyStephen Shaw UNQUALIFIED
Jones C IturbideUnited KingdomStephen Shaw QUALIFIED
Adams O ButtUnited KingdomIvan Magalhaes QUALIFIED
Johnson G DarakjyCanadaIoni Bowcher QUALIFIED
Maisha L SchemmerIndiaAsiya Javayant PROPOSAL
Smith G SchemmerBrazilOnyama Limba RENEWAL
Adams M OldroydAustraliaAnna Fali PROPOSAL
Izzy H RimItalyAmy Elsner PROPOSAL
Nicolas D BriddickAustraliaXuxue Feng PROPOSAL
Emily M CampainGermanyIvan Magalhaes RENEWAL
Tony B AlbaresUnited KingdomXuxue Feng QUALIFIED
Ashley K KuskoAustraliaAsiya Javayant RENEWAL
Maisha G RimRussiaAmy Elsner UNQUALIFIED
Costa J PaprockiSpainAsiya Javayant PROPOSAL
Maisha M GlickIndiaAsiya Javayant RENEWAL
Johnson F CampainIndiaOnyama Limba RENEWAL
David X PoquetteAustraliaBernardo Dominic UNQUALIFIED
Sinclair Z AmigonCanadaOnyama Limba QUALIFIED
Jeanfrancois N DilliardGermanyOnyama Limba UNQUALIFIED
Aruna A SergiGermanyIvan Magalhaes QUALIFIED
Francesco P GarufiSpainIoni Bowcher PROPOSAL
Kadeem P OldroydGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois L IturbideRussiaBernardo Dominic NEGOTIATION
Sinclair G CaldareraCanadaAnna Fali NEW
Julie S MaletGermanyBernardo Dominic NEGOTIATION
Mujtaba D InouyeIndiaStephen Shaw PROPOSAL
Murillo K RutaItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem B DilliardSpainElwin Sharvill PROPOSAL
Kaitlin R VocelkaGermanyElwin Sharvill QUALIFIED
Antonio U FlosiSpainStephen Shaw NEW
Julie J IturbideArgentinaStephen Shaw UNQUALIFIED
Antonio I MaletIndiaBernardo Dominic UNQUALIFIED
Isabel D GauchoIndiaAsiya Javayant UNQUALIFIED
Ashley I GillianBrazilIoni Bowcher QUALIFIED
Leja O CaldareraUnited KingdomIvan Magalhaes PROPOSAL
David A WhobreyAustraliaAnna Fali QUALIFIED
Stacey P StockhamCanadaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa V VenereFrance2024-05-25Feiner Bros NEGOTIATION32Onyama Limba
1001Ricardo Y PoquetteCanada2024-05-27Feiner Bros PROPOSAL29Anna Fali
1002Wickens W FerenczArgentina2024-05-24King, Christopher A Esq NEGOTIATION95Stephen Shaw
1003Aditya K IturbideArgentina2024-06-10Benton, John B Jr UNQUALIFIED2Ivan Magalhaes
1004Smith B CaudyUnited Kingdom2024-06-10Morlong Associates RENEWAL25Xuxue Feng
1005Smith M PerinUnited Kingdom2024-06-13Feiner Bros RENEWAL4Amy Elsner
1006Aditya D MaletJapan2024-06-11Printing Dimensions RENEWAL77Bernardo Dominic
1007Antonio N FollerIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL40Ivan Magalhaes
1008Cody C MaletIndia2024-06-21Morlong Associates QUALIFIED14Xuxue Feng
1009Aditya X DarakjyAustralia2024-06-06Morlong Associates RENEWAL26Elwin Sharvill
1010Cody Z AmigonBrazil2024-05-26Truhlar And Truhlar Attys NEGOTIATION24Amy Elsner
1011Arvin F GillianArgentina2024-06-07Dorl, James J Esq NEGOTIATION46Ivan Magalhaes
1012Faith L IturbideArgentina2024-05-30Feiner Bros PROPOSAL89Anna Fali
1013Izzy B BowleyAustralia2024-06-20Chemel, James L Cpa PROPOSAL97Elwin Sharvill
1014Smith P SlusarskiSpain2024-05-27Dorl, James J Esq PROPOSAL40Asiya Javayant
1015Rodrigues V FigeroaJapan2024-05-31Chemel, James L Cpa NEGOTIATION83Ivan Magalhaes
1016Sinclair F MacleadAustralia2024-05-30King, Christopher A Esq PROPOSAL35Xuxue Feng
1017Alejandro K FlosiArgentina2024-06-01Rousseaux, Michael Esq NEGOTIATION30Amy Elsner
1018Kaitlin F GarufiRussia2024-06-10Printing Dimensions NEGOTIATION7Bernardo Dominic
1019Aika S AmigonFrance2024-06-14Chanay, Jeffrey A Esq QUALIFIED4Onyama Limba
1020Julie N InouyeArgentina2024-06-03Chanay, Jeffrey A Esq NEGOTIATION58Onyama Limba
1021Munro Y RoysterFrance2024-05-27Morlong Associates PROPOSAL93Bernardo Dominic
1022Aruna C IturbideCanada2024-05-27Feiner Bros PROPOSAL81Amy Elsner
1023Costa H VenereItaly2024-05-29Feiner Bros UNQUALIFIED14Asiya Javayant
1024Rodrigues U VocelkaJapan2024-05-27Printing Dimensions UNQUALIFIED98Xuxue Feng
1025Costa W FerenczArgentina2024-06-10Printing Dimensions RENEWAL40Onyama Limba
1026Kaitlin F WhobreyFrance2024-06-10Chanay, Jeffrey A Esq QUALIFIED79Elwin Sharvill
1027Misaki K PaprockiBrazil2024-05-31Chanay, Jeffrey A Esq RENEWAL85Anna Fali
1028Salvatore I WieserGermany2024-06-01Buckley Miller Wright PROPOSAL56Anna Fali
1029Kadeem F DarakjyCanada2024-06-21Chemel, James L Cpa QUALIFIED2Ivan Magalhaes
1030Aditya Q DarakjyJapan2024-06-09Commercial Press NEGOTIATION57Amy Elsner
1031Maisha E WieserCanada2024-06-04Morlong Associates QUALIFIED16Ivan Magalhaes
1032Maisha Y SaylorsCanada2024-06-08Dorl, James J Esq PROPOSAL16Amy Elsner
1033Kaitlin U AlbaresRussia2024-06-21Rousseaux, Michael Esq UNQUALIFIED68Stephen Shaw
1034Adams C ButtItaly2024-06-02Dorl, James J Esq UNQUALIFIED68Elwin Sharvill
1035Mayumi T VocelkaAustralia2024-06-10Morlong Associates NEGOTIATION57Anna Fali
1036Alejandro I GauchoCanada2024-05-31Rousseaux, Michael Esq PROPOSAL35Bernardo Dominic
1037Munro V StensethSpain2024-06-03Printing Dimensions UNQUALIFIED42Stephen Shaw
1038Aruna A WieserJapan2024-06-06Feltz Printing Service NEGOTIATION65Onyama Limba
1039Kaitlin Q StockhamFrance2024-05-31Buckley Miller Wright NEW81Ioni Bowcher
1040Izzy X OstroskyItaly2024-06-04Chanay, Jeffrey A Esq NEW24Elwin Sharvill
1041Jefferson U PaprockiBrazil2024-06-14Rousseaux, Michael Esq PROPOSAL62Ioni Bowcher
1042Jones A FollerItaly2024-05-28Truhlar And Truhlar Attys QUALIFIED54Bernardo Dominic
1043Leon Q MacleadFrance2024-06-18Rangoni Of Florence NEGOTIATION71Xuxue Feng
1044Wickens I VocelkaBrazil2024-06-15Chanay, Jeffrey A Esq NEW48Ioni Bowcher
1045Octavia Q RulapaughItaly2024-05-25Rangoni Of Florence UNQUALIFIED26Ivan Magalhaes
1046Maria C FerenczCanada2024-05-28Commercial Press QUALIFIED79Amy Elsner
1047Smith L ChuiCanada2024-05-25Dorl, James J Esq NEW95Anna Fali
1048Ashley F FollerCanada2024-06-09Rousseaux, Michael Esq PROPOSAL65Amy Elsner
1049Maisha T InouyeUnited Kingdom2024-06-06Rangoni Of Florence QUALIFIED73Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Darci X SergiUnited KingdomAnna Fali NEW
Francesco E GarufiRussiaXuxue Feng UNQUALIFIED
Morrow V InouyeRussiaStephen Shaw UNQUALIFIED
Smith L BowleyCanadaIvan Magalhaes PROPOSAL
Antonio A CaudyItalyOnyama Limba PROPOSAL
Jennifer E PoquetteFranceAmy Elsner PROPOSAL
Mayumi B GarufiRussiaOnyama Limba PROPOSAL
Stacey I RimJapanXuxue Feng PROPOSAL
Octavia J WhobreyRussiaIoni Bowcher QUALIFIED
Mayumi A RimArgentinaStephen Shaw NEW
Misaki W SergiIndiaAsiya Javayant QUALIFIED
Stacey X AmigonArgentinaOnyama Limba UNQUALIFIED
Kaitlin S VocelkaBrazilXuxue Feng UNQUALIFIED
Julie X GlickRussiaElwin Sharvill UNQUALIFIED
Greenwood D NestleItalyIoni Bowcher UNQUALIFIED
Aika T WieserUnited KingdomAsiya Javayant QUALIFIED
Silvio E ButtAustraliaAmy Elsner UNQUALIFIED
Wickens W GarufiArgentinaAmy Elsner NEW
Alejandro X SaylorsCanadaXuxue Feng QUALIFIED
Adams I WieserArgentinaAsiya Javayant UNQUALIFIED
Adams N RimCanadaIoni Bowcher RENEWAL
Julie U PerinUnited KingdomIoni Bowcher UNQUALIFIED
James M NickaFranceAmy Elsner PROPOSAL
Leon F GillianGermanyXuxue Feng NEW
Francesco A BriddickIndiaElwin Sharvill RENEWAL
Julie J WieserCanadaXuxue Feng NEW
Leja F RoysterRussiaStephen Shaw NEW
Maisha A StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Adams Y FollerAustraliaAsiya Javayant QUALIFIED
Greenwood R CaldareraArgentinaStephen Shaw PROPOSAL
Octavia E MaletFranceIvan Magalhaes PROPOSAL
Francesco F NickaRussiaElwin Sharvill NEW
Leja A PerinArgentinaElwin Sharvill PROPOSAL
Misaki C FollerIndiaAnna Fali RENEWAL
Murillo I KolmetzFranceOnyama Limba PROPOSAL
Emily E MorascaGermanyIoni Bowcher RENEWAL
Kadeem F ButtUnited KingdomBernardo Dominic NEW
Aruna X RimCanadaBernardo Dominic NEGOTIATION
Aruna X TollnerAustraliaIvan Magalhaes RENEWAL
Aruna G RoysterFranceAsiya Javayant RENEWAL
Cody V AlbaresUnited KingdomBernardo Dominic NEW
Kadeem U PaprockiAustraliaXuxue Feng UNQUALIFIED
Aruna T KuskoUnited KingdomBernardo Dominic QUALIFIED
Aditya T SergiJapanBernardo Dominic PROPOSAL
Johnson Z GlickBrazilXuxue Feng UNQUALIFIED
Antonio K PerinUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba M NestleAustraliaOnyama Limba QUALIFIED
Alejandro Y NestleJapanAmy Elsner QUALIFIED
Francesco O MaletArgentinaElwin Sharvill NEW
Johnson I PerinBrazilBernardo Dominic RENEWAL
Frozen Columns
Name
Sinclair T Gaucho
Cody Q Dilliard
James P Vocelka
Arvin U Caudy
Leja U Perin
Nicolas T Oldroyd
Claire U Schemmer
Izzy V Figeroa
Adams T Butt
Johnson S Glick
Jones E Bowley
Antonio L Inouye
Mujtaba V Waycott
Ricardo J Iturbide
Clifford D Schemmer
Mujtaba H Iturbide
Mujtaba Z Ruta
Deepesh R Glick
Nicolas L Chui
Nicolas B Gaucho
Aika Q Amigon
Julie F Tollner
Emily Q Rulapaugh
Tony Y Oldroyd
Maria X Oldroyd
Aditya Q Perin
David O Foller
Jeanfrancois B Ruta
Juan J Foller
Leon T Perin
Rodrigues V Bowley
Sinclair D Saylors
Maisha S Sergi
Sinclair D Whobrey
Emily P Maclead
Maisha H Shinko
David N Wieser
Ivar I Campain
Maisha S Rim
James H Wieser
Darci O Whobrey
Maisha O Iturbide
Kaitlin D Amigon
Salvatore I Darakjy
Francesco G Oldroyd
Maisha X Rim
Mayumi Y Kusko
Isabel D Bolognia
Jones D Glick
Cody Z Amigon
IdCountryDate
1000Spain2024-06-03
1001Japan2024-06-18
1002United Kingdom2024-06-20
1003Argentina2024-06-21
1004Australia2024-06-10
1005Australia2024-06-18
1006Italy2024-06-16
1007India2024-06-16
1008France2024-05-29
1009United Kingdom2024-06-18
1010India2024-06-03
1011Australia2024-06-21
1012Russia2024-05-28
1013Germany2024-05-25
1014Japan2024-06-10
1015Russia2024-06-06
1016United Kingdom2024-06-02
1017Brazil2024-06-10
1018Spain2024-05-31
1019Brazil2024-06-14
1020India2024-06-04
1021Japan2024-06-09
1022Russia2024-06-09
1023Russia2024-06-04
1024India2024-06-21
1025United Kingdom2024-06-22
1026Australia2024-06-12
1027United Kingdom2024-06-15
1028Italy2024-06-03
1029Argentina2024-06-12
1030Spain2024-06-06
1031Argentina2024-05-29
1032Brazil2024-06-11
1033Japan2024-06-19
1034France2024-06-22
1035Japan2024-06-16
1036Spain2024-05-26
1037Italy2024-06-11
1038Australia2024-06-14
1039Germany2024-06-07
1040France2024-06-17
1041India2024-06-04
1042Italy2024-06-09
1043Italy2024-06-19
1044Germany2024-05-28
1045Argentina2024-06-16
1046Canada2024-05-24
1047Russia2024-06-11
1048Germany2024-05-29
1049Japan2024-06-09

On-Demand Data

NameIdCountryDate
Murillo G Tollner1000Argentina2024-06-09
Costa D Royster1001Japan2024-06-17
Chavez W Perin1002Japan2024-05-26
Stacey L Chui1003Argentina2024-06-21
Octavia S Waycott1004Germany2024-06-14
David O Oldroyd1005Japan2024-06-21
Ashley Q Poquette1006Spain2024-06-01
Kaitlin T Perin1007Canada2024-06-05
Munro X Chui1008Spain2024-06-18
Antonio V Bowley1009Argentina2024-06-02
James S Kusko1010France2024-05-24
James W Caldarera1011Russia2024-05-24
Maria Z Royster1012France2024-06-11
Ricardo G Butt1013Russia2024-06-16
Emily N Kusko1014Canada2024-06-08
Cody S Whobrey1015Argentina2024-06-17
Emily N Nestle1016Brazil2024-05-25
Alejandro K Paprocki1017France2024-06-01
Greenwood V Vocelka1018United Kingdom2024-06-01
David H Malet1019Brazil2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio E GarufiSpainIoni Bowcher RENEWAL
Nicolas Y GlickRussiaAsiya Javayant RENEWAL
Sinclair L KolmetzUnited KingdomOnyama Limba NEGOTIATION
Juan O FerenczGermanyIvan Magalhaes NEGOTIATION
Stacey D PaprockiItalyAmy Elsner NEGOTIATION
Greenwood H FigeroaFranceStephen Shaw UNQUALIFIED
Nicolas J MaletAustraliaOnyama Limba PROPOSAL
Misaki C BologniaRussiaIvan Magalhaes NEW
Jones U DarakjyBrazilAsiya Javayant QUALIFIED
Morrow N OstroskyIndiaOnyama Limba PROPOSAL
Misaki J InouyeAustraliaAmy Elsner NEGOTIATION
Leon P BologniaCanadaOnyama Limba UNQUALIFIED
Alejandro N PaprockiAustraliaElwin Sharvill PROPOSAL
Antonio K MarrierSpainOnyama Limba NEGOTIATION
James Q BologniaRussiaAmy Elsner NEGOTIATION
Claire E PoquetteRussiaXuxue Feng QUALIFIED
Faith J CampainFranceStephen Shaw RENEWAL
Octavia B DarakjyFranceAmy Elsner UNQUALIFIED
Cody I AmigonJapanAmy Elsner QUALIFIED
Faith A StensethSpainElwin Sharvill NEW
Deepesh H ShinkoBrazilIvan Magalhaes NEW
Antonio Z GlickBrazilStephen Shaw UNQUALIFIED
Julie D OldroydItalyStephen Shaw RENEWAL
Rodrigues N SlusarskiBrazilIoni Bowcher NEGOTIATION
Juan F MacleadCanadaAmy Elsner UNQUALIFIED
Chavez Y RimRussiaAsiya Javayant RENEWAL
Aditya N NickaCanadaIoni Bowcher NEW
Aditya Y WhobreyGermanyAnna Fali UNQUALIFIED
Aruna R CampainBrazilOnyama Limba NEW
Jefferson E StensethIndiaOnyama Limba RENEWAL
Johnson S StockhamIndiaIoni Bowcher NEGOTIATION
Stacey O AlbaresSpainOnyama Limba NEW
Chavez B DoeRussiaOnyama Limba NEGOTIATION
Faith Y MacleadIndiaIoni Bowcher PROPOSAL
Jennifer X WhobreyBrazilStephen Shaw UNQUALIFIED
Nicolas L AlbaresSpainElwin Sharvill NEW
Ivar L KolmetzIndiaAnna Fali RENEWAL
Adams H KolmetzSpainBernardo Dominic QUALIFIED
Murillo D AmigonGermanyIvan Magalhaes PROPOSAL
Aruna J BologniaFranceAsiya Javayant RENEWAL

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