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
Ricardo Y IturbideBrazilAnna Fali NEGOTIATION
Maisha A WaycottJapanBernardo Dominic NEW
Jeanfrancois C CaldareraItalyXuxue Feng PROPOSAL
Leja B SlusarskiJapanXuxue Feng PROPOSAL
Aruna G WhobreyGermanyAmy Elsner RENEWAL
Nicolas S GarufiRussiaIvan Magalhaes RENEWAL
Deepesh F AlbaresUnited KingdomAsiya Javayant NEGOTIATION
James T FlosiAustraliaStephen Shaw UNQUALIFIED
Mayumi D CaudySpainAnna Fali NEW
Adams L SergiJapanIoni Bowcher UNQUALIFIED
Ricardo J RoysterUnited KingdomIvan Magalhaes RENEWAL
Mayumi M NestleAustraliaOnyama Limba PROPOSAL
Adams E GillianCanadaBernardo Dominic QUALIFIED
Costa M MaletArgentinaAnna Fali NEGOTIATION
David Q WhobreyUnited KingdomBernardo Dominic QUALIFIED
Morrow N OldroydIndiaAnna Fali NEGOTIATION
Stacey G WieserBrazilIvan Magalhaes RENEWAL
Leja W BriddickIndiaBernardo Dominic RENEWAL
Octavia B CaudyRussiaStephen Shaw QUALIFIED
James L NickaArgentinaAsiya Javayant NEGOTIATION
Aditya G DarakjyBrazilAsiya Javayant UNQUALIFIED
Silvio H MaletBrazilBernardo Dominic UNQUALIFIED
Maisha W TollnerCanadaAnna Fali UNQUALIFIED
Silvio A FigeroaIndiaOnyama Limba PROPOSAL
Leon G DoeCanadaStephen Shaw NEGOTIATION
Misaki Q RoysterAustraliaOnyama Limba PROPOSAL
Jefferson H SchemmerItalyBernardo Dominic RENEWAL
James G ButtUnited KingdomBernardo Dominic NEW
Rodrigues U MacleadFranceStephen Shaw UNQUALIFIED
Costa N BologniaAustraliaIvan Magalhaes NEW
Johnson B CaudyUnited KingdomElwin Sharvill RENEWAL
Darci V ChuiAustraliaAsiya Javayant UNQUALIFIED
Jennifer I NestleSpainBernardo Dominic NEW
Mayumi N InouyeArgentinaStephen Shaw QUALIFIED
Jennifer S WhobreyJapanBernardo Dominic UNQUALIFIED
Chavez K FollerBrazilXuxue Feng NEW
David M SergiCanadaAsiya Javayant NEW
Munro R OldroydItalyElwin Sharvill NEGOTIATION
Clifford R BriddickArgentinaElwin Sharvill PROPOSAL
Murillo H KuskoRussiaIvan Magalhaes NEW
Misaki A OstroskyGermanyOnyama Limba RENEWAL
Alejandro Q ButtCanadaStephen Shaw RENEWAL
Chavez F GarufiJapanAsiya Javayant RENEWAL
Leon C SlusarskiRussiaAsiya Javayant RENEWAL
Jennifer D GauchoArgentinaOnyama Limba NEGOTIATION
Izzy E MacleadItalyAsiya Javayant RENEWAL
Nicolas A TollnerSpainElwin Sharvill PROPOSAL
Morrow H BowleyJapanAsiya Javayant NEW
Aditya A MorascaItalyOnyama Limba PROPOSAL
Aditya M ChuiUnited KingdomStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Aruna D StensethGermanyAmy Elsner NEGOTIATION
Antonio G DarakjySpainIoni Bowcher RENEWAL
Misaki O WaycottFranceBernardo Dominic UNQUALIFIED
Wickens P RoysterArgentinaElwin Sharvill NEW
Munro D TollnerItalyAsiya Javayant QUALIFIED
Antonio Y FollerAustraliaIvan Magalhaes UNQUALIFIED
Jefferson Y WieserCanadaOnyama Limba QUALIFIED
Alejandro D RimJapanXuxue Feng NEW
Stacey M KolmetzGermanyIvan Magalhaes RENEWAL
Stacey C GarufiRussiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood N MorascaFrance2025-04-11Feiner Bros RENEWAL12Ivan Magalhaes
1001Francesco H FollerIndia2025-04-04Feltz Printing Service PROPOSAL65Ivan Magalhaes
1002Claire T KuskoRussia2025-04-12Benton, John B Jr RENEWAL74Stephen Shaw
1003Aditya Y VocelkaArgentina2025-04-15Truhlar And Truhlar Attys QUALIFIED92Amy Elsner
1004David B FigeroaUnited Kingdom2025-04-06Morlong Associates PROPOSAL93Onyama Limba
1005Kaitlin N FollerItaly2025-04-22Rousseaux, Michael Esq PROPOSAL95Ivan Magalhaes
1006Jeanfrancois F GarufiArgentina2025-04-22King, Christopher A Esq RENEWAL26Onyama Limba
1007Adams T BologniaSpain2025-04-05Printing Dimensions NEW55Onyama Limba
1008Jeanfrancois T ChuiUnited Kingdom2025-04-18Truhlar And Truhlar Attys NEW98Amy Elsner
1009Aditya T NestleBrazil2025-04-05Dorl, James J Esq UNQUALIFIED69Anna Fali
1010Cody M MarrierRussia2025-04-22Chapman, Ross E Esq PROPOSAL14Xuxue Feng
1011Leja L VenereGermany2025-04-04Feiner Bros UNQUALIFIED31Bernardo Dominic
1012Cody Z CaldareraAustralia2025-04-12Dorl, James J Esq UNQUALIFIED62Ivan Magalhaes
1013Clifford Z SergiUnited Kingdom2025-04-07Rangoni Of Florence UNQUALIFIED4Elwin Sharvill
1014Greenwood V PerinSpain2025-04-15Feltz Printing Service NEGOTIATION92Asiya Javayant
1015Chavez F GillianUnited Kingdom2025-04-03Dorl, James J Esq QUALIFIED1Onyama Limba
1016Octavia S MaletFrance2025-04-27Dorl, James J Esq NEGOTIATION45Asiya Javayant
1017Greenwood X OstroskyAustralia2025-04-14Chemel, James L Cpa QUALIFIED31Anna Fali
1018Murillo R FlosiCanada2025-04-12Chapman, Ross E Esq QUALIFIED14Ivan Magalhaes
1019Arvin T VenereIndia2025-04-01Printing Dimensions NEGOTIATION88Anna Fali
1020Rodrigues S MaletItaly2025-04-30Commercial Press RENEWAL66Elwin Sharvill
1021Maisha V VocelkaSpain2025-04-02Feiner Bros PROPOSAL82Amy Elsner
1022Deepesh A RoysterIndia2025-04-25Chemel, James L Cpa NEGOTIATION77Xuxue Feng
1023Antonio R RulapaughAustralia2025-04-08Truhlar And Truhlar Attys UNQUALIFIED61Elwin Sharvill
1024Juan T MorascaSpain2025-04-21Commercial Press UNQUALIFIED84Xuxue Feng
1025Sinclair X InouyeFrance2025-04-14Benton, John B Jr PROPOSAL3Ivan Magalhaes
1026Costa Y PaprockiFrance2025-04-21Feltz Printing Service UNQUALIFIED11Ioni Bowcher
1027Izzy L FerenczFrance2025-04-28Buckley Miller Wright NEGOTIATION11Stephen Shaw
1028Aika N MaletItaly2025-04-19Morlong Associates NEW64Elwin Sharvill
1029Maisha T WieserUnited Kingdom2025-04-03Dorl, James J Esq RENEWAL15Asiya Javayant
1030Mujtaba H ButtUnited Kingdom2025-04-02Buckley Miller Wright RENEWAL48Elwin Sharvill
1031Deepesh R AmigonArgentina2025-04-12Morlong Associates RENEWAL98Xuxue Feng
1032Ivar I MorascaArgentina2025-04-24Truhlar And Truhlar Attys PROPOSAL9Ivan Magalhaes
1033Faith B GlickUnited Kingdom2025-04-13Feiner Bros UNQUALIFIED48Ioni Bowcher
1034Wickens W PoquetteUnited Kingdom2025-04-22Commercial Press RENEWAL52Elwin Sharvill
1035Aditya T TollnerRussia2025-04-11Morlong Associates NEW29Xuxue Feng
1036Sinclair U ChuiRussia2025-04-12Rousseaux, Michael Esq NEGOTIATION65Onyama Limba
1037Jennifer E OstroskyCanada2025-04-03Benton, John B Jr PROPOSAL46Ioni Bowcher
1038Tony K SchemmerCanada2025-04-22Benton, John B Jr RENEWAL92Anna Fali
1039Morrow Q SlusarskiRussia2025-04-22Chemel, James L Cpa NEGOTIATION2Bernardo Dominic
1040Aika G GillianFrance2025-04-27Rousseaux, Michael Esq PROPOSAL92Bernardo Dominic
1041Misaki Z MarrierBrazil2025-04-30King, Christopher A Esq UNQUALIFIED10Ivan Magalhaes
1042Francesco W SlusarskiGermany2025-04-27Truhlar And Truhlar Attys RENEWAL56Asiya Javayant
1043Nicolas N SergiArgentina2025-04-23Chemel, James L Cpa PROPOSAL82Anna Fali
1044Maria W InouyeJapan2025-04-13Truhlar And Truhlar Attys PROPOSAL48Ivan Magalhaes
1045Costa H WieserJapan2025-04-24Chanay, Jeffrey A Esq NEGOTIATION14Ivan Magalhaes
1046Octavia M DarakjyIndia2025-04-16Dorl, James J Esq RENEWAL9Onyama Limba
1047James O MaletCanada2025-04-01Chemel, James L Cpa RENEWAL14Anna Fali
1048Darci V StockhamJapan2025-04-07King, Christopher A Esq UNQUALIFIED11Amy Elsner
1049James U FollerRussia2025-04-03Chemel, James L Cpa RENEWAL72Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Sinclair N WaycottBrazilXuxue Feng NEW
Julie E FollerFranceIoni Bowcher NEW
Jones B PoquetteFranceOnyama Limba UNQUALIFIED
Leon R MarrierSpainElwin Sharvill UNQUALIFIED
Francesco K RutaBrazilAnna Fali UNQUALIFIED
Isabel G DilliardItalyBernardo Dominic NEGOTIATION
Faith T BowleySpainBernardo Dominic NEW
Rodrigues T BowleyRussiaOnyama Limba NEGOTIATION
Sinclair B MacleadArgentinaXuxue Feng NEGOTIATION
Maria J GarufiRussiaIoni Bowcher UNQUALIFIED
Leon J WaycottItalyIvan Magalhaes NEGOTIATION
Munro R VocelkaGermanyOnyama Limba NEGOTIATION
Jennifer F RimSpainStephen Shaw NEW
David Q DilliardUnited KingdomElwin Sharvill QUALIFIED
Arvin F RulapaughItalyBernardo Dominic NEGOTIATION
Izzy Q AlbaresItalyAsiya Javayant NEW
Chavez F SergiGermanyElwin Sharvill UNQUALIFIED
Smith S MacleadCanadaAnna Fali PROPOSAL
Sinclair R NestleGermanyAnna Fali RENEWAL
Deepesh B StockhamAustraliaStephen Shaw NEGOTIATION
Munro H MacleadGermanyIvan Magalhaes UNQUALIFIED
Jones S RulapaughAustraliaIvan Magalhaes QUALIFIED
Deepesh U ButtAustraliaOnyama Limba NEW
Clifford K BologniaJapanStephen Shaw PROPOSAL
Ashley W MaletIndiaStephen Shaw RENEWAL
Alejandro R SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Leja N VocelkaRussiaIoni Bowcher PROPOSAL
Maisha O MacleadCanadaElwin Sharvill PROPOSAL
Misaki K VenereCanadaOnyama Limba NEGOTIATION
Octavia I WieserCanadaAnna Fali NEW
Silvio G MaletAustraliaIvan Magalhaes QUALIFIED
Mayumi A MarrierGermanyXuxue Feng PROPOSAL
Nicolas Q BologniaIndiaOnyama Limba PROPOSAL
Mujtaba T GarufiSpainIvan Magalhaes PROPOSAL
Claire W FollerAustraliaAmy Elsner NEW
Cody L MorascaJapanXuxue Feng PROPOSAL
Sinclair D MaletGermanyStephen Shaw QUALIFIED
Chavez S RimAustraliaAmy Elsner RENEWAL
Ashley G CampainGermanyIvan Magalhaes NEGOTIATION
Jones A CaudyUnited KingdomAnna Fali RENEWAL
Jefferson B SaylorsFranceAmy Elsner NEGOTIATION
Clifford N GauchoCanadaAmy Elsner UNQUALIFIED
David J DarakjyJapanAmy Elsner QUALIFIED
Octavia W SergiArgentinaAmy Elsner PROPOSAL
Rodrigues P InouyeSpainAmy Elsner UNQUALIFIED
Salvatore J FollerItalyIoni Bowcher QUALIFIED
Jefferson X InouyeSpainIvan Magalhaes PROPOSAL
Ricardo J FlosiJapanAmy Elsner PROPOSAL
Morrow O AlbaresFranceBernardo Dominic UNQUALIFIED
Stacey H DilliardIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Salvatore A Rim
Jefferson H Stockham
Sinclair E Kolmetz
Silvio E Paprocki
Aruna A Stenseth
Leja X Venere
Ricardo Z Bowley
Kadeem R Sergi
Aditya M Rulapaugh
Faith I Inouye
Munro J Ostrosky
David G Slusarski
Salvatore U Malet
Aruna Q Kolmetz
Arvin Q Amigon
Jones K Nestle
Munro O Malet
Ivar D Malet
Rodrigues C Glick
Silvio U Shinko
Julie M Bolognia
Claire D Nicka
Aruna G Malet
Mayumi Z Schemmer
Maisha J Oldroyd
Ivar A Schemmer
Munro L Butt
Francesco U Stockham
Isabel K Figeroa
Maisha G Maclead
Leon X Kusko
Kaitlin Z Butt
Misaki Q Morasca
Sinclair X Saylors
Maria P Perin
Mujtaba G Foller
Ashley V Caudy
Claire M Campain
Nicolas R Schemmer
Deepesh P Inouye
Johnson P Gaucho
Octavia V Ruta
Clifford Q Venere
Jefferson L Albares
Francesco W Bolognia
Rodrigues R Campain
Ricardo D Kolmetz
Aika U Paprocki
Ashley B Gillian
Ricardo O Figeroa
IdCountryDate
1000Australia2025-04-15
1001Australia2025-04-28
1002India2025-04-09
1003France2025-04-08
1004Spain2025-04-04
1005Argentina2025-04-11
1006Canada2025-04-10
1007France2025-04-19
1008Japan2025-04-17
1009Australia2025-04-06
1010Russia2025-04-03
1011Brazil2025-04-24
1012Japan2025-04-03
1013Brazil2025-04-01
1014Australia2025-04-02
1015Canada2025-04-22
1016Spain2025-04-18
1017United Kingdom2025-04-10
1018Japan2025-04-19
1019Russia2025-04-25
1020Italy2025-04-28
1021Japan2025-04-20
1022Canada2025-04-23
1023Argentina2025-04-14
1024India2025-04-03
1025Spain2025-04-03
1026Spain2025-04-02
1027France2025-04-06
1028Argentina2025-04-12
1029India2025-04-06
1030Canada2025-04-11
1031Argentina2025-04-20
1032Australia2025-04-14
1033Australia2025-04-03
1034United Kingdom2025-04-19
1035Canada2025-04-09
1036India2025-04-14
1037Russia2025-04-08
1038Japan2025-04-01
1039Brazil2025-04-09
1040Canada2025-04-30
1041Argentina2025-04-22
1042France2025-04-09
1043Brazil2025-04-06
1044United Kingdom2025-04-19
1045India2025-04-25
1046United Kingdom2025-04-10
1047Germany2025-04-12
1048Australia2025-04-13
1049France2025-04-23

On-Demand Data

NameIdCountryDate
Jennifer V Stenseth1000Italy2025-04-19
Isabel J Perin1001Australia2025-04-18
Munro X Gillian1002India2025-04-22
Alejandro R Amigon1003Spain2025-04-22
Ivar I Whobrey1004India2025-04-12
Sinclair H Malet1005India2025-04-07
Ashley B Chui1006Spain2025-04-27
Jones I Kusko1007Japan2025-04-09
Aika Z Saylors1008Australia2025-04-23
Morrow C Maclead1009Italy2025-04-23
Silvio B Garufi1010Spain2025-04-03
Rodrigues T Ruta1011Germany2025-04-11
Adams Z Nestle1012Japan2025-04-24
Salvatore U Chui1013India2025-04-17
Greenwood U Malet1014Japan2025-04-04
Salvatore H Wieser1015Brazil2025-04-15
Morrow M Poquette1016Italy2025-04-12
Jennifer Q Maclead1017United Kingdom2025-04-01
Leon R Sergi1018India2025-04-09
Stacey N Glick1019Spain2025-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo B CampainIndiaOnyama Limba RENEWAL
Kaitlin U ButtArgentinaStephen Shaw NEGOTIATION
Jones J MacleadRussiaIoni Bowcher PROPOSAL
Jeanfrancois S IturbideItalyAsiya Javayant QUALIFIED
Aruna S SchemmerItalyBernardo Dominic PROPOSAL
Aika U CaudyArgentinaElwin Sharvill PROPOSAL
Wickens Q OldroydIndiaOnyama Limba QUALIFIED
Ashley Y StockhamArgentinaIvan Magalhaes RENEWAL
Smith M NickaIndiaAnna Fali NEGOTIATION
Alejandro Y NestleRussiaAnna Fali QUALIFIED
Aruna O FerenczGermanyAmy Elsner RENEWAL
Darci K TollnerUnited KingdomIvan Magalhaes NEW
Chavez F VenereSpainStephen Shaw UNQUALIFIED
Faith B GlickFranceXuxue Feng NEW
Claire G FigeroaSpainXuxue Feng RENEWAL
Clifford I SchemmerIndiaAmy Elsner RENEWAL
Smith U NestleCanadaIoni Bowcher PROPOSAL
Tony I KuskoIndiaIvan Magalhaes NEGOTIATION
Emily J GauchoGermanyIoni Bowcher NEGOTIATION
Jones B DarakjyCanadaIvan Magalhaes QUALIFIED
Maisha L BowleyCanadaXuxue Feng NEGOTIATION
Aika M SaylorsGermanyStephen Shaw NEGOTIATION
Kadeem E StockhamRussiaStephen Shaw UNQUALIFIED
Misaki T ChuiAustraliaBernardo Dominic NEW
Cody W MorascaIndiaAmy Elsner NEGOTIATION
Chavez D VenereItalyBernardo Dominic RENEWAL
Alejandro P DarakjyJapanXuxue Feng PROPOSAL
Ashley D KuskoSpainAmy Elsner UNQUALIFIED
Francesco K CaldareraJapanXuxue Feng NEW
Silvio E ChuiBrazilStephen Shaw NEGOTIATION
Ivar V ChuiSpainElwin Sharvill QUALIFIED
Claire C PerinBrazilAmy Elsner PROPOSAL
Tony G PaprockiItalyBernardo Dominic RENEWAL
Antonio G WieserSpainXuxue Feng NEGOTIATION
Jones L SaylorsJapanElwin Sharvill NEW
Emily M MacleadUnited KingdomAnna Fali QUALIFIED
Mayumi Z ChuiAustraliaElwin Sharvill UNQUALIFIED
Tony Y VocelkaGermanyAnna Fali UNQUALIFIED
Sinclair A KuskoJapanXuxue Feng NEGOTIATION
Ricardo G StensethGermanyBernardo Dominic UNQUALIFIED

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