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
Costa J BowleyUnited KingdomOnyama Limba RENEWAL
David B PoquetteArgentinaIvan Magalhaes QUALIFIED
Jennifer B DarakjyArgentinaAnna Fali RENEWAL
Salvatore A TollnerFranceIvan Magalhaes PROPOSAL
Aruna W RulapaughJapanAsiya Javayant UNQUALIFIED
Aruna Z WieserJapanElwin Sharvill NEW
Antonio D SchemmerBrazilAsiya Javayant PROPOSAL
Isabel P PaprockiIndiaXuxue Feng UNQUALIFIED
Maisha H PoquetteRussiaIoni Bowcher NEGOTIATION
Arvin L VocelkaItalyStephen Shaw NEW
Smith B DoeJapanIoni Bowcher PROPOSAL
Kadeem O GauchoGermanyStephen Shaw UNQUALIFIED
Murillo M KuskoCanadaIoni Bowcher NEGOTIATION
Clifford B BologniaIndiaIvan Magalhaes UNQUALIFIED
Aruna Q GauchoJapanBernardo Dominic QUALIFIED
Greenwood L MarrierBrazilAsiya Javayant PROPOSAL
Julie L GauchoJapanAmy Elsner PROPOSAL
Stacey S BologniaJapanAnna Fali UNQUALIFIED
Emily B RutaGermanyAnna Fali UNQUALIFIED
Wickens A OstroskySpainXuxue Feng UNQUALIFIED
Murillo Z MacleadJapanIvan Magalhaes RENEWAL
Clifford P SaylorsItalyAmy Elsner NEW
Nicolas E OstroskyUnited KingdomBernardo Dominic PROPOSAL
Nicolas N CampainGermanyStephen Shaw NEGOTIATION
Octavia V BriddickItalyIoni Bowcher UNQUALIFIED
Ivar P VenereAustraliaAmy Elsner QUALIFIED
Silvio I InouyeFranceBernardo Dominic UNQUALIFIED
Nicolas U AlbaresJapanElwin Sharvill NEGOTIATION
Faith R InouyeArgentinaBernardo Dominic RENEWAL
Francesco I StockhamUnited KingdomAmy Elsner NEW
Aruna R BologniaItalyIoni Bowcher NEW
Ricardo D StockhamItalyIvan Magalhaes RENEWAL
Silvio W SlusarskiSpainAnna Fali NEGOTIATION
Aika H NestleSpainAsiya Javayant NEW
Aruna F KolmetzCanadaAsiya Javayant UNQUALIFIED
Chavez P CampainBrazilBernardo Dominic PROPOSAL
Munro K IturbideSpainBernardo Dominic QUALIFIED
James J RoysterItalyStephen Shaw NEW
Emily R CampainBrazilIvan Magalhaes PROPOSAL
Maisha E CaudyUnited KingdomStephen Shaw QUALIFIED
Alejandro B FlosiRussiaStephen Shaw QUALIFIED
Jefferson E AlbaresBrazilElwin Sharvill PROPOSAL
Maria I GauchoBrazilElwin Sharvill NEW
Darci O GillianUnited KingdomIoni Bowcher UNQUALIFIED
Faith E KuskoGermanyIoni Bowcher NEW
Maisha B FigeroaArgentinaAmy Elsner NEGOTIATION
Leja I StensethBrazilAmy Elsner NEGOTIATION
Ashley I BriddickIndiaXuxue Feng RENEWAL
Juan F WieserRussiaXuxue Feng RENEWAL
Arvin U NickaSpainOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar B AlbaresRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois S KolmetzSpainIvan Magalhaes QUALIFIED
Jennifer L MorascaGermanyIvan Magalhaes PROPOSAL
Mayumi D ShinkoJapanOnyama Limba RENEWAL
Ricardo D OstroskyRussiaIoni Bowcher PROPOSAL
Rodrigues F GauchoSpainBernardo Dominic NEGOTIATION
Stacey R PaprockiIndiaStephen Shaw QUALIFIED
Emily G BologniaIndiaIoni Bowcher QUALIFIED
Cody W AmigonFranceStephen Shaw RENEWAL
Murillo E SaylorsJapanStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily W MacleadRussia2024-06-19Commercial Press PROPOSAL33Asiya Javayant
1001Maisha R DarakjyBrazil2024-06-18Commercial Press QUALIFIED61Onyama Limba
1002Deepesh A WieserBrazil2024-06-10Commercial Press UNQUALIFIED57Asiya Javayant
1003Cody X RimAustralia2024-06-11Chanay, Jeffrey A Esq PROPOSAL93Stephen Shaw
1004Jones H StensethJapan2024-06-07Chanay, Jeffrey A Esq NEGOTIATION51Ivan Magalhaes
1005Kadeem B RulapaughUnited Kingdom2024-05-31Rousseaux, Michael Esq NEGOTIATION5Xuxue Feng
1006Maisha X WhobreyArgentina2024-06-07Buckley Miller Wright UNQUALIFIED89Asiya Javayant
1007Faith I ShinkoRussia2024-06-16Morlong Associates UNQUALIFIED52Elwin Sharvill
1008Kaitlin R FlosiSpain2024-06-05Feiner Bros RENEWAL84Anna Fali
1009James U KuskoJapan2024-06-12Chapman, Ross E Esq QUALIFIED10Stephen Shaw
1010Tony R PoquetteJapan2024-06-20Feltz Printing Service PROPOSAL51Onyama Limba
1011Jennifer J MacleadIndia2024-06-01Commercial Press NEW66Amy Elsner
1012Maria F AmigonArgentina2024-06-07Chemel, James L Cpa UNQUALIFIED14Bernardo Dominic
1013Wickens U RoysterBrazil2024-06-06Chemel, James L Cpa NEGOTIATION93Asiya Javayant
1014James Z MaletSpain2024-05-29Chemel, James L Cpa RENEWAL39Asiya Javayant
1015Izzy R RutaSpain2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED13Elwin Sharvill
1016Claire H InouyeAustralia2024-06-08Truhlar And Truhlar Attys RENEWAL23Ivan Magalhaes
1017Darci B NickaFrance2024-06-23Feiner Bros NEW76Bernardo Dominic
1018Aruna V SchemmerSpain2024-06-06Truhlar And Truhlar Attys UNQUALIFIED60Stephen Shaw
1019Leon E SaylorsItaly2024-06-11Printing Dimensions NEGOTIATION52Ivan Magalhaes
1020Wickens F BologniaSpain2024-06-15Truhlar And Truhlar Attys NEGOTIATION26Onyama Limba
1021Deepesh H WieserCanada2024-06-12Truhlar And Truhlar Attys PROPOSAL69Amy Elsner
1022Greenwood M FerenczSpain2024-05-28Rangoni Of Florence PROPOSAL44Bernardo Dominic
1023Jefferson V TollnerItaly2024-06-06Rangoni Of Florence NEW96Asiya Javayant
1024Smith Y NickaBrazil2024-06-14Printing Dimensions PROPOSAL75Elwin Sharvill
1025Ashley A AlbaresUnited Kingdom2024-06-01Chanay, Jeffrey A Esq PROPOSAL50Stephen Shaw
1026Arvin O SchemmerUnited Kingdom2024-06-10Benton, John B Jr NEGOTIATION29Asiya Javayant
1027Arvin K PaprockiItaly2024-06-13King, Christopher A Esq PROPOSAL32Ioni Bowcher
1028Murillo P MacleadItaly2024-06-05Feltz Printing Service PROPOSAL46Bernardo Dominic
1029Mayumi V StockhamRussia2024-06-12Chanay, Jeffrey A Esq NEW57Ioni Bowcher
1030Tony B CaudyIndia2024-05-31Chapman, Ross E Esq QUALIFIED50Ioni Bowcher
1031Aditya F StockhamSpain2024-06-19Commercial Press PROPOSAL96Ivan Magalhaes
1032Octavia H DilliardUnited Kingdom2024-06-21Dorl, James J Esq UNQUALIFIED79Elwin Sharvill
1033Greenwood J RimArgentina2024-06-04Rousseaux, Michael Esq RENEWAL3Ivan Magalhaes
1034Isabel R InouyeJapan2024-06-11Chapman, Ross E Esq QUALIFIED69Stephen Shaw
1035Tony N CaldareraIndia2024-06-05Feltz Printing Service NEW27Stephen Shaw
1036Juan O CaudyArgentina2024-06-17Benton, John B Jr RENEWAL94Stephen Shaw
1037Isabel L KuskoRussia2024-06-05Rangoni Of Florence NEW19Bernardo Dominic
1038Antonio D GauchoJapan2024-06-05Rangoni Of Florence UNQUALIFIED56Elwin Sharvill
1039Silvio W BologniaGermany2024-06-19Commercial Press NEW35Onyama Limba
1040Ricardo U SaylorsAustralia2024-06-04Morlong Associates QUALIFIED66Ivan Magalhaes
1041Costa F WhobreyGermany2024-06-07Chanay, Jeffrey A Esq PROPOSAL28Ivan Magalhaes
1042Emily R MaletArgentina2024-05-29King, Christopher A Esq NEW24Ivan Magalhaes
1043Murillo O InouyeArgentina2024-06-19King, Christopher A Esq NEGOTIATION18Stephen Shaw
1044Costa W MacleadUnited Kingdom2024-06-07Chemel, James L Cpa QUALIFIED21Onyama Limba
1045Salvatore A VocelkaCanada2024-06-20Dorl, James J Esq NEW7Ioni Bowcher
1046Misaki K SlusarskiFrance2024-06-20Printing Dimensions NEGOTIATION60Xuxue Feng
1047Smith Z ButtIndia2024-06-15Printing Dimensions NEW77Asiya Javayant
1048Clifford Y StensethArgentina2024-06-04Truhlar And Truhlar Attys NEGOTIATION87Ioni Bowcher
1049Emily V GillianIndia2024-06-06Rousseaux, Michael Esq NEW32Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha E SergiUnited KingdomElwin Sharvill NEGOTIATION
Stacey W ButtFranceElwin Sharvill UNQUALIFIED
Julie C CaldareraFranceBernardo Dominic NEW
Misaki F PerinUnited KingdomAsiya Javayant UNQUALIFIED
Faith G FerenczItalyIoni Bowcher NEW
Clifford C IturbideFranceAnna Fali NEGOTIATION
Ivar Q MorascaAustraliaXuxue Feng RENEWAL
Mujtaba N RoysterSpainBernardo Dominic PROPOSAL
Stacey T PaprockiIndiaIoni Bowcher RENEWAL
Jennifer B VocelkaSpainStephen Shaw UNQUALIFIED
Salvatore B RutaFranceAnna Fali RENEWAL
Jefferson Z OldroydAustraliaIvan Magalhaes UNQUALIFIED
Smith T WieserCanadaElwin Sharvill NEGOTIATION
Murillo R PaprockiAustraliaAnna Fali RENEWAL
Munro L GarufiCanadaOnyama Limba NEGOTIATION
Silvio Y ChuiUnited KingdomElwin Sharvill RENEWAL
Aditya A SaylorsBrazilXuxue Feng UNQUALIFIED
Juan G PoquetteFranceBernardo Dominic UNQUALIFIED
Clifford I FerenczJapanIvan Magalhaes NEW
Mujtaba W KuskoArgentinaAmy Elsner NEW
Jennifer S AmigonAustraliaAnna Fali NEW
Jones D SaylorsCanadaAsiya Javayant PROPOSAL
Darci Q DarakjyUnited KingdomOnyama Limba QUALIFIED
Adams Q SergiRussiaIvan Magalhaes PROPOSAL
Ivar O SchemmerJapanStephen Shaw NEGOTIATION
Wickens A GillianFranceAmy Elsner PROPOSAL
James R MaletBrazilAnna Fali QUALIFIED
Salvatore A BriddickRussiaIvan Magalhaes UNQUALIFIED
Cody W FlosiRussiaStephen Shaw PROPOSAL
Mayumi E RimSpainElwin Sharvill UNQUALIFIED
Salvatore D SchemmerFranceOnyama Limba NEW
Jones U NestleRussiaIvan Magalhaes NEGOTIATION
Morrow S CampainRussiaOnyama Limba PROPOSAL
Claire N MorascaSpainStephen Shaw NEW
Izzy N DilliardItalyAsiya Javayant NEGOTIATION
Francesco E OstroskyBrazilOnyama Limba NEW
Tony E WieserAustraliaAnna Fali RENEWAL
Leon S MaletIndiaElwin Sharvill NEW
Aruna E SergiIndiaAmy Elsner NEGOTIATION
Clifford L SchemmerSpainXuxue Feng NEW
Darci Y WieserJapanAnna Fali QUALIFIED
Isabel U SchemmerCanadaAnna Fali PROPOSAL
Greenwood Q MarrierItalyIoni Bowcher NEW
Mujtaba P StockhamFranceElwin Sharvill NEGOTIATION
Aika N DoeSpainIvan Magalhaes NEGOTIATION
Aditya A StensethGermanyAsiya Javayant NEGOTIATION
Alejandro L VenereSpainBernardo Dominic RENEWAL
Rodrigues M SaylorsRussiaBernardo Dominic UNQUALIFIED
Clifford U RulapaughItalyElwin Sharvill NEGOTIATION
Adams I MorascaUnited KingdomBernardo Dominic QUALIFIED
Frozen Columns
Name
Emily S Rulapaugh
Alejandro Q Gaucho
Ivar B Briddick
Cody W Dilliard
Francesco J Figeroa
Isabel A Figeroa
Kadeem M Chui
Jones D Rulapaugh
Julie O Rim
Salvatore T Nicka
Julie N Sergi
Deepesh T Paprocki
Octavia C Darakjy
Francesco E Campain
Isabel N Poquette
Adams Q Campain
Darci F Bowley
Leja I Bowley
Alejandro M Poquette
Maisha U Perin
Aruna H Vocelka
Juan T Briddick
Jones G Inouye
Jones J Whobrey
Izzy Z Stenseth
Jefferson U Slusarski
Nicolas C Kusko
David J Wieser
Claire Z Kolmetz
Nicolas T Saylors
Claire S Albares
Aika D Rulapaugh
Julie A Glick
Nicolas P Paprocki
Aika I Venere
Smith D Dilliard
Silvio O Albares
Claire S Rulapaugh
Jeanfrancois Y Inouye
Aruna M Briddick
Ricardo X Nicka
Jefferson C Venere
Claire V Rulapaugh
Ashley B Caldarera
Rodrigues T Caudy
Isabel J Perin
Antonio W Bowley
Murillo V Gillian
Greenwood C Malet
Jefferson O Garufi
IdCountryDate
1000Canada2024-06-08
1001Brazil2024-05-28
1002Russia2024-05-31
1003Brazil2024-05-26
1004Russia2024-06-14
1005Russia2024-06-21
1006Argentina2024-06-02
1007Russia2024-06-03
1008Italy2024-06-13
1009Spain2024-06-05
1010India2024-06-07
1011United Kingdom2024-06-09
1012Japan2024-06-07
1013Brazil2024-06-07
1014Japan2024-06-22
1015Italy2024-06-23
1016Russia2024-06-23
1017Russia2024-06-18
1018Japan2024-06-05
1019Russia2024-06-09
1020Canada2024-06-09
1021Russia2024-06-15
1022Japan2024-05-28
1023France2024-06-01
1024Australia2024-06-05
1025Australia2024-06-13
1026Japan2024-06-10
1027Brazil2024-06-16
1028France2024-05-28
1029France2024-05-27
1030Argentina2024-06-18
1031Japan2024-05-26
1032Argentina2024-06-21
1033Brazil2024-06-12
1034Argentina2024-06-06
1035India2024-06-13
1036Canada2024-06-16
1037Italy2024-06-10
1038Brazil2024-06-15
1039Australia2024-06-01
1040Japan2024-06-07
1041Argentina2024-06-19
1042United Kingdom2024-06-19
1043Japan2024-06-15
1044United Kingdom2024-06-15
1045Canada2024-06-10
1046Argentina2024-06-20
1047Australia2024-06-06
1048Russia2024-05-26
1049India2024-05-31

On-Demand Data

NameIdCountryDate
Tony O Morasca1000Brazil2024-05-27
Maisha J Briddick1001India2024-06-13
Clifford M Slusarski1002India2024-05-28
Cody K Saylors1003India2024-06-16
Johnson W Schemmer1004United Kingdom2024-06-05
Jennifer Q Slusarski1005United Kingdom2024-06-14
Claire N Flosi1006India2024-06-12
Clifford K Venere1007India2024-06-08
Jefferson X Caudy1008Argentina2024-05-26
Salvatore P Kusko1009Russia2024-06-08
Juan H Nicka1010France2024-06-15
Isabel H Figeroa1011United Kingdom2024-06-17
Morrow C Malet1012Russia2024-06-09
Silvio Z Glick1013Argentina2024-06-09
Murillo T Flosi1014India2024-06-14
Octavia H Darakjy1015United Kingdom2024-05-29
Chavez V Ferencz1016Spain2024-06-05
Chavez O Oldroyd1017France2024-06-03
Mayumi T Bolognia1018Germany2024-06-07
Aruna G Caldarera1019India2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Y ChuiRussiaXuxue Feng RENEWAL
Maria Z AmigonJapanBernardo Dominic NEGOTIATION
Munro H PaprockiGermanyElwin Sharvill NEW
Isabel D PerinItalyAnna Fali RENEWAL
Rodrigues D MacleadFranceOnyama Limba NEW
Antonio R MaletFranceOnyama Limba QUALIFIED
Isabel C CaldareraCanadaAnna Fali NEGOTIATION
Greenwood L SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Claire A BriddickGermanyStephen Shaw UNQUALIFIED
Johnson S CaudyJapanAmy Elsner NEW
Claire H SlusarskiRussiaIoni Bowcher PROPOSAL
Octavia O OstroskyCanadaStephen Shaw PROPOSAL
Morrow I StockhamRussiaOnyama Limba QUALIFIED
Izzy M GlickUnited KingdomAnna Fali QUALIFIED
Greenwood H FollerBrazilElwin Sharvill NEW
Murillo K CaldareraRussiaOnyama Limba UNQUALIFIED
Aika S CaudySpainIoni Bowcher UNQUALIFIED
Izzy O WieserGermanyAsiya Javayant QUALIFIED
Wickens M RoysterAustraliaElwin Sharvill QUALIFIED
Mayumi X GarufiRussiaAmy Elsner QUALIFIED
Deepesh I CaudySpainAmy Elsner NEGOTIATION
Mayumi P KuskoJapanStephen Shaw PROPOSAL
Darci M TollnerCanadaAmy Elsner NEW
Sinclair C SergiUnited KingdomElwin Sharvill RENEWAL
Kaitlin T SlusarskiSpainStephen Shaw NEW
Claire I GlickAustraliaIoni Bowcher UNQUALIFIED
Sinclair P FigeroaGermanyIoni Bowcher PROPOSAL
Clifford Q GillianSpainElwin Sharvill RENEWAL
Leon L GarufiFranceAmy Elsner QUALIFIED
Tony S GauchoSpainStephen Shaw RENEWAL
Alejandro H ShinkoUnited KingdomAmy Elsner NEGOTIATION
Morrow C FigeroaCanadaIvan Magalhaes NEGOTIATION
Mayumi R PerinJapanAnna Fali QUALIFIED
Wickens Q RimRussiaBernardo Dominic PROPOSAL
Rodrigues B GillianItalyAnna Fali RENEWAL
Misaki S DoeIndiaAsiya Javayant NEGOTIATION
Morrow Z InouyeCanadaIoni Bowcher QUALIFIED
Wickens G IturbideJapanStephen Shaw RENEWAL
Alejandro O MaletBrazilXuxue Feng QUALIFIED
Aika S MorascaItalyElwin Sharvill 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>