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
Deepesh S MarrierGermanyIvan Magalhaes RENEWAL
David H ChuiBrazilBernardo Dominic QUALIFIED
Julie W MarrierGermanyAnna Fali RENEWAL
Chavez A SlusarskiCanadaOnyama Limba NEW
Julie B FlosiBrazilStephen Shaw PROPOSAL
Rodrigues S RulapaughAustraliaBernardo Dominic QUALIFIED
Nicolas U ShinkoGermanyIvan Magalhaes NEW
Leja K IturbideUnited KingdomAmy Elsner NEW
Leja E NestleJapanAnna Fali QUALIFIED
Aruna C MacleadRussiaAnna Fali NEGOTIATION
Maisha Y CaudyArgentinaBernardo Dominic NEGOTIATION
Silvio D WaycottArgentinaIoni Bowcher UNQUALIFIED
David C IturbideGermanyElwin Sharvill PROPOSAL
Jones G FlosiJapanOnyama Limba PROPOSAL
Stacey G GillianJapanAnna Fali NEGOTIATION
Alejandro L IturbideArgentinaAnna Fali NEW
Juan G DarakjyFranceBernardo Dominic QUALIFIED
Ricardo O VocelkaBrazilStephen Shaw QUALIFIED
Leja A RoysterItalyElwin Sharvill NEGOTIATION
Faith Z FollerSpainXuxue Feng RENEWAL
Jefferson M IturbideAustraliaElwin Sharvill NEW
Murillo S FerenczSpainElwin Sharvill UNQUALIFIED
Mayumi U WhobreyFranceAsiya Javayant NEGOTIATION
Emily B SaylorsFranceAnna Fali NEW
Aika K NickaRussiaXuxue Feng QUALIFIED
Ricardo G CaldareraRussiaElwin Sharvill NEGOTIATION
Adams I SergiSpainIoni Bowcher QUALIFIED
Adams D PaprockiUnited KingdomStephen Shaw QUALIFIED
Jennifer X AlbaresGermanyXuxue Feng RENEWAL
Faith R FollerUnited KingdomAsiya Javayant NEW
Misaki R NickaAustraliaIoni Bowcher RENEWAL
Sinclair J RutaAustraliaAnna Fali QUALIFIED
Morrow O TollnerArgentinaAnna Fali NEGOTIATION
David H ButtCanadaOnyama Limba QUALIFIED
Mayumi E WaycottGermanyElwin Sharvill QUALIFIED
Greenwood E GauchoSpainIoni Bowcher NEW
Alejandro G SaylorsArgentinaStephen Shaw UNQUALIFIED
Johnson K RoysterAustraliaOnyama Limba NEW
David U StensethGermanyOnyama Limba NEGOTIATION
Aditya W FigeroaFranceElwin Sharvill PROPOSAL
Julie M GauchoSpainAsiya Javayant RENEWAL
Izzy V BowleyBrazilIvan Magalhaes NEGOTIATION
Antonio V StockhamJapanXuxue Feng UNQUALIFIED
Tony Q IturbideSpainStephen Shaw PROPOSAL
Isabel V FlosiUnited KingdomAmy Elsner UNQUALIFIED
Cody Y GillianItalyAmy Elsner NEGOTIATION
Aditya A CaldareraJapanOnyama Limba UNQUALIFIED
Aditya D RulapaughRussiaStephen Shaw UNQUALIFIED
Leon S RulapaughItalyOnyama Limba RENEWAL
Sinclair L BologniaUnited KingdomAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio E FlosiRussiaAmy Elsner PROPOSAL
Chavez V NestleCanadaIvan Magalhaes NEW
Jones F VocelkaJapanStephen Shaw QUALIFIED
Jefferson L NestleRussiaIvan Magalhaes UNQUALIFIED
Deepesh K BriddickSpainElwin Sharvill UNQUALIFIED
Izzy S NestleAustraliaBernardo Dominic PROPOSAL
Smith W WhobreyAustraliaBernardo Dominic QUALIFIED
Julie J InouyeJapanIvan Magalhaes RENEWAL
Maria I RutaIndiaStephen Shaw NEW
Smith E FlosiFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Y BriddickGermany2025-04-25Rangoni Of Florence UNQUALIFIED41Xuxue Feng
1001Julie Z PoquetteCanada2025-04-19Chanay, Jeffrey A Esq PROPOSAL77Bernardo Dominic
1002Izzy E FollerBrazil2025-04-14Benton, John B Jr PROPOSAL10Anna Fali
1003Leja Y TollnerSpain2025-04-11Chemel, James L Cpa RENEWAL61Bernardo Dominic
1004Alejandro U WaycottItaly2025-04-02Dorl, James J Esq PROPOSAL8Xuxue Feng
1005Claire L KolmetzFrance2025-04-25Dorl, James J Esq QUALIFIED88Asiya Javayant
1006Rodrigues W ButtBrazil2025-04-28Chemel, James L Cpa QUALIFIED11Onyama Limba
1007Mujtaba K MaletSpain2025-04-27Chapman, Ross E Esq RENEWAL28Ivan Magalhaes
1008Alejandro T InouyeArgentina2025-04-06Chemel, James L Cpa QUALIFIED39Xuxue Feng
1009Rodrigues T DilliardItaly2025-04-22Buckley Miller Wright NEGOTIATION17Xuxue Feng
1010Aika E SchemmerAustralia2025-04-01Printing Dimensions NEGOTIATION78Xuxue Feng
1011Alejandro L RimSpain2025-04-17Morlong Associates NEW67Ioni Bowcher
1012Kaitlin X GauchoUnited Kingdom2025-04-13Benton, John B Jr UNQUALIFIED6Xuxue Feng
1013Octavia F AlbaresSpain2025-04-18Commercial Press RENEWAL77Stephen Shaw
1014David U RoysterFrance2025-04-19Dorl, James J Esq UNQUALIFIED98Anna Fali
1015Aditya E StensethIndia2025-04-16Truhlar And Truhlar Attys QUALIFIED3Xuxue Feng
1016Aika V FollerJapan2025-04-25Feiner Bros RENEWAL96Amy Elsner
1017Greenwood R NestleFrance2025-04-25Buckley Miller Wright NEW74Amy Elsner
1018Salvatore C OstroskyItaly2025-04-15Chemel, James L Cpa PROPOSAL70Amy Elsner
1019Kaitlin V PaprockiFrance2025-04-24King, Christopher A Esq QUALIFIED8Bernardo Dominic
1020Ricardo V FigeroaUnited Kingdom2025-04-22Printing Dimensions NEW36Elwin Sharvill
1021Juan J RoysterBrazil2025-04-13Feltz Printing Service QUALIFIED46Elwin Sharvill
1022Julie T OstroskyIndia2025-04-19Dorl, James J Esq UNQUALIFIED7Ioni Bowcher
1023Mayumi A BologniaRussia2025-04-27Truhlar And Truhlar Attys RENEWAL80Asiya Javayant
1024Salvatore I RulapaughGermany2025-04-05Morlong Associates QUALIFIED62Amy Elsner
1025Rodrigues W FollerSpain2025-04-25Morlong Associates UNQUALIFIED0Amy Elsner
1026Greenwood O SlusarskiBrazil2025-04-16Morlong Associates UNQUALIFIED14Ioni Bowcher
1027Johnson T PoquetteItaly2025-04-21Truhlar And Truhlar Attys NEGOTIATION28Amy Elsner
1028Francesco V SaylorsArgentina2025-04-14Feiner Bros RENEWAL35Ivan Magalhaes
1029Maisha G StensethSpain2025-04-10Chanay, Jeffrey A Esq NEW82Amy Elsner
1030Jennifer G FollerItaly2025-04-22Buckley Miller Wright NEGOTIATION2Elwin Sharvill
1031Alejandro D AmigonIndia2025-04-15Feiner Bros PROPOSAL65Onyama Limba
1032Darci C FlosiUnited Kingdom2025-04-19Dorl, James J Esq QUALIFIED1Bernardo Dominic
1033Stacey K WieserRussia2025-04-13Buckley Miller Wright NEGOTIATION99Onyama Limba
1034Ricardo Z SergiCanada2025-04-12Benton, John B Jr NEW72Onyama Limba
1035David I MorascaRussia2025-04-14Commercial Press UNQUALIFIED56Ioni Bowcher
1036Leon N CaldareraBrazil2025-04-17Buckley Miller Wright UNQUALIFIED5Anna Fali
1037Wickens Y AmigonJapan2025-04-07Commercial Press UNQUALIFIED21Xuxue Feng
1038Johnson Q SchemmerBrazil2025-04-05Benton, John B Jr NEW34Anna Fali
1039Jennifer K SaylorsAustralia2025-04-19Buckley Miller Wright UNQUALIFIED68Anna Fali
1040Juan S NestleCanada2025-04-26Dorl, James J Esq UNQUALIFIED69Amy Elsner
1041Adams E SergiJapan2025-04-22King, Christopher A Esq NEW33Amy Elsner
1042Jefferson N SlusarskiArgentina2025-04-11King, Christopher A Esq UNQUALIFIED48Ivan Magalhaes
1043David G RulapaughGermany2025-04-19Chemel, James L Cpa PROPOSAL5Amy Elsner
1044Johnson S MaletBrazil2025-04-23Morlong Associates UNQUALIFIED49Bernardo Dominic
1045Cody B FerenczUnited Kingdom2025-04-03Chemel, James L Cpa NEW83Anna Fali
1046Deepesh N PaprockiIndia2025-04-14Benton, John B Jr NEGOTIATION1Ioni Bowcher
1047Isabel M MorascaArgentina2025-04-25Chapman, Ross E Esq PROPOSAL54Bernardo Dominic
1048Kadeem C PerinIndia2025-04-09Feltz Printing Service RENEWAL82Ivan Magalhaes
1049Sinclair K TollnerFrance2025-04-05Chapman, Ross E Esq UNQUALIFIED98Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James Q FollerGermanyAnna Fali NEGOTIATION
Julie B GarufiGermanyAsiya Javayant NEW
Chavez Z MarrierFranceOnyama Limba NEW
David C GlickUnited KingdomAnna Fali NEGOTIATION
Silvio Z CampainIndiaAsiya Javayant UNQUALIFIED
Mujtaba E MarrierGermanyBernardo Dominic NEW
Alejandro E DilliardUnited KingdomAnna Fali QUALIFIED
Deepesh K RimIndiaIoni Bowcher NEW
Arvin O PaprockiRussiaElwin Sharvill RENEWAL
Ricardo T ChuiIndiaOnyama Limba NEGOTIATION
Maria A PoquetteJapanIvan Magalhaes QUALIFIED
Ricardo W MaletSpainAsiya Javayant NEGOTIATION
Aruna K WaycottAustraliaStephen Shaw PROPOSAL
Johnson M TollnerCanadaAsiya Javayant QUALIFIED
Stacey X ShinkoCanadaElwin Sharvill NEGOTIATION
Smith D MaletGermanyAnna Fali NEW
Salvatore Q InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Chavez J SlusarskiItalyIvan Magalhaes PROPOSAL
Kaitlin K OstroskyGermanyAnna Fali NEGOTIATION
Tony S WaycottIndiaIvan Magalhaes NEW
Smith P StensethFranceIoni Bowcher NEGOTIATION
Chavez X RutaGermanyAnna Fali RENEWAL
James T PaprockiArgentinaXuxue Feng RENEWAL
Ashley C AmigonIndiaBernardo Dominic NEW
Costa C PaprockiItalyBernardo Dominic NEGOTIATION
Darci W ShinkoGermanyAnna Fali RENEWAL
Emily S FigeroaGermanyOnyama Limba RENEWAL
Maria O CampainJapanAmy Elsner QUALIFIED
Misaki A FollerRussiaBernardo Dominic QUALIFIED
Ricardo O OstroskyIndiaOnyama Limba NEGOTIATION
Maisha J RimCanadaStephen Shaw UNQUALIFIED
Aika G OstroskyRussiaXuxue Feng NEW
Murillo K GlickRussiaAsiya Javayant RENEWAL
Aika Z MarrierFranceStephen Shaw RENEWAL
Kaitlin G KuskoBrazilAnna Fali PROPOSAL
James W RoysterArgentinaOnyama Limba PROPOSAL
Antonio C MaletBrazilOnyama Limba PROPOSAL
Costa T KuskoIndiaAmy Elsner UNQUALIFIED
Chavez Q WieserRussiaAnna Fali QUALIFIED
Kadeem R PerinUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer U FollerArgentinaOnyama Limba QUALIFIED
Ashley X AmigonSpainElwin Sharvill QUALIFIED
Alejandro C OldroydArgentinaAmy Elsner RENEWAL
Wickens Z RoysterUnited KingdomAmy Elsner NEGOTIATION
Ivar K GarufiIndiaStephen Shaw RENEWAL
Chavez P PaprockiIndiaBernardo Dominic NEW
Jeanfrancois F MarrierSpainStephen Shaw RENEWAL
Izzy L StensethUnited KingdomIoni Bowcher NEGOTIATION
Aditya U FerenczArgentinaAnna Fali RENEWAL
Jefferson R MaletArgentinaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Mujtaba H Nicka
Rodrigues R Campain
Ashley Z Perin
Ricardo Z Caudy
Juan O Gillian
Kadeem B Malet
Maria G Oldroyd
Misaki L Malet
Arvin C Stenseth
Alejandro K Slusarski
Chavez J Maclead
Maria C Stenseth
Octavia K Schemmer
Leon I Nestle
Mayumi T Glick
Emily E Paprocki
Ashley W Venere
Aika M Garufi
Adams E Doe
Aditya V Bowley
Arvin I Saylors
Ashley Q Briddick
Johnson L Maclead
Emily A Marrier
Morrow U Ferencz
Morrow D Waycott
Misaki E Inouye
Johnson W Wieser
Wickens A Flosi
Rodrigues B Slusarski
Kaitlin C Garufi
Costa P Poquette
Darci G Paprocki
Nicolas Z Malet
Greenwood I Ostrosky
Cody Q Caudy
Aruna F Ruta
David M Garufi
Aika D Waycott
Chavez A Dilliard
Costa N Perin
Chavez A Foller
Tony F Iturbide
Wickens O Caudy
Francesco B Perin
Johnson F Slusarski
Jones D Maclead
Rodrigues E Dilliard
Octavia W Glick
Greenwood G Perin
IdCountryDate
1000Canada2025-04-01
1001Italy2025-04-25
1002India2025-04-27
1003India2025-04-29
1004India2025-04-22
1005Australia2025-04-27
1006Argentina2025-04-14
1007United Kingdom2025-04-19
1008Germany2025-04-05
1009Japan2025-04-13
1010Argentina2025-04-11
1011Argentina2025-04-18
1012Germany2025-04-18
1013India2025-04-24
1014Canada2025-04-01
1015India2025-04-05
1016Germany2025-04-23
1017Canada2025-04-18
1018Brazil2025-04-16
1019Canada2025-04-17
1020Germany2025-04-13
1021Argentina2025-04-16
1022United Kingdom2025-04-28
1023United Kingdom2025-04-19
1024United Kingdom2025-04-26
1025Russia2025-04-09
1026Brazil2025-04-30
1027Japan2025-04-13
1028Italy2025-04-05
1029Spain2025-04-25
1030Spain2025-04-22
1031India2025-04-14
1032Argentina2025-04-18
1033Germany2025-04-16
1034Brazil2025-04-06
1035France2025-04-06
1036Germany2025-04-24
1037France2025-04-07
1038India2025-04-21
1039Brazil2025-04-22
1040Canada2025-04-07
1041Argentina2025-04-12
1042Brazil2025-04-20
1043Italy2025-04-17
1044France2025-04-01
1045Japan2025-04-17
1046Argentina2025-04-27
1047Italy2025-04-20
1048Canada2025-04-27
1049Italy2025-04-08

On-Demand Data

NameIdCountryDate
Claire T Ferencz1000Russia2025-04-10
Ivar T Bowley1001Spain2025-04-13
Tony L Caldarera1002Brazil2025-04-30
Maria A Figeroa1003Australia2025-04-06
Faith V Slusarski1004United Kingdom2025-04-08
Kaitlin I Stockham1005Australia2025-04-08
Isabel X Stockham1006Spain2025-04-05
Emily A Waycott1007Japan2025-04-18
Murillo G Poquette1008India2025-04-30
Wickens R Whobrey1009Russia2025-04-06
Aditya X Gaucho1010Canada2025-04-09
Aruna W Malet1011United Kingdom2025-04-29
Adams S Kusko1012Spain2025-04-04
Jefferson J Gillian1013Germany2025-04-30
Isabel U Glick1014Russia2025-04-14
Claire A Nicka1015Australia2025-04-22
Maisha W Vocelka1016Argentina2025-04-02
Ivar G Briddick1017Germany2025-04-22
Sinclair M Shinko1018France2025-04-01
Mayumi P Iturbide1019Spain2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire F SergiFranceStephen Shaw PROPOSAL
Maisha J GarufiRussiaAmy Elsner QUALIFIED
Silvio J RoysterGermanyBernardo Dominic NEW
Wickens S GarufiAustraliaIoni Bowcher PROPOSAL
Costa N MacleadBrazilOnyama Limba NEW
Stacey Z RoysterItalyStephen Shaw PROPOSAL
Alejandro Q StockhamSpainAmy Elsner QUALIFIED
Stacey X ChuiAustraliaIvan Magalhaes RENEWAL
Ashley T BologniaFranceIvan Magalhaes UNQUALIFIED
Greenwood X RutaFranceOnyama Limba UNQUALIFIED
Izzy C SergiUnited KingdomAsiya Javayant QUALIFIED
Maisha L NestleIndiaBernardo Dominic RENEWAL
Jennifer U GarufiCanadaIoni Bowcher UNQUALIFIED
Aruna B InouyeBrazilIoni Bowcher QUALIFIED
Ashley B MarrierArgentinaAmy Elsner UNQUALIFIED
Nicolas J RulapaughUnited KingdomStephen Shaw RENEWAL
Julie Y GillianGermanyElwin Sharvill NEGOTIATION
Darci G RutaUnited KingdomOnyama Limba NEGOTIATION
Stacey U TollnerIndiaIvan Magalhaes UNQUALIFIED
Misaki L TollnerItalyOnyama Limba PROPOSAL
Faith I DarakjyArgentinaIvan Magalhaes PROPOSAL
Mujtaba B RulapaughIndiaAsiya Javayant NEW
Claire Z ChuiFranceOnyama Limba NEGOTIATION
Jefferson K OstroskySpainAmy Elsner UNQUALIFIED
Johnson N WaycottBrazilBernardo Dominic PROPOSAL
Leon W CaudyGermanyXuxue Feng NEGOTIATION
Johnson W NestleAustraliaStephen Shaw NEGOTIATION
Francesco T ChuiCanadaAsiya Javayant UNQUALIFIED
Silvio C KolmetzUnited KingdomIvan Magalhaes RENEWAL
James Y BriddickCanadaIoni Bowcher NEGOTIATION
Deepesh J CampainSpainElwin Sharvill NEW
Isabel E GillianIndiaOnyama Limba NEGOTIATION
Cody F KuskoRussiaIvan Magalhaes RENEWAL
Ashley U SaylorsBrazilOnyama Limba RENEWAL
Mujtaba X DoeRussiaAnna Fali UNQUALIFIED
Jennifer B FerenczGermanyElwin Sharvill QUALIFIED
Ricardo Q AlbaresSpainAmy Elsner NEGOTIATION
Faith Q CaudyArgentinaBernardo Dominic QUALIFIED
Jeanfrancois E DilliardRussiaStephen Shaw NEW
Faith K WieserAustraliaElwin 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>