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
David A FerenczIndiaXuxue Feng NEGOTIATION
Silvio E MaletArgentinaStephen Shaw UNQUALIFIED
Leon I CaldareraAustraliaStephen Shaw RENEWAL
Maria D StockhamJapanOnyama Limba NEW
Chavez C BologniaGermanyOnyama Limba QUALIFIED
James M OldroydArgentinaStephen Shaw NEGOTIATION
Claire E MaletFranceAsiya Javayant PROPOSAL
Mayumi Y ChuiUnited KingdomBernardo Dominic NEGOTIATION
Darci T CaldareraUnited KingdomAsiya Javayant RENEWAL
Claire W KolmetzCanadaAmy Elsner PROPOSAL
Silvio Q GarufiCanadaAsiya Javayant PROPOSAL
Cody A FigeroaAustraliaXuxue Feng RENEWAL
Arvin B FigeroaRussiaAnna Fali RENEWAL
Morrow H SlusarskiFranceIoni Bowcher NEGOTIATION
Deepesh L MarrierItalyBernardo Dominic QUALIFIED
Maisha C BowleyIndiaAsiya Javayant NEW
Johnson U FigeroaJapanOnyama Limba UNQUALIFIED
Morrow F SchemmerArgentinaBernardo Dominic PROPOSAL
Arvin N DoeIndiaXuxue Feng NEGOTIATION
Mayumi B RulapaughSpainAsiya Javayant QUALIFIED
Kaitlin D WaycottIndiaXuxue Feng NEGOTIATION
Costa P ButtIndiaIoni Bowcher UNQUALIFIED
Antonio I SergiIndiaStephen Shaw RENEWAL
Costa T FollerSpainElwin Sharvill UNQUALIFIED
Mujtaba J ButtJapanAmy Elsner RENEWAL
Claire W BowleySpainAnna Fali QUALIFIED
Murillo R GauchoRussiaAsiya Javayant UNQUALIFIED
Murillo F SchemmerArgentinaIoni Bowcher RENEWAL
Deepesh O KuskoFranceXuxue Feng QUALIFIED
James E RimArgentinaElwin Sharvill NEGOTIATION
Ricardo D CaldareraArgentinaIvan Magalhaes RENEWAL
Deepesh X MaletItalyElwin Sharvill RENEWAL
Octavia C MorascaIndiaOnyama Limba NEGOTIATION
Kadeem Y MarrierUnited KingdomAmy Elsner RENEWAL
Munro F SlusarskiBrazilXuxue Feng UNQUALIFIED
Cody C ButtJapanBernardo Dominic PROPOSAL
Salvatore D WhobreyJapanAmy Elsner QUALIFIED
Deepesh Z CampainItalyElwin Sharvill NEW
Cody R RimSpainIvan Magalhaes PROPOSAL
Jennifer F OstroskyBrazilStephen Shaw PROPOSAL
Sinclair B RulapaughFranceXuxue Feng PROPOSAL
Mujtaba A ChuiCanadaBernardo Dominic UNQUALIFIED
Stacey O BowleyArgentinaIvan Magalhaes QUALIFIED
Munro V PerinFranceAmy Elsner PROPOSAL
Ashley B VocelkaGermanyIoni Bowcher NEGOTIATION
Jones G DarakjyCanadaOnyama Limba QUALIFIED
Wickens B BriddickItalyBernardo Dominic RENEWAL
Maria D ChuiJapanOnyama Limba NEW
Stacey Y PaprockiFranceStephen Shaw PROPOSAL
Leon U FollerCanadaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith J BowleyJapanIoni Bowcher NEGOTIATION
Nicolas Q GauchoIndiaXuxue Feng QUALIFIED
Deepesh D InouyeAustraliaStephen Shaw NEGOTIATION
Johnson R FigeroaGermanyXuxue Feng NEGOTIATION
Mujtaba E RoysterJapanXuxue Feng PROPOSAL
Francesco S RutaArgentinaIvan Magalhaes NEW
Kaitlin Z VenereAustraliaAmy Elsner QUALIFIED
Alejandro W PerinRussiaElwin Sharvill RENEWAL
Maria S RutaItalyAmy Elsner NEW
Mayumi I RutaBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y VocelkaArgentina2024-04-28Rangoni Of Florence NEGOTIATION19Bernardo Dominic
1001Jennifer J WaycottCanada2024-05-21Feiner Bros RENEWAL84Stephen Shaw
1002Murillo R FigeroaGermany2024-05-09Printing Dimensions PROPOSAL41Xuxue Feng
1003Alejandro V AlbaresAustralia2024-05-08King, Christopher A Esq NEGOTIATION8Asiya Javayant
1004Wickens V MaletItaly2024-05-07Dorl, James J Esq RENEWAL31Anna Fali
1005Morrow E DoeAustralia2024-05-02Commercial Press QUALIFIED59Elwin Sharvill
1006Nicolas L KuskoRussia2024-05-01Feiner Bros QUALIFIED24Onyama Limba
1007Deepesh X GauchoCanada2024-04-28Benton, John B Jr RENEWAL54Anna Fali
1008Silvio T SaylorsBrazil2024-05-06Commercial Press PROPOSAL21Bernardo Dominic
1009Misaki J MacleadBrazil2024-05-19Chemel, James L Cpa UNQUALIFIED47Elwin Sharvill
1010Emily W PoquetteItaly2024-05-27Dorl, James J Esq QUALIFIED47Stephen Shaw
1011Salvatore F WieserCanada2024-05-20Feiner Bros UNQUALIFIED25Onyama Limba
1012Munro E BriddickRussia2024-05-07Printing Dimensions NEGOTIATION47Anna Fali
1013Adams M GlickIndia2024-05-24Morlong Associates UNQUALIFIED95Amy Elsner
1014Cody Y AmigonSpain2024-05-26Commercial Press UNQUALIFIED53Ioni Bowcher
1015Jennifer E ChuiSpain2024-05-13Feiner Bros UNQUALIFIED20Stephen Shaw
1016Munro G VocelkaCanada2024-05-02Commercial Press RENEWAL30Xuxue Feng
1017Mujtaba X MaletAustralia2024-05-15Printing Dimensions NEW16Asiya Javayant
1018Rodrigues R FerenczSpain2024-05-18Chapman, Ross E Esq UNQUALIFIED12Xuxue Feng
1019Nicolas E ChuiRussia2024-05-20Rangoni Of Florence NEW26Elwin Sharvill
1020Kadeem G StockhamSpain2024-04-29Commercial Press UNQUALIFIED74Xuxue Feng
1021Aditya C DilliardFrance2024-05-12Chapman, Ross E Esq PROPOSAL13Xuxue Feng
1022Clifford Z PaprockiRussia2024-05-14Chemel, James L Cpa UNQUALIFIED44Asiya Javayant
1023Morrow Z SlusarskiIndia2024-05-11Buckley Miller Wright UNQUALIFIED83Amy Elsner
1024Ricardo L VocelkaSpain2024-05-12Truhlar And Truhlar Attys RENEWAL12Xuxue Feng
1025Ivar A SlusarskiJapan2024-05-01Printing Dimensions RENEWAL0Amy Elsner
1026Isabel S SchemmerCanada2024-05-09King, Christopher A Esq PROPOSAL71Ivan Magalhaes
1027Emily J MaletCanada2024-04-30Benton, John B Jr RENEWAL43Ivan Magalhaes
1028Rodrigues Y WaycottJapan2024-05-01Truhlar And Truhlar Attys NEGOTIATION1Anna Fali
1029Darci D CaudyGermany2024-05-04Dorl, James J Esq NEGOTIATION56Amy Elsner
1030Deepesh T NestleGermany2024-05-16Truhlar And Truhlar Attys QUALIFIED48Stephen Shaw
1031Smith R MacleadJapan2024-05-09Buckley Miller Wright NEGOTIATION40Onyama Limba
1032Claire P DoeItaly2024-04-28Buckley Miller Wright PROPOSAL79Asiya Javayant
1033Leon Q RoysterJapan2024-05-03Truhlar And Truhlar Attys UNQUALIFIED72Elwin Sharvill
1034Jennifer X SlusarskiFrance2024-05-13Chapman, Ross E Esq PROPOSAL31Ioni Bowcher
1035Octavia P MaletFrance2024-05-07Morlong Associates UNQUALIFIED30Bernardo Dominic
1036Maisha R StockhamItaly2024-05-19Feiner Bros RENEWAL78Bernardo Dominic
1037Nicolas W WaycottSpain2024-05-11Buckley Miller Wright UNQUALIFIED80Ivan Magalhaes
1038Rodrigues R RutaFrance2024-05-11Rousseaux, Michael Esq NEW1Ivan Magalhaes
1039Leon L IturbideRussia2024-04-30Rangoni Of Florence NEGOTIATION2Stephen Shaw
1040Leon Z FlosiRussia2024-05-20Chemel, James L Cpa UNQUALIFIED97Onyama Limba
1041Aika A MarrierUnited Kingdom2024-04-30King, Christopher A Esq UNQUALIFIED53Xuxue Feng
1042Aruna H MorascaRussia2024-05-15King, Christopher A Esq NEGOTIATION93Onyama Limba
1043Izzy O FollerCanada2024-05-04Benton, John B Jr NEW89Xuxue Feng
1044Mayumi X GillianItaly2024-05-17Rousseaux, Michael Esq NEGOTIATION83Amy Elsner
1045Jeanfrancois A FigeroaArgentina2024-05-07Buckley Miller Wright NEGOTIATION63Amy Elsner
1046Kadeem C OldroydBrazil2024-05-09Rousseaux, Michael Esq UNQUALIFIED11Anna Fali
1047Francesco I CaldareraUnited Kingdom2024-05-03Benton, John B Jr NEW86Asiya Javayant
1048Ivar Q WieserJapan2024-05-22Morlong Associates UNQUALIFIED67Ioni Bowcher
1049Greenwood D CampainJapan2024-05-24Chanay, Jeffrey A Esq NEGOTIATION66Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aditya Q FigeroaJapanAnna Fali RENEWAL
Costa H OstroskyAustraliaXuxue Feng RENEWAL
Sinclair U FollerItalyIvan Magalhaes QUALIFIED
David C WhobreyItalyAnna Fali RENEWAL
Aika U SaylorsBrazilAsiya Javayant NEGOTIATION
Jones C WhobreyFranceIoni Bowcher PROPOSAL
Izzy S RoysterUnited KingdomStephen Shaw UNQUALIFIED
Maisha G FigeroaIndiaIoni Bowcher NEGOTIATION
Octavia Q MorascaSpainAmy Elsner RENEWAL
Isabel Y AmigonFranceAmy Elsner PROPOSAL
Francesco R FerenczJapanElwin Sharvill NEW
Sinclair U SaylorsSpainXuxue Feng RENEWAL
Alejandro H DoeArgentinaAsiya Javayant QUALIFIED
Maria O MaletIndiaXuxue Feng NEGOTIATION
Jones B ShinkoFranceBernardo Dominic NEGOTIATION
James W OstroskyJapanOnyama Limba NEW
Munro N WieserSpainAnna Fali QUALIFIED
Aditya G ChuiUnited KingdomAmy Elsner PROPOSAL
David U MorascaJapanIoni Bowcher NEW
Francesco F GarufiAustraliaAsiya Javayant QUALIFIED
Cody S FerenczGermanyIvan Magalhaes PROPOSAL
Clifford C MaletItalyXuxue Feng UNQUALIFIED
Octavia W NestleIndiaIvan Magalhaes UNQUALIFIED
Johnson X CampainCanadaAmy Elsner PROPOSAL
Clifford Z RoysterItalyElwin Sharvill NEW
Aditya E ButtCanadaAmy Elsner NEGOTIATION
Chavez U SchemmerJapanBernardo Dominic RENEWAL
Alejandro I WaycottFranceElwin Sharvill PROPOSAL
Silvio M SlusarskiSpainElwin Sharvill RENEWAL
Wickens E KolmetzArgentinaStephen Shaw QUALIFIED
Silvio K DarakjyIndiaOnyama Limba PROPOSAL
Munro K GlickItalyBernardo Dominic UNQUALIFIED
Salvatore B WhobreyJapanElwin Sharvill QUALIFIED
Mujtaba Q RimAustraliaIvan Magalhaes UNQUALIFIED
David M GlickAustraliaBernardo Dominic QUALIFIED
Tony K DilliardUnited KingdomAnna Fali QUALIFIED
Aruna P OldroydSpainAnna Fali PROPOSAL
Greenwood G BriddickJapanBernardo Dominic PROPOSAL
Chavez P GillianUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin A DoeAustraliaStephen Shaw UNQUALIFIED
Misaki G ButtGermanyAmy Elsner UNQUALIFIED
Mayumi H RimFranceOnyama Limba RENEWAL
Claire K AlbaresArgentinaAmy Elsner NEW
Stacey Z GillianBrazilAmy Elsner NEW
Alejandro M KolmetzRussiaAnna Fali RENEWAL
Clifford U MorascaBrazilOnyama Limba QUALIFIED
Arvin R CaudyGermanyAmy Elsner PROPOSAL
James M CaudySpainElwin Sharvill NEW
Maisha G ShinkoJapanAmy Elsner UNQUALIFIED
Emily Y DarakjyFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Maria K Glick
Tony N Glick
Smith Q Poquette
Jefferson J Whobrey
Cody U Malet
Mujtaba T Rim
Clifford K Iturbide
Costa G Tollner
Jeanfrancois W Ferencz
Murillo Y Marrier
Faith S Figeroa
Claire A Wieser
Misaki I Campain
Salvatore G Bowley
Maisha R Briddick
James K Garufi
James Q Albares
Costa H Butt
Izzy P Caudy
Salvatore E Doe
Morrow S Royster
Darci Z Butt
Cody F Ruta
Cody K Gaucho
Kadeem I Venere
Chavez E Sergi
Izzy C Marrier
Salvatore Z Sergi
Juan E Butt
Deepesh L Flosi
Deepesh B Ostrosky
Leon J Ostrosky
Arvin H Flosi
Adams P Albares
James X Maclead
Jennifer X Foller
Izzy F Shinko
Darci P Gillian
Leja O Marrier
Jennifer I Tollner
Jennifer F Campain
Deepesh N Paprocki
Jeanfrancois H Malet
Maisha Y Albares
Rodrigues D Gillian
Rodrigues O Whobrey
Octavia G Flosi
Izzy B Malet
Chavez B Stockham
Stacey S Stockham
IdCountryDate
1000France2024-05-01
1001Argentina2024-05-07
1002Argentina2024-05-26
1003Canada2024-04-29
1004France2024-05-12
1005Japan2024-05-15
1006Russia2024-05-20
1007India2024-04-28
1008France2024-05-21
1009Russia2024-04-30
1010Brazil2024-05-10
1011India2024-05-19
1012Spain2024-05-18
1013France2024-05-25
1014Japan2024-04-28
1015Japan2024-05-13
1016Brazil2024-05-19
1017Japan2024-05-10
1018India2024-04-29
1019Australia2024-05-16
1020Germany2024-05-14
1021United Kingdom2024-05-03
1022Spain2024-05-11
1023Australia2024-05-23
1024United Kingdom2024-05-27
1025Brazil2024-05-05
1026Russia2024-05-06
1027France2024-05-19
1028Argentina2024-05-16
1029India2024-05-06
1030France2024-05-20
1031Spain2024-05-21
1032Germany2024-05-01
1033Brazil2024-05-18
1034Russia2024-05-23
1035Canada2024-05-10
1036France2024-05-12
1037Canada2024-05-06
1038Australia2024-05-11
1039Italy2024-05-23
1040Spain2024-05-20
1041Australia2024-05-23
1042Canada2024-05-12
1043Australia2024-05-22
1044Russia2024-05-21
1045Spain2024-05-04
1046Spain2024-05-21
1047Argentina2024-05-22
1048Russia2024-04-28
1049Russia2024-05-04

On-Demand Data

NameIdCountryDate
Julie P Rim1000Australia2024-05-18
Julie Q Poquette1001Argentina2024-05-04
Johnson O Vocelka1002Japan2024-05-22
Chavez U Tollner1003Russia2024-05-01
Costa U Kolmetz1004France2024-04-28
Aruna N Kusko1005Australia2024-05-15
Antonio W Poquette1006Germany2024-04-29
Munro H Maclead1007United Kingdom2024-05-02
Leon C Garufi1008Brazil2024-05-21
Alejandro Y Campain1009France2024-05-07
Isabel R Malet1010United Kingdom2024-05-09
Octavia B Shinko1011India2024-05-20
Ashley K Kusko1012Germany2024-05-20
Izzy Q Saylors1013Canada2024-05-02
Sinclair G Ostrosky1014Argentina2024-05-16
Murillo C Stockham1015Brazil2024-05-26
Antonio T Iturbide1016Brazil2024-05-11
Maisha U Albares1017Brazil2024-05-04
James J Wieser1018India2024-05-12
Juan C Poquette1019India2024-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer R StensethBrazilElwin Sharvill PROPOSAL
Juan M RutaJapanAnna Fali NEGOTIATION
Arvin Z ButtArgentinaStephen Shaw NEW
Kaitlin L SlusarskiFranceAmy Elsner NEGOTIATION
Kaitlin F SergiFranceStephen Shaw NEGOTIATION
Juan V MaletItalyElwin Sharvill RENEWAL
Clifford C RulapaughGermanyBernardo Dominic UNQUALIFIED
Morrow J DarakjyBrazilXuxue Feng NEW
Arvin C PoquetteCanadaIoni Bowcher PROPOSAL
Ivar M TollnerFranceStephen Shaw PROPOSAL
Kadeem E SlusarskiArgentinaXuxue Feng PROPOSAL
Jennifer P DoeFranceAnna Fali NEGOTIATION
Leon E WaycottRussiaIoni Bowcher UNQUALIFIED
Aruna S VenereFranceAsiya Javayant PROPOSAL
Salvatore J FollerArgentinaAmy Elsner NEGOTIATION
Rodrigues M KuskoUnited KingdomAmy Elsner RENEWAL
Jeanfrancois U CaudyFranceAsiya Javayant UNQUALIFIED
Cody S GillianAustraliaIvan Magalhaes NEW
Tony W SaylorsFranceAsiya Javayant PROPOSAL
Emily U BologniaBrazilElwin Sharvill UNQUALIFIED
Mujtaba A SaylorsBrazilIvan Magalhaes UNQUALIFIED
Munro K SaylorsGermanyAnna Fali UNQUALIFIED
Ricardo Z SlusarskiArgentinaIvan Magalhaes QUALIFIED
Maisha B BowleyItalyOnyama Limba RENEWAL
Ashley Q SergiFranceXuxue Feng QUALIFIED
Misaki U FlosiRussiaElwin Sharvill QUALIFIED
Jones E DoeUnited KingdomAmy Elsner PROPOSAL
Aditya D ButtRussiaIoni Bowcher PROPOSAL
Izzy L MarrierUnited KingdomElwin Sharvill NEW
Maisha R PaprockiGermanyAmy Elsner QUALIFIED
Alejandro A PoquetteRussiaBernardo Dominic RENEWAL
Smith M NestleUnited KingdomIvan Magalhaes NEW
Jeanfrancois P IturbideIndiaIoni Bowcher UNQUALIFIED
Leja W RutaFranceElwin Sharvill PROPOSAL
Ricardo P KolmetzIndiaElwin Sharvill NEGOTIATION
Smith G NestleAustraliaIoni Bowcher NEW
Kaitlin N CampainBrazilIvan Magalhaes NEW
Deepesh Q OldroydItalyXuxue Feng QUALIFIED
Jefferson V MaletUnited KingdomStephen Shaw QUALIFIED
Isabel G FigeroaItalyIvan 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>