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
Chavez A SaylorsArgentinaOnyama Limba PROPOSAL
Nicolas U WieserArgentinaXuxue Feng UNQUALIFIED
Silvio Q OstroskyIndiaAsiya Javayant NEGOTIATION
Tony F AmigonUnited KingdomOnyama Limba PROPOSAL
Octavia X WieserGermanyXuxue Feng PROPOSAL
Salvatore K GauchoUnited KingdomAsiya Javayant PROPOSAL
Adams F RoysterSpainXuxue Feng UNQUALIFIED
Ashley B MaletSpainIvan Magalhaes QUALIFIED
Misaki I StensethItalyBernardo Dominic NEW
Smith G MaletUnited KingdomAnna Fali NEW
Adams Z WieserIndiaAmy Elsner UNQUALIFIED
Adams E SaylorsArgentinaAsiya Javayant QUALIFIED
Wickens W CaldareraFranceBernardo Dominic QUALIFIED
Greenwood J NickaIndiaStephen Shaw NEW
Kaitlin R KuskoRussiaElwin Sharvill QUALIFIED
Stacey O NestleRussiaBernardo Dominic PROPOSAL
Aruna Q TollnerArgentinaXuxue Feng QUALIFIED
Kaitlin K WhobreyFranceIvan Magalhaes QUALIFIED
Octavia U PerinSpainStephen Shaw NEGOTIATION
Isabel X KolmetzJapanXuxue Feng QUALIFIED
Tony Q MacleadJapanAmy Elsner NEGOTIATION
Aruna N PoquetteGermanyStephen Shaw NEW
Leon Y InouyeItalyAmy Elsner PROPOSAL
Mujtaba I PoquetteSpainBernardo Dominic QUALIFIED
Tony K CaldareraUnited KingdomIoni Bowcher RENEWAL
Misaki O AlbaresItalyXuxue Feng NEW
Morrow I GlickFranceOnyama Limba RENEWAL
Julie Y WieserGermanyIoni Bowcher NEW
Julie T OstroskyBrazilStephen Shaw NEGOTIATION
Silvio V GlickRussiaAnna Fali QUALIFIED
Greenwood S SchemmerRussiaAsiya Javayant RENEWAL
Maria T WhobreyItalyIvan Magalhaes RENEWAL
Smith L FigeroaUnited KingdomXuxue Feng RENEWAL
Sinclair P OldroydAustraliaAmy Elsner PROPOSAL
Maisha A StensethSpainIoni Bowcher PROPOSAL
Wickens V PaprockiBrazilAnna Fali RENEWAL
Claire A RutaBrazilIoni Bowcher PROPOSAL
Isabel C RulapaughGermanyBernardo Dominic QUALIFIED
Murillo Q PaprockiRussiaXuxue Feng RENEWAL
Izzy L RulapaughAustraliaAsiya Javayant NEW
Ivar O ChuiUnited KingdomAsiya Javayant QUALIFIED
James H SlusarskiCanadaOnyama Limba NEW
Salvatore F ButtFranceIoni Bowcher RENEWAL
James V IturbideRussiaElwin Sharvill NEGOTIATION
Wickens U AlbaresGermanyAsiya Javayant UNQUALIFIED
Ricardo U GlickRussiaElwin Sharvill NEW
Nicolas Z DoeFranceAnna Fali UNQUALIFIED
Jeanfrancois B ShinkoJapanIoni Bowcher QUALIFIED
James L GarufiJapanBernardo Dominic QUALIFIED
Isabel K TollnerJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens P SlusarskiItalyAnna Fali RENEWAL
Aruna M CaudyJapanAmy Elsner QUALIFIED
Maria P PaprockiBrazilStephen Shaw RENEWAL
Stacey T PaprockiCanadaAnna Fali PROPOSAL
David C OldroydFranceBernardo Dominic NEW
Juan B SergiIndiaXuxue Feng UNQUALIFIED
Arvin Q KolmetzGermanyOnyama Limba QUALIFIED
Maisha Q DarakjyBrazilAsiya Javayant PROPOSAL
Jefferson X ButtRussiaAnna Fali RENEWAL
Ricardo Q NickaCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas Q MarrierItaly2024-06-06Feiner Bros NEW72Anna Fali
1001Cody V RulapaughJapan2024-06-11Rangoni Of Florence UNQUALIFIED19Bernardo Dominic
1002Darci Y KuskoRussia2024-06-21King, Christopher A Esq NEW1Ivan Magalhaes
1003Clifford E MorascaArgentina2024-06-17Dorl, James J Esq NEW58Ioni Bowcher
1004Isabel G OldroydGermany2024-05-29Benton, John B Jr UNQUALIFIED21Amy Elsner
1005Mayumi B SlusarskiCanada2024-06-24Rousseaux, Michael Esq NEW39Anna Fali
1006Mujtaba G PaprockiItaly2024-06-03Morlong Associates RENEWAL32Onyama Limba
1007Emily Y GarufiIndia2024-05-29Feltz Printing Service NEGOTIATION32Stephen Shaw
1008Wickens J PerinItaly2024-06-05Commercial Press UNQUALIFIED56Anna Fali
1009Misaki N RimCanada2024-05-31Feiner Bros NEGOTIATION45Xuxue Feng
1010Maria Y WaycottArgentina2024-06-10Printing Dimensions NEGOTIATION81Onyama Limba
1011Silvio O BowleyRussia2024-06-12Chapman, Ross E Esq RENEWAL92Ioni Bowcher
1012Aruna U SaylorsArgentina2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED85Xuxue Feng
1013Emily X KolmetzIndia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED84Ivan Magalhaes
1014Johnson G StensethAustralia2024-06-12Feiner Bros PROPOSAL93Anna Fali
1015Clifford X NestleUnited Kingdom2024-06-02Chanay, Jeffrey A Esq NEGOTIATION35Ioni Bowcher
1016Greenwood G BowleyIndia2024-06-17Chemel, James L Cpa PROPOSAL13Anna Fali
1017Rodrigues O GlickItaly2024-06-01Printing Dimensions PROPOSAL42Bernardo Dominic
1018Kadeem Z SaylorsBrazil2024-06-18Dorl, James J Esq NEGOTIATION17Stephen Shaw
1019Munro O MacleadAustralia2024-05-27Feiner Bros PROPOSAL70Onyama Limba
1020Greenwood F GarufiSpain2024-06-23Benton, John B Jr UNQUALIFIED60Bernardo Dominic
1021Chavez R BologniaBrazil2024-06-17Rousseaux, Michael Esq UNQUALIFIED25Stephen Shaw
1022Salvatore F GlickBrazil2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED50Amy Elsner
1023Ricardo J MaletAustralia2024-06-20King, Christopher A Esq NEW39Asiya Javayant
1024Wickens O MaletAustralia2024-06-22Rangoni Of Florence QUALIFIED5Elwin Sharvill
1025Murillo K DilliardSpain2024-06-03Feiner Bros NEW86Asiya Javayant
1026Rodrigues V RulapaughSpain2024-06-10Chapman, Ross E Esq PROPOSAL90Elwin Sharvill
1027Jones M AmigonIndia2024-06-07Feltz Printing Service QUALIFIED90Bernardo Dominic
1028Octavia H ShinkoJapan2024-06-21Feiner Bros NEW44Ivan Magalhaes
1029Munro U ButtGermany2024-06-04Feiner Bros PROPOSAL73Asiya Javayant
1030Jennifer C MorascaSpain2024-06-11Dorl, James J Esq NEW36Amy Elsner
1031Misaki E SchemmerFrance2024-06-23Feiner Bros RENEWAL36Bernardo Dominic
1032James F KolmetzIndia2024-06-19Rousseaux, Michael Esq UNQUALIFIED8Asiya Javayant
1033Jones C PoquetteJapan2024-06-16Feltz Printing Service RENEWAL59Xuxue Feng
1034Misaki K WaycottSpain2024-06-02Feiner Bros UNQUALIFIED54Stephen Shaw
1035Darci Y FerenczItaly2024-06-04Buckley Miller Wright RENEWAL78Onyama Limba
1036Silvio W AmigonSpain2024-06-15King, Christopher A Esq NEW78Anna Fali
1037Jeanfrancois U AlbaresSpain2024-05-29Buckley Miller Wright RENEWAL55Bernardo Dominic
1038Wickens K MaletBrazil2024-05-29Dorl, James J Esq RENEWAL0Bernardo Dominic
1039Aika X CaldareraItaly2024-06-05Chanay, Jeffrey A Esq NEW57Xuxue Feng
1040Francesco Q PaprockiGermany2024-06-16Commercial Press QUALIFIED60Ioni Bowcher
1041Jones Q CampainItaly2024-06-04Morlong Associates PROPOSAL99Anna Fali
1042Julie D MaletItaly2024-06-08King, Christopher A Esq QUALIFIED83Elwin Sharvill
1043Stacey U KolmetzUnited Kingdom2024-06-20Dorl, James J Esq UNQUALIFIED29Ivan Magalhaes
1044Rodrigues U WieserItaly2024-05-29Chemel, James L Cpa PROPOSAL43Asiya Javayant
1045Deepesh M FerenczSpain2024-06-21Benton, John B Jr NEGOTIATION37Amy Elsner
1046Silvio G RimFrance2024-06-12Rousseaux, Michael Esq RENEWAL28Asiya Javayant
1047Morrow T PaprockiCanada2024-06-09Commercial Press QUALIFIED40Xuxue Feng
1048Francesco M WhobreyItaly2024-05-31Buckley Miller Wright RENEWAL62Bernardo Dominic
1049Ashley W FerenczCanada2024-06-24Feiner Bros NEW19Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Francesco S MaletGermanyAsiya Javayant UNQUALIFIED
Jefferson C GauchoArgentinaIvan Magalhaes PROPOSAL
Cody H GauchoIndiaOnyama Limba RENEWAL
Juan K SergiSpainElwin Sharvill UNQUALIFIED
Faith G DarakjyIndiaAnna Fali NEGOTIATION
Rodrigues U SlusarskiArgentinaAsiya Javayant RENEWAL
Jennifer P NestleRussiaAmy Elsner UNQUALIFIED
Octavia U KolmetzGermanyAsiya Javayant NEW
Jones R SlusarskiBrazilAmy Elsner PROPOSAL
Johnson M SchemmerRussiaStephen Shaw NEGOTIATION
Costa A BriddickArgentinaOnyama Limba NEGOTIATION
Jefferson B CaldareraRussiaBernardo Dominic NEGOTIATION
Aditya I KuskoSpainXuxue Feng UNQUALIFIED
Julie L ShinkoArgentinaAnna Fali NEW
Salvatore L KuskoFranceBernardo Dominic UNQUALIFIED
Mujtaba H GillianItalyAsiya Javayant NEGOTIATION
Alejandro E CampainCanadaStephen Shaw RENEWAL
Izzy E InouyeBrazilAsiya Javayant QUALIFIED
Octavia Q TollnerItalyAsiya Javayant UNQUALIFIED
Maria K TollnerCanadaAsiya Javayant NEGOTIATION
Darci Z BowleyJapanBernardo Dominic NEW
Cody L AmigonSpainOnyama Limba QUALIFIED
David A RutaGermanyAsiya Javayant UNQUALIFIED
Juan K OstroskyUnited KingdomIoni Bowcher NEW
James U FigeroaGermanyIvan Magalhaes UNQUALIFIED
Cody G WhobreyBrazilIoni Bowcher PROPOSAL
Mujtaba Q WieserJapanIvan Magalhaes UNQUALIFIED
Silvio P SchemmerFranceXuxue Feng NEGOTIATION
Kaitlin X VocelkaUnited KingdomAmy Elsner NEGOTIATION
Leon K MaletIndiaIvan Magalhaes QUALIFIED
Misaki D GauchoJapanIvan Magalhaes NEW
Ricardo P ButtJapanAsiya Javayant PROPOSAL
Clifford J RulapaughAustraliaStephen Shaw NEW
Julie B FigeroaRussiaXuxue Feng NEGOTIATION
Octavia W OldroydSpainElwin Sharvill RENEWAL
Wickens H BologniaFranceElwin Sharvill NEW
James V CampainArgentinaAmy Elsner PROPOSAL
Adams V DoeUnited KingdomStephen Shaw NEGOTIATION
Darci W KolmetzIndiaStephen Shaw NEGOTIATION
Leon G SlusarskiIndiaAmy Elsner QUALIFIED
Emily R WieserAustraliaOnyama Limba NEGOTIATION
Leja E BologniaIndiaBernardo Dominic UNQUALIFIED
Kadeem U PoquetteFranceBernardo Dominic PROPOSAL
Nicolas N WhobreyArgentinaAsiya Javayant NEGOTIATION
Claire V AmigonJapanBernardo Dominic NEGOTIATION
Claire O VenereCanadaAmy Elsner UNQUALIFIED
Maria U GauchoSpainXuxue Feng PROPOSAL
Aditya F DoeRussiaBernardo Dominic RENEWAL
Morrow M FollerGermanyElwin Sharvill PROPOSAL
Arvin P SergiArgentinaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Chavez B Stenseth
Cody C Marrier
Aditya U Morasca
Greenwood L Butt
Clifford H Gaucho
Costa G Bowley
Octavia Q Campain
Maria V Malet
Nicolas H Rim
Costa L Vocelka
Octavia M Ferencz
Murillo B Kusko
David J Sergi
Kadeem N Briddick
Juan Z Bolognia
Alejandro Y Saylors
Juan C Bowley
Jones N Iturbide
Smith C Rim
David V Stenseth
Salvatore I Amigon
Ashley Q Slusarski
Darci H Saylors
Silvio C Schemmer
Julie I Slusarski
Isabel E Chui
James Q Campain
Chavez T Briddick
Sinclair A Bowley
Leon R Flosi
Misaki P Malet
Ricardo F Iturbide
Jones D Venere
Juan T Dilliard
Izzy Q Schemmer
Leon O Gaucho
Smith W Sergi
Greenwood T Bolognia
Smith Z Wieser
Greenwood R Maclead
Aditya G Ostrosky
Salvatore D Kolmetz
Juan H Dilliard
Nicolas A Paprocki
Mayumi D Kolmetz
Mayumi K Kolmetz
Maisha X Stockham
Morrow V Caldarera
Deepesh E Albares
Darci S Saylors
IdCountryDate
1000Japan2024-06-23
1001India2024-05-28
1002United Kingdom2024-06-20
1003Spain2024-06-03
1004Italy2024-05-30
1005Brazil2024-06-07
1006India2024-05-29
1007Germany2024-06-18
1008Italy2024-06-02
1009Brazil2024-06-13
1010Australia2024-06-15
1011Canada2024-06-08
1012Italy2024-05-30
1013France2024-06-19
1014United Kingdom2024-06-15
1015Spain2024-06-08
1016Australia2024-05-26
1017Russia2024-05-27
1018Spain2024-05-30
1019Argentina2024-06-17
1020India2024-06-24
1021India2024-06-09
1022Australia2024-06-20
1023Australia2024-06-04
1024India2024-06-10
1025India2024-06-24
1026Russia2024-06-14
1027Canada2024-06-14
1028Germany2024-06-11
1029France2024-06-11
1030Spain2024-06-19
1031United Kingdom2024-06-20
1032Australia2024-06-12
1033Italy2024-06-03
1034Japan2024-06-22
1035Australia2024-06-23
1036Italy2024-06-01
1037Argentina2024-06-06
1038Japan2024-05-27
1039Brazil2024-06-06
1040India2024-06-07
1041Germany2024-06-11
1042Canada2024-06-15
1043Japan2024-05-28
1044Japan2024-06-13
1045France2024-06-03
1046Germany2024-06-11
1047Italy2024-05-30
1048Russia2024-06-20
1049India2024-06-21

On-Demand Data

NameIdCountryDate
Izzy U Doe1000Germany2024-06-04
Arvin T Tollner1001India2024-06-13
Ashley H Kolmetz1002Brazil2024-06-18
Salvatore M Briddick1003United Kingdom2024-05-30
Aika L Gaucho1004Argentina2024-06-01
Ashley W Albares1005United Kingdom2024-06-07
Murillo G Paprocki1006Canada2024-06-03
Juan R Amigon1007Germany2024-06-24
Maisha Y Briddick1008United Kingdom2024-06-03
Aditya E Chui1009Spain2024-06-09
Arvin O Gillian1010United Kingdom2024-05-31
Deepesh H Ruta1011Japan2024-06-20
Izzy J Tollner1012Argentina2024-05-26
Nicolas V Ruta1013Russia2024-06-03
Cody G Rulapaugh1014Italy2024-06-21
James H Saylors1015France2024-06-12
Munro E Waycott1016Brazil2024-06-06
Kadeem K Chui1017Spain2024-05-31
Munro N Shinko1018India2024-06-13
Greenwood J Whobrey1019France2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Z DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Leja Z GlickGermanyAmy Elsner PROPOSAL
Greenwood I AlbaresGermanyAsiya Javayant QUALIFIED
Tony I MorascaGermanyStephen Shaw UNQUALIFIED
Misaki C ButtCanadaOnyama Limba QUALIFIED
Chavez O MaletAustraliaElwin Sharvill NEGOTIATION
Ricardo F ButtCanadaBernardo Dominic QUALIFIED
Aika T KolmetzRussiaAnna Fali UNQUALIFIED
Adams P MorascaArgentinaStephen Shaw UNQUALIFIED
Chavez O ButtArgentinaXuxue Feng NEGOTIATION
Jefferson Y RimArgentinaStephen Shaw NEGOTIATION
Claire T ChuiItalyStephen Shaw PROPOSAL
Johnson L KolmetzAustraliaOnyama Limba UNQUALIFIED
Kadeem A CampainJapanElwin Sharvill NEGOTIATION
Leon R BologniaAustraliaBernardo Dominic UNQUALIFIED
Kadeem N FerenczJapanOnyama Limba PROPOSAL
Jones N ButtGermanyIoni Bowcher QUALIFIED
Adams W InouyeSpainBernardo Dominic UNQUALIFIED
Izzy W PoquetteRussiaAnna Fali UNQUALIFIED
Sinclair Y TollnerUnited KingdomAnna Fali NEW
Maisha G AmigonRussiaStephen Shaw NEGOTIATION
Juan Q CaldareraFranceBernardo Dominic NEGOTIATION
Octavia V TollnerSpainAnna Fali QUALIFIED
Munro Z ChuiArgentinaAmy Elsner RENEWAL
Kaitlin Y FerenczAustraliaAmy Elsner NEGOTIATION
Misaki X DilliardAustraliaElwin Sharvill QUALIFIED
Cody H CaudyFranceIvan Magalhaes UNQUALIFIED
Misaki G SergiArgentinaIoni Bowcher QUALIFIED
Juan V VocelkaSpainElwin Sharvill PROPOSAL
Claire M ShinkoGermanyAnna Fali UNQUALIFIED
Alejandro O DilliardSpainElwin Sharvill NEW
Maria R TollnerBrazilStephen Shaw NEW
Octavia T StockhamIndiaAmy Elsner RENEWAL
Silvio Z RutaJapanXuxue Feng NEW
Francesco D GauchoBrazilIvan Magalhaes NEGOTIATION
Greenwood G SlusarskiCanadaElwin Sharvill PROPOSAL
Smith J MarrierIndiaIvan Magalhaes NEGOTIATION
Antonio V SlusarskiBrazilElwin Sharvill UNQUALIFIED
Misaki Q TollnerUnited KingdomXuxue Feng RENEWAL
Leon T GillianFranceIvan Magalhaes 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>