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
Smith M AmigonCanadaIoni Bowcher QUALIFIED
Isabel D MorascaSpainXuxue Feng NEW
Adams K FlosiBrazilAsiya Javayant NEGOTIATION
Nicolas W GauchoItalyElwin Sharvill PROPOSAL
Morrow F FigeroaBrazilXuxue Feng QUALIFIED
Faith Z RoysterArgentinaIvan Magalhaes NEW
Morrow X DoeAustraliaXuxue Feng NEGOTIATION
Salvatore G InouyeIndiaIvan Magalhaes PROPOSAL
Isabel X AlbaresUnited KingdomAsiya Javayant RENEWAL
Sinclair O OstroskyBrazilElwin Sharvill UNQUALIFIED
Costa E BowleyIndiaBernardo Dominic QUALIFIED
Arvin D PoquetteArgentinaIoni Bowcher RENEWAL
Rodrigues I BriddickJapanIoni Bowcher NEGOTIATION
Smith A IturbideFranceAmy Elsner UNQUALIFIED
Mujtaba O AmigonUnited KingdomXuxue Feng QUALIFIED
James V InouyeRussiaIvan Magalhaes NEW
Salvatore E TollnerArgentinaIvan Magalhaes PROPOSAL
Nicolas T NickaBrazilBernardo Dominic RENEWAL
Francesco Y PerinJapanXuxue Feng RENEWAL
Johnson G WieserAustraliaIvan Magalhaes UNQUALIFIED
Emily W StockhamCanadaAmy Elsner QUALIFIED
Costa W RimUnited KingdomIoni Bowcher PROPOSAL
Salvatore B PerinArgentinaStephen Shaw QUALIFIED
Jones M FollerArgentinaOnyama Limba QUALIFIED
Octavia L BowleyBrazilAmy Elsner NEW
Aditya H DarakjySpainStephen Shaw RENEWAL
Greenwood W KuskoBrazilElwin Sharvill QUALIFIED
Deepesh K BologniaArgentinaOnyama Limba PROPOSAL
Jennifer C NestleRussiaElwin Sharvill NEGOTIATION
Antonio A FerenczAustraliaElwin Sharvill PROPOSAL
Greenwood S StockhamCanadaBernardo Dominic UNQUALIFIED
James A SlusarskiFranceOnyama Limba QUALIFIED
Maisha X RulapaughGermanyAsiya Javayant NEGOTIATION
Jones X MarrierJapanAmy Elsner RENEWAL
Stacey V GlickArgentinaAsiya Javayant RENEWAL
Munro P DilliardCanadaElwin Sharvill UNQUALIFIED
Maria X KuskoSpainOnyama Limba NEGOTIATION
Jeanfrancois X GauchoGermanyAnna Fali NEW
Ricardo K CampainSpainBernardo Dominic NEGOTIATION
Adams M IturbideAustraliaIvan Magalhaes UNQUALIFIED
Clifford Y WieserGermanyStephen Shaw QUALIFIED
Ashley X StockhamGermanyBernardo Dominic PROPOSAL
Salvatore Q ButtArgentinaIvan Magalhaes UNQUALIFIED
Leon O FerenczBrazilStephen Shaw QUALIFIED
Ivar I PoquetteAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois H DoeUnited KingdomAmy Elsner PROPOSAL
Izzy F StockhamCanadaAnna Fali QUALIFIED
Aditya R ButtAustraliaBernardo Dominic PROPOSAL
Salvatore U RutaAustraliaOnyama Limba PROPOSAL
Julie S KuskoCanadaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba U StockhamSpainIvan Magalhaes UNQUALIFIED
Misaki B CampainSpainStephen Shaw NEGOTIATION
Aika A KuskoGermanyIoni Bowcher PROPOSAL
Costa V RutaBrazilStephen Shaw NEGOTIATION
Deepesh E AmigonAustraliaAsiya Javayant RENEWAL
Leon B AmigonFranceElwin Sharvill UNQUALIFIED
David P PerinBrazilOnyama Limba QUALIFIED
Ashley B BowleyFranceAnna Fali RENEWAL
Isabel J SchemmerCanadaAnna Fali RENEWAL
Aika Q OldroydBrazilStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi U GarufiUnited Kingdom2025-04-16Feiner Bros PROPOSAL4Xuxue Feng
1001Mayumi V AlbaresAustralia2025-03-31Benton, John B Jr PROPOSAL66Stephen Shaw
1002Kadeem R KolmetzJapan2025-04-26Feiner Bros RENEWAL5Elwin Sharvill
1003Misaki F OstroskyFrance2025-04-12Benton, John B Jr RENEWAL5Stephen Shaw
1004Izzy P DilliardRussia2025-04-01Buckley Miller Wright NEGOTIATION7Bernardo Dominic
1005David L DarakjyFrance2025-04-29Feiner Bros UNQUALIFIED0Ioni Bowcher
1006Morrow X WhobreyArgentina2025-04-21Buckley Miller Wright QUALIFIED22Xuxue Feng
1007Salvatore F SaylorsItaly2025-04-15Truhlar And Truhlar Attys NEW46Stephen Shaw
1008Ivar V CaldareraBrazil2025-04-09King, Christopher A Esq UNQUALIFIED33Ivan Magalhaes
1009Kadeem O PoquetteCanada2025-04-11Commercial Press NEW18Bernardo Dominic
1010Silvio R RulapaughJapan2025-04-21Feltz Printing Service PROPOSAL22Elwin Sharvill
1011David A BowleySpain2025-04-01Chemel, James L Cpa RENEWAL69Ivan Magalhaes
1012Tony M SlusarskiRussia2025-04-18Feiner Bros NEW81Elwin Sharvill
1013Ashley K ButtFrance2025-04-18Feltz Printing Service NEW33Amy Elsner
1014Silvio K RoysterAustralia2025-03-31Dorl, James J Esq NEGOTIATION68Onyama Limba
1015Silvio V BriddickItaly2025-04-22Commercial Press QUALIFIED97Elwin Sharvill
1016David X MorascaGermany2025-04-18Chapman, Ross E Esq NEW60Stephen Shaw
1017Rodrigues V OldroydBrazil2025-04-16Feiner Bros NEGOTIATION74Anna Fali
1018Arvin Q MarrierItaly2025-04-11Chapman, Ross E Esq NEW25Anna Fali
1019Chavez Z KuskoRussia2025-04-01King, Christopher A Esq QUALIFIED55Asiya Javayant
1020Aditya X InouyeSpain2025-04-27Rangoni Of Florence PROPOSAL33Asiya Javayant
1021Stacey Z VenereSpain2025-04-04Chapman, Ross E Esq RENEWAL27Xuxue Feng
1022Silvio V BologniaUnited Kingdom2025-04-12Morlong Associates NEGOTIATION45Onyama Limba
1023Tony G MaletSpain2025-04-16Chapman, Ross E Esq RENEWAL44Ioni Bowcher
1024Adams C DoeUnited Kingdom2025-04-19Benton, John B Jr UNQUALIFIED91Stephen Shaw
1025Salvatore F GillianSpain2025-04-26King, Christopher A Esq QUALIFIED84Ioni Bowcher
1026Stacey P PoquetteArgentina2025-04-07Rangoni Of Florence PROPOSAL64Elwin Sharvill
1027Adams Q TollnerJapan2025-04-03Rangoni Of Florence UNQUALIFIED61Asiya Javayant
1028Cody I GlickGermany2025-04-17King, Christopher A Esq NEGOTIATION9Anna Fali
1029Johnson B WieserFrance2025-04-18Dorl, James J Esq NEW78Anna Fali
1030Isabel Z GarufiIndia2025-04-05Chemel, James L Cpa UNQUALIFIED23Stephen Shaw
1031Rodrigues S WaycottItaly2025-04-25Rangoni Of Florence NEGOTIATION31Stephen Shaw
1032Claire A SergiItaly2025-04-02Printing Dimensions NEGOTIATION25Ioni Bowcher
1033Maisha V WieserRussia2025-04-15Chemel, James L Cpa PROPOSAL65Onyama Limba
1034Aika H CaldareraRussia2025-04-15Truhlar And Truhlar Attys PROPOSAL67Stephen Shaw
1035Murillo I RulapaughSpain2025-04-20Rangoni Of Florence RENEWAL46Asiya Javayant
1036Francesco T DilliardCanada2025-04-24Printing Dimensions QUALIFIED20Ioni Bowcher
1037James F RutaCanada2025-04-14Feiner Bros UNQUALIFIED88Elwin Sharvill
1038Silvio A IturbideAustralia2025-04-06Feiner Bros QUALIFIED76Xuxue Feng
1039Morrow X AmigonUnited Kingdom2025-04-25Dorl, James J Esq QUALIFIED43Bernardo Dominic
1040Stacey X MarrierUnited Kingdom2025-04-14Morlong Associates NEGOTIATION6Asiya Javayant
1041Ricardo H SchemmerArgentina2025-04-03Benton, John B Jr NEW53Anna Fali
1042Isabel M NickaUnited Kingdom2025-04-01Rousseaux, Michael Esq NEGOTIATION0Bernardo Dominic
1043Francesco P MaletGermany2025-04-01Dorl, James J Esq RENEWAL34Asiya Javayant
1044Octavia A KolmetzItaly2025-04-27Rousseaux, Michael Esq PROPOSAL71Asiya Javayant
1045Leja X CaldareraCanada2025-04-26King, Christopher A Esq NEGOTIATION66Ivan Magalhaes
1046Tony D VocelkaBrazil2025-04-25Morlong Associates NEGOTIATION74Bernardo Dominic
1047Costa S InouyeIndia2025-04-27Rousseaux, Michael Esq PROPOSAL61Stephen Shaw
1048David W FlosiFrance2025-04-22Feltz Printing Service NEW9Onyama Limba
1049Julie M BriddickRussia2025-04-28Chanay, Jeffrey A Esq PROPOSAL56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leja Q ButtAustraliaAnna Fali PROPOSAL
Ashley D RoysterFranceAsiya Javayant NEGOTIATION
Greenwood D ButtAustraliaXuxue Feng NEGOTIATION
Jefferson Q GlickRussiaStephen Shaw QUALIFIED
Leon N FollerBrazilAnna Fali UNQUALIFIED
Munro D ChuiBrazilOnyama Limba UNQUALIFIED
Mayumi O OstroskyIndiaBernardo Dominic NEGOTIATION
Claire I OldroydBrazilAsiya Javayant UNQUALIFIED
Munro I KolmetzIndiaIvan Magalhaes QUALIFIED
Jennifer H DarakjyItalyBernardo Dominic QUALIFIED
Morrow U RulapaughBrazilAnna Fali NEW
Tony F SchemmerSpainIoni Bowcher NEGOTIATION
Kaitlin Q DarakjySpainBernardo Dominic UNQUALIFIED
Alejandro M BowleyFranceElwin Sharvill NEW
Jeanfrancois Q FlosiBrazilElwin Sharvill UNQUALIFIED
Arvin I FlosiItalyStephen Shaw PROPOSAL
James V OldroydFranceIoni Bowcher NEGOTIATION
Jeanfrancois N ChuiGermanyAnna Fali QUALIFIED
Alejandro Y OldroydSpainOnyama Limba RENEWAL
David I VocelkaBrazilAmy Elsner QUALIFIED
Mayumi Z KolmetzJapanXuxue Feng NEGOTIATION
Claire T MarrierItalyOnyama Limba NEGOTIATION
Jefferson R GauchoAustraliaAmy Elsner UNQUALIFIED
Clifford P AlbaresItalyXuxue Feng NEW
Jefferson E VocelkaSpainIoni Bowcher PROPOSAL
Jones E TollnerRussiaAnna Fali UNQUALIFIED
Leja Z StensethJapanXuxue Feng RENEWAL
Murillo G MarrierItalyAmy Elsner UNQUALIFIED
Tony Y FollerSpainIvan Magalhaes NEGOTIATION
Izzy I GauchoSpainIvan Magalhaes NEGOTIATION
Chavez U WieserGermanyOnyama Limba RENEWAL
Clifford T MaletIndiaBernardo Dominic RENEWAL
Chavez Y RutaAustraliaOnyama Limba QUALIFIED
Julie T WaycottBrazilAsiya Javayant NEGOTIATION
Kadeem A BriddickItalyOnyama Limba NEGOTIATION
Rodrigues A InouyeUnited KingdomAnna Fali UNQUALIFIED
Juan N VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Antonio D RimItalyIvan Magalhaes PROPOSAL
Kaitlin T InouyeArgentinaAnna Fali RENEWAL
David O SaylorsCanadaAnna Fali NEW
Johnson K FigeroaArgentinaIoni Bowcher NEGOTIATION
Clifford M DarakjyRussiaOnyama Limba NEGOTIATION
Morrow H RoysterSpainAsiya Javayant NEW
Faith Y SlusarskiBrazilOnyama Limba NEW
Sinclair X DoeRussiaOnyama Limba NEW
Ashley F RimItalyElwin Sharvill NEW
Sinclair Y NickaCanadaBernardo Dominic RENEWAL
Mayumi T MaletGermanyOnyama Limba PROPOSAL
Nicolas T StensethArgentinaIoni Bowcher UNQUALIFIED
Chavez O BologniaSpainOnyama Limba NEW
Frozen Columns
Name
Rodrigues J Whobrey
Darci Y Royster
Deepesh M Royster
Claire Z Ruta
Munro S Saylors
Wickens N Foller
Greenwood B Iturbide
Maisha N Gaucho
Aika M Rulapaugh
Juan D Foller
Julie L Briddick
Tony O Morasca
Darci W Waycott
Stacey L Saylors
Faith W Morasca
Mayumi H Sergi
Murillo H Albares
Cody N Sergi
Adams D Campain
Arvin C Iturbide
Johnson U Garufi
Aruna N Vocelka
Kadeem I Dilliard
Silvio L Venere
Mujtaba C Nestle
Sinclair U Slusarski
Costa P Iturbide
Mayumi V Glick
Aika Q Flosi
Jefferson Z Ostrosky
Antonio O Saylors
Leon S Morasca
Francesco P Stenseth
Nicolas C Waycott
Ashley O Poquette
Julie I Royster
Clifford Z Nestle
Ivar H Gaucho
Octavia Q Kolmetz
Greenwood A Ferencz
Stacey L Foller
Aruna P Garufi
Wickens T Doe
David K Slusarski
Nicolas G Venere
Darci D Wieser
Nicolas N Saylors
Silvio T Doe
David Y Maclead
Leon T Rulapaugh
IdCountryDate
1000Russia2025-04-09
1001India2025-04-27
1002France2025-04-08
1003Italy2025-04-07
1004Australia2025-04-25
1005Canada2025-04-09
1006Italy2025-04-07
1007Japan2025-04-02
1008Australia2025-04-03
1009Argentina2025-04-25
1010France2025-04-16
1011Russia2025-04-28
1012Argentina2025-04-26
1013United Kingdom2025-04-26
1014France2025-04-19
1015Germany2025-04-06
1016United Kingdom2025-04-17
1017India2025-04-20
1018Canada2025-04-04
1019Spain2025-04-25
1020Australia2025-04-04
1021Italy2025-04-24
1022Germany2025-04-06
1023Canada2025-04-29
1024United Kingdom2025-04-01
1025Russia2025-04-23
1026Germany2025-04-26
1027United Kingdom2025-04-19
1028Japan2025-04-16
1029Canada2025-04-04
1030France2025-04-10
1031Italy2025-04-25
1032Germany2025-04-19
1033Russia2025-04-05
1034France2025-04-09
1035India2025-04-06
1036India2025-04-11
1037Italy2025-04-05
1038Argentina2025-03-31
1039Argentina2025-04-24
1040India2025-04-03
1041United Kingdom2025-04-06
1042Brazil2025-03-31
1043United Kingdom2025-04-02
1044France2025-04-04
1045Australia2025-04-18
1046Germany2025-04-05
1047Japan2025-04-04
1048United Kingdom2025-04-17
1049United Kingdom2025-04-27

On-Demand Data

NameIdCountryDate
Mujtaba Z Morasca1000France2025-04-14
Maria Y Gaucho1001India2025-04-26
Jones Z Whobrey1002Brazil2025-04-15
Ivar T Rim1003Argentina2025-04-27
Costa U Slusarski1004United Kingdom2025-04-26
Ashley D Rulapaugh1005Russia2025-04-10
Jones I Doe1006Russia2025-04-01
Izzy M Nicka1007United Kingdom2025-04-01
Adams G Vocelka1008Germany2025-04-28
James U Nicka1009Canada2025-04-05
Morrow H Stockham1010Germany2025-04-08
Aruna F Malet1011Canada2025-04-19
Juan C Dilliard1012Russia2025-04-21
Wickens Q Albares1013Canada2025-04-14
Leon E Poquette1014Russia2025-04-09
Faith J Garufi1015Brazil2025-04-29
Johnson J Whobrey1016Russia2025-04-14
Jennifer J Malet1017Germany2025-04-04
Isabel G Gaucho1018Germany2025-04-23
Silvio J Stenseth1019Spain2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan F SchemmerBrazilAsiya Javayant NEW
Adams N SchemmerBrazilXuxue Feng NEW
Ashley L GarufiCanadaAmy Elsner RENEWAL
Jeanfrancois Z SergiIndiaOnyama Limba PROPOSAL
Cody S ButtUnited KingdomAsiya Javayant NEW
David R SergiIndiaAnna Fali NEGOTIATION
Sinclair N ShinkoGermanyAnna Fali NEGOTIATION
Octavia K CampainRussiaAnna Fali UNQUALIFIED
Maria B VocelkaArgentinaOnyama Limba RENEWAL
Costa H GarufiFranceElwin Sharvill QUALIFIED
Deepesh T BowleyUnited KingdomElwin Sharvill NEW
Claire C WieserArgentinaIvan Magalhaes NEW
Arvin N SchemmerIndiaOnyama Limba PROPOSAL
David Z MarrierSpainStephen Shaw RENEWAL
Claire R OldroydUnited KingdomBernardo Dominic NEGOTIATION
Ivar V OldroydBrazilOnyama Limba NEW
Stacey W NestleAustraliaAnna Fali UNQUALIFIED
Aditya W InouyeUnited KingdomBernardo Dominic NEGOTIATION
Aditya L DarakjyJapanBernardo Dominic NEW
Ricardo Q SchemmerGermanyIoni Bowcher PROPOSAL
Wickens Y DilliardIndiaAnna Fali NEW
Silvio G StensethBrazilIvan Magalhaes PROPOSAL
Clifford K PerinAustraliaStephen Shaw NEW
Maria E BriddickUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues W GarufiItalyAsiya Javayant QUALIFIED
Tony Z MacleadBrazilIvan Magalhaes NEW
Chavez W SlusarskiSpainAnna Fali QUALIFIED
Maisha M SlusarskiSpainOnyama Limba UNQUALIFIED
Arvin C MaletJapanAsiya Javayant RENEWAL
Jones T WaycottGermanyAnna Fali QUALIFIED
Emily Q ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Isabel Q SlusarskiCanadaBernardo Dominic NEW
Octavia R MarrierSpainIoni Bowcher NEGOTIATION
Misaki E KuskoRussiaStephen Shaw NEGOTIATION
Ivar U TollnerUnited KingdomOnyama Limba PROPOSAL
Claire U MaletCanadaIoni Bowcher QUALIFIED
Francesco U MarrierCanadaXuxue Feng PROPOSAL
Darci R RulapaughFranceStephen Shaw QUALIFIED
Cody W MorascaCanadaXuxue Feng UNQUALIFIED
Deepesh O DoeCanadaAmy Elsner 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>