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
Jeanfrancois P GarufiSpainXuxue Feng QUALIFIED
Mayumi I SergiSpainStephen Shaw NEW
Kaitlin R SchemmerArgentinaIvan Magalhaes NEW
Salvatore D DilliardUnited KingdomElwin Sharvill RENEWAL
Emily W MaletJapanElwin Sharvill UNQUALIFIED
Clifford S PaprockiGermanyIvan Magalhaes NEGOTIATION
Nicolas D CaudyAustraliaAnna Fali QUALIFIED
Ivar L OstroskyItalyXuxue Feng NEW
Kadeem K PaprockiIndiaElwin Sharvill NEGOTIATION
Aditya V GillianSpainBernardo Dominic UNQUALIFIED
Aruna Q RulapaughCanadaBernardo Dominic RENEWAL
Wickens A AlbaresBrazilIvan Magalhaes PROPOSAL
Wickens J RutaUnited KingdomAnna Fali NEGOTIATION
Misaki U NestleAustraliaIvan Magalhaes PROPOSAL
Octavia F InouyeArgentinaAmy Elsner RENEWAL
Munro S WaycottRussiaAmy Elsner UNQUALIFIED
Costa T NickaIndiaAnna Fali PROPOSAL
Rodrigues X GillianJapanIoni Bowcher PROPOSAL
Leja C SergiFranceStephen Shaw RENEWAL
Julie P TollnerGermanyElwin Sharvill NEGOTIATION
Mayumi H NestleSpainIoni Bowcher NEW
Antonio E SaylorsAustraliaElwin Sharvill QUALIFIED
Maisha W BriddickFranceAsiya Javayant RENEWAL
Johnson Z NickaItalyBernardo Dominic NEW
Stacey H FlosiFranceAsiya Javayant NEW
Aditya G VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin B KolmetzUnited KingdomAmy Elsner PROPOSAL
Smith J ChuiJapanElwin Sharvill NEW
Arvin U NestleArgentinaAnna Fali NEW
Sinclair V CaudyIndiaXuxue Feng NEGOTIATION
Claire Y NestleItalyStephen Shaw NEGOTIATION
Antonio S RutaFranceOnyama Limba UNQUALIFIED
Wickens B SaylorsIndiaElwin Sharvill NEW
Aditya T MacleadUnited KingdomAmy Elsner NEGOTIATION
Greenwood T GarufiFranceAsiya Javayant QUALIFIED
Aditya V MarrierIndiaBernardo Dominic PROPOSAL
Darci Q NestleBrazilElwin Sharvill NEW
Mayumi H TollnerSpainXuxue Feng NEW
Greenwood R StensethBrazilXuxue Feng RENEWAL
Costa Q BowleyArgentinaAmy Elsner QUALIFIED
Kaitlin I RulapaughJapanIvan Magalhaes UNQUALIFIED
Tony S VocelkaArgentinaAmy Elsner NEGOTIATION
Salvatore C RutaCanadaAmy Elsner NEGOTIATION
Mujtaba J NestleAustraliaXuxue Feng UNQUALIFIED
Wickens Q ShinkoFranceIvan Magalhaes NEGOTIATION
Ricardo T WieserGermanyAsiya Javayant PROPOSAL
Claire G ChuiItalyOnyama Limba UNQUALIFIED
Silvio X NickaBrazilOnyama Limba PROPOSAL
Jones A CaldareraJapanAsiya Javayant NEGOTIATION
Clifford N RutaSpainAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo I OstroskyBrazilAnna Fali QUALIFIED
Smith X DilliardFranceAmy Elsner QUALIFIED
Arvin D SergiFranceStephen Shaw NEW
David O AmigonGermanyAsiya Javayant PROPOSAL
Leja I MorascaSpainStephen Shaw UNQUALIFIED
Isabel T PoquetteArgentinaAsiya Javayant NEGOTIATION
Juan R SchemmerRussiaAnna Fali UNQUALIFIED
Kadeem N MorascaRussiaBernardo Dominic NEW
Julie Y FollerAustraliaAsiya Javayant PROPOSAL
Silvio H DoeFranceIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh H KolmetzArgentina2026-06-29Chanay, Jeffrey A Esq NEGOTIATION67Amy Elsner
1001Ricardo O WaycottCanada2026-06-24Chemel, James L Cpa UNQUALIFIED17Asiya Javayant
1002Nicolas P SaylorsFrance2026-07-20Dorl, James J Esq UNQUALIFIED71Anna Fali
1003Mayumi O WaycottBrazil2026-07-10Chapman, Ross E Esq UNQUALIFIED33Bernardo Dominic
1004Alejandro Y RutaSpain2026-07-11Buckley Miller Wright PROPOSAL61Asiya Javayant
1005Maisha Y BowleyJapan2026-06-24Rousseaux, Michael Esq NEW30Anna Fali
1006Aika S FollerSpain2026-06-26Morlong Associates QUALIFIED61Elwin Sharvill
1007Leon W FlosiCanada2026-07-09Rangoni Of Florence UNQUALIFIED82Elwin Sharvill
1008Aika O DoeRussia2026-06-28Rousseaux, Michael Esq PROPOSAL54Xuxue Feng
1009Kadeem B FlosiFrance2026-07-09Chemel, James L Cpa NEGOTIATION47Stephen Shaw
1010Alejandro B GarufiItaly2026-07-15Feiner Bros NEW2Ivan Magalhaes
1011Ashley M VocelkaBrazil2026-07-14Feltz Printing Service RENEWAL4Amy Elsner
1012Chavez S OstroskyCanada2026-06-28Benton, John B Jr NEW97Asiya Javayant
1013Jefferson Z StockhamCanada2026-07-06Dorl, James J Esq PROPOSAL81Bernardo Dominic
1014Alejandro J NickaAustralia2026-06-29Chemel, James L Cpa NEGOTIATION91Onyama Limba
1015Sinclair A GlickUnited Kingdom2026-07-16Benton, John B Jr UNQUALIFIED21Onyama Limba
1016Julie L ButtItaly2026-06-24Truhlar And Truhlar Attys RENEWAL9Stephen Shaw
1017James A ButtSpain2026-07-01Chanay, Jeffrey A Esq PROPOSAL48Xuxue Feng
1018Chavez N FlosiAustralia2026-06-27Chapman, Ross E Esq NEGOTIATION71Xuxue Feng
1019Sinclair O AlbaresFrance2026-07-09Rangoni Of Florence NEGOTIATION42Onyama Limba
1020Mayumi T StockhamGermany2026-07-23Feltz Printing Service RENEWAL65Anna Fali
1021Leja S SaylorsJapan2026-07-10Truhlar And Truhlar Attys UNQUALIFIED0Elwin Sharvill
1022Johnson A NestleArgentina2026-07-20Chemel, James L Cpa NEGOTIATION3Anna Fali
1023Aruna R BriddickIndia2026-07-21Rangoni Of Florence QUALIFIED64Stephen Shaw
1024Aika I OstroskyAustralia2026-06-30Morlong Associates NEW76Elwin Sharvill
1025Kadeem R FerenczFrance2026-07-08Feltz Printing Service QUALIFIED61Asiya Javayant
1026Mayumi T MaletSpain2026-07-18King, Christopher A Esq PROPOSAL18Bernardo Dominic
1027Emily O BowleyGermany2026-07-20Morlong Associates RENEWAL62Bernardo Dominic
1028Sinclair K MaletRussia2026-07-03Chanay, Jeffrey A Esq UNQUALIFIED4Asiya Javayant
1029Tony E ButtItaly2026-07-10Rangoni Of Florence NEGOTIATION28Anna Fali
1030Juan O StockhamFrance2026-07-03Truhlar And Truhlar Attys QUALIFIED80Xuxue Feng
1031Mujtaba H PaprockiGermany2026-07-14Buckley Miller Wright UNQUALIFIED2Anna Fali
1032Aruna H FerenczRussia2026-06-27Printing Dimensions NEGOTIATION88Ivan Magalhaes
1033Salvatore W KolmetzAustralia2026-07-23Rousseaux, Michael Esq PROPOSAL9Anna Fali
1034Francesco S AmigonGermany2026-07-06Feltz Printing Service NEGOTIATION86Stephen Shaw
1035Kadeem R CampainFrance2026-07-14Benton, John B Jr PROPOSAL80Asiya Javayant
1036Clifford L CaldareraBrazil2026-07-15Feiner Bros PROPOSAL63Asiya Javayant
1037Adams Y RimFrance2026-07-08Benton, John B Jr NEGOTIATION72Amy Elsner
1038Rodrigues K GillianUnited Kingdom2026-07-12Feiner Bros PROPOSAL68Stephen Shaw
1039Greenwood M KolmetzCanada2026-06-28Rousseaux, Michael Esq NEW18Onyama Limba
1040Leja B DoeRussia2026-07-19King, Christopher A Esq UNQUALIFIED24Onyama Limba
1041Izzy I MorascaGermany2026-07-08Feltz Printing Service QUALIFIED46Elwin Sharvill
1042Aika O InouyeUnited Kingdom2026-07-22Rangoni Of Florence PROPOSAL76Bernardo Dominic
1043Alejandro E AlbaresRussia2026-06-25Chemel, James L Cpa NEGOTIATION10Asiya Javayant
1044Kaitlin I TollnerFrance2026-07-07Chemel, James L Cpa NEGOTIATION91Amy Elsner
1045Claire A StockhamBrazil2026-07-12Rousseaux, Michael Esq PROPOSAL58Ioni Bowcher
1046Jones W FigeroaFrance2026-07-19Morlong Associates PROPOSAL29Stephen Shaw
1047Octavia X ChuiRussia2026-07-17Morlong Associates PROPOSAL2Ioni Bowcher
1048Alejandro B MarrierGermany2026-07-03Chemel, James L Cpa RENEWAL11Asiya Javayant
1049Izzy R DilliardUnited Kingdom2026-07-08Feltz Printing Service NEW52Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin Z InouyeRussiaAnna Fali PROPOSAL
Clifford P CaudyArgentinaAnna Fali NEGOTIATION
Morrow B GlickUnited KingdomAsiya Javayant NEW
Greenwood I FlosiIndiaAmy Elsner RENEWAL
Greenwood G TollnerBrazilAmy Elsner PROPOSAL
Cody H NestleCanadaAnna Fali NEGOTIATION
Silvio G KolmetzUnited KingdomXuxue Feng QUALIFIED
Wickens J PerinCanadaIvan Magalhaes UNQUALIFIED
Juan U RutaUnited KingdomIvan Magalhaes NEGOTIATION
Darci M KolmetzSpainAnna Fali UNQUALIFIED
Smith G CaudyRussiaElwin Sharvill NEGOTIATION
Adams R VocelkaSpainIoni Bowcher QUALIFIED
Smith B PerinRussiaAsiya Javayant UNQUALIFIED
Clifford H FollerSpainIoni Bowcher NEW
Claire N ButtIndiaStephen Shaw PROPOSAL
Cody U RoysterBrazilElwin Sharvill PROPOSAL
Chavez I CaudyUnited KingdomIvan Magalhaes RENEWAL
Arvin N StensethJapanElwin Sharvill UNQUALIFIED
Mayumi F NickaFranceAsiya Javayant RENEWAL
Smith N ShinkoGermanyElwin Sharvill NEGOTIATION
Arvin X NestleArgentinaXuxue Feng NEGOTIATION
Aruna N ButtJapanStephen Shaw UNQUALIFIED
Wickens K BologniaCanadaIoni Bowcher QUALIFIED
Salvatore S FlosiCanadaIoni Bowcher NEW
Deepesh V ButtGermanyAnna Fali PROPOSAL
Nicolas L TollnerCanadaAsiya Javayant RENEWAL
Aditya I IturbideUnited KingdomAsiya Javayant RENEWAL
Cody I SergiBrazilAmy Elsner UNQUALIFIED
Maisha E PoquetteJapanStephen Shaw NEGOTIATION
Kadeem E NickaUnited KingdomStephen Shaw NEGOTIATION
Nicolas Q MorascaJapanXuxue Feng NEW
Munro N GillianGermanyAmy Elsner NEW
Isabel H TollnerItalyStephen Shaw PROPOSAL
Rodrigues E RulapaughUnited KingdomIoni Bowcher RENEWAL
Jones H InouyeArgentinaIvan Magalhaes PROPOSAL
Ricardo W FollerBrazilAsiya Javayant NEW
Maisha D FerenczBrazilAmy Elsner NEW
Jones Q RoysterCanadaStephen Shaw RENEWAL
Jeanfrancois Z MaletArgentinaIoni Bowcher NEGOTIATION
Costa L FlosiSpainAmy Elsner QUALIFIED
Maisha J CaldareraArgentinaBernardo Dominic RENEWAL
Cody C MacleadRussiaStephen Shaw NEW
Jefferson Y MaletRussiaAmy Elsner RENEWAL
Wickens K ButtUnited KingdomXuxue Feng PROPOSAL
Antonio H ButtBrazilStephen Shaw PROPOSAL
Emily S StensethAustraliaIvan Magalhaes NEW
Cody P RulapaughGermanyElwin Sharvill UNQUALIFIED
Octavia A PerinItalyStephen Shaw QUALIFIED
Faith F DoeItalyBernardo Dominic UNQUALIFIED
Darci E FollerFranceBernardo Dominic PROPOSAL
Frozen Columns
Name
Sinclair L Kusko
Salvatore Y Iturbide
Stacey N Bolognia
Maisha U Maclead
Rodrigues M Perin
Julie S Caldarera
Leja M Ruta
Jefferson E Oldroyd
Isabel C Darakjy
Munro O Shinko
Faith M Stenseth
Octavia S Dilliard
Greenwood M Chui
Tony R Briddick
Sinclair P Flosi
Jefferson F Tollner
Maisha J Venere
Clifford P Ferencz
Rodrigues A Doe
Salvatore G Gaucho
Misaki O Nicka
Mujtaba Y Garufi
James W Rulapaugh
Kaitlin M Perin
Izzy T Foller
Murillo G Sergi
Aika G Schemmer
Chavez T Gaucho
Antonio O Garufi
Aditya E Morasca
Morrow K Malet
Jeanfrancois Z Paprocki
Ashley A Gaucho
Misaki L Iturbide
Nicolas K Kusko
Emily B Caldarera
Chavez M Paprocki
Sinclair J Figeroa
Tony H Shinko
Munro C Wieser
Octavia S Dilliard
Sinclair G Marrier
Claire C Saylors
Mujtaba E Butt
Jefferson V Malet
Silvio W Tollner
Greenwood W Gillian
Claire U Poquette
Octavia C Flosi
David O Maclead
IdCountryDate
1000India2026-07-07
1001Italy2026-07-01
1002United Kingdom2026-07-21
1003Germany2026-07-02
1004India2026-07-04
1005Spain2026-06-30
1006Australia2026-06-26
1007India2026-07-16
1008Italy2026-07-03
1009Germany2026-06-29
1010Spain2026-07-10
1011Brazil2026-07-02
1012United Kingdom2026-07-16
1013Italy2026-07-12
1014France2026-07-03
1015France2026-07-11
1016Italy2026-07-11
1017Russia2026-07-21
1018Brazil2026-07-03
1019Spain2026-07-17
1020Japan2026-06-29
1021Italy2026-07-06
1022Australia2026-07-20
1023Australia2026-07-06
1024Germany2026-07-21
1025Canada2026-07-12
1026France2026-07-23
1027France2026-06-24
1028Italy2026-07-01
1029United Kingdom2026-07-14
1030Canada2026-06-25
1031Germany2026-07-12
1032France2026-07-13
1033Russia2026-07-01
1034India2026-07-10
1035Italy2026-07-20
1036France2026-07-19
1037Spain2026-07-01
1038India2026-07-03
1039Japan2026-07-10
1040Germany2026-06-24
1041Canada2026-07-16
1042Canada2026-07-03
1043Japan2026-07-16
1044Russia2026-07-08
1045Australia2026-07-06
1046Brazil2026-07-02
1047France2026-07-11
1048Japan2026-06-26
1049Japan2026-06-29

On-Demand Data

NameIdCountryDate
Julie N Sergi1000Italy2026-06-26
Aika M Gillian1001Italy2026-07-12
Claire Q Flosi1002Italy2026-07-20
Darci G Caudy1003Spain2026-07-19
Mujtaba F Saylors1004Germany2026-07-19
Stacey O Bowley1005Canada2026-07-04
Cody S Figeroa1006United Kingdom2026-07-03
Clifford B Rulapaugh1007Japan2026-06-28
Faith O Campain1008Japan2026-07-23
Claire J Tollner1009Brazil2026-06-24
Maria F Caudy1010Russia2026-07-01
Julie Z Nicka1011Germany2026-06-24
Juan R Stockham1012Spain2026-07-17
Tony Y Shinko1013Italy2026-07-16
Murillo T Figeroa1014Germany2026-07-03
Juan K Whobrey1015Japan2026-06-24
Emily N Garufi1016Russia2026-07-15
Leja C Stockham1017Argentina2026-07-07
Kaitlin O Poquette1018Germany2026-07-10
Aditya T Poquette1019Japan2026-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith U SlusarskiArgentinaAnna Fali UNQUALIFIED
Deepesh I StensethArgentinaBernardo Dominic RENEWAL
Ashley K VocelkaArgentinaAnna Fali UNQUALIFIED
Morrow H AmigonFranceXuxue Feng RENEWAL
Cody H GarufiItalyStephen Shaw QUALIFIED
Mujtaba E BriddickSpainOnyama Limba RENEWAL
Octavia V CampainJapanAmy Elsner NEGOTIATION
Costa N VocelkaCanadaBernardo Dominic QUALIFIED
Smith L FigeroaSpainAmy Elsner NEGOTIATION
Antonio T MaletGermanyAsiya Javayant UNQUALIFIED
Jennifer Q FigeroaAustraliaOnyama Limba NEGOTIATION
Ashley V SlusarskiCanadaStephen Shaw QUALIFIED
Adams M BologniaGermanyBernardo Dominic QUALIFIED
Ashley I CaudyFranceAsiya Javayant UNQUALIFIED
Emily N WaycottSpainOnyama Limba QUALIFIED
Maisha O ShinkoBrazilElwin Sharvill NEW
Leja Z KuskoSpainXuxue Feng NEW
Clifford C CaudySpainOnyama Limba RENEWAL
Murillo D SergiJapanAsiya Javayant QUALIFIED
Jefferson H OldroydItalyXuxue Feng NEGOTIATION
Greenwood S VocelkaSpainIoni Bowcher RENEWAL
Jennifer Y MaletCanadaBernardo Dominic QUALIFIED
Julie R BologniaItalyIvan Magalhaes RENEWAL
Isabel S FigeroaCanadaAnna Fali NEGOTIATION
Emily V RulapaughUnited KingdomXuxue Feng RENEWAL
Aika V PoquetteArgentinaElwin Sharvill UNQUALIFIED
Smith G WieserFranceAnna Fali UNQUALIFIED
Smith O BriddickJapanElwin Sharvill UNQUALIFIED
Silvio E MacleadBrazilIoni Bowcher QUALIFIED
Adams F PaprockiRussiaElwin Sharvill NEW
Aika N SchemmerIndiaAmy Elsner UNQUALIFIED
Misaki M DarakjyAustraliaXuxue Feng NEW
Kaitlin D KolmetzGermanyElwin Sharvill NEGOTIATION
Aruna G GillianItalyElwin Sharvill PROPOSAL
Stacey B ShinkoUnited KingdomXuxue Feng PROPOSAL
Ashley D FigeroaGermanyStephen Shaw NEW
Maria Y PerinFranceXuxue Feng NEGOTIATION
Adams Q TollnerBrazilAnna Fali UNQUALIFIED
Leon Y BologniaJapanIoni Bowcher QUALIFIED
Silvio Y NickaSpainElwin 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>