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
Ivar V FlosiBrazilAsiya Javayant PROPOSAL
Munro E GillianJapanElwin Sharvill NEW
Leon O FigeroaArgentinaXuxue Feng RENEWAL
Juan C MorascaCanadaAsiya Javayant QUALIFIED
Greenwood F GauchoGermanyAnna Fali NEGOTIATION
Sinclair D NestleRussiaAmy Elsner PROPOSAL
James E GauchoIndiaIoni Bowcher QUALIFIED
Wickens F OstroskyArgentinaIvan Magalhaes QUALIFIED
Johnson M DilliardArgentinaIoni Bowcher QUALIFIED
Jefferson Q RutaIndiaXuxue Feng NEW
Wickens D PoquetteIndiaStephen Shaw NEW
Sinclair R ChuiGermanyIvan Magalhaes NEGOTIATION
Jennifer X MacleadArgentinaAsiya Javayant UNQUALIFIED
Ricardo X BowleyJapanIoni Bowcher QUALIFIED
Clifford T InouyeFranceElwin Sharvill QUALIFIED
Smith Q GauchoIndiaStephen Shaw PROPOSAL
Kaitlin A RoysterAustraliaBernardo Dominic NEW
Cody A SergiItalyAnna Fali RENEWAL
Antonio R TollnerJapanXuxue Feng RENEWAL
Izzy I OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas U KolmetzFranceAsiya Javayant NEW
Juan H PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Emily L FerenczCanadaIvan Magalhaes RENEWAL
Misaki K RimJapanAnna Fali UNQUALIFIED
Antonio F DilliardCanadaAsiya Javayant NEGOTIATION
Greenwood T PoquetteBrazilAmy Elsner UNQUALIFIED
Deepesh Y OstroskyArgentinaAmy Elsner QUALIFIED
Mayumi U VocelkaRussiaXuxue Feng NEGOTIATION
Aditya G FerenczFranceXuxue Feng QUALIFIED
Jefferson U RimArgentinaStephen Shaw QUALIFIED
Tony M WhobreyItalyBernardo Dominic NEW
Aditya H FerenczCanadaOnyama Limba QUALIFIED
Kaitlin G StensethArgentinaAsiya Javayant UNQUALIFIED
Darci Z ShinkoArgentinaIvan Magalhaes NEW
Sinclair B WhobreyBrazilAnna Fali NEW
Darci C TollnerAustraliaOnyama Limba NEGOTIATION
Mayumi P MaletAustraliaAnna Fali QUALIFIED
Misaki J AlbaresCanadaElwin Sharvill UNQUALIFIED
Rodrigues M MaletCanadaElwin Sharvill PROPOSAL
James Y BriddickGermanyAmy Elsner PROPOSAL
Smith X GillianItalyAnna Fali NEW
Sinclair X AlbaresGermanyElwin Sharvill NEGOTIATION
Isabel R MorascaFranceAmy Elsner UNQUALIFIED
Morrow X CaldareraSpainAsiya Javayant PROPOSAL
Darci T DarakjyFranceOnyama Limba QUALIFIED
Smith M InouyeArgentinaBernardo Dominic NEW
Isabel R WaycottItalyOnyama Limba NEW
Clifford P VenereItalyStephen Shaw RENEWAL
Emily E CaudyCanadaIvan Magalhaes RENEWAL
Costa B GauchoAustraliaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams Z VocelkaIndiaOnyama Limba RENEWAL
Leon H ButtBrazilOnyama Limba PROPOSAL
Nicolas B WieserFranceBernardo Dominic NEGOTIATION
Stacey E CaudyItalyIoni Bowcher PROPOSAL
Adams C DoeCanadaElwin Sharvill NEGOTIATION
Mujtaba X MaletArgentinaAnna Fali PROPOSAL
Jefferson J TollnerAustraliaBernardo Dominic PROPOSAL
Aditya K DarakjyFranceAmy Elsner RENEWAL
Julie G PerinAustraliaElwin Sharvill UNQUALIFIED
Arvin T OldroydIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams M CampainSpain2026-08-06Rousseaux, Michael Esq QUALIFIED28Anna Fali
1001Greenwood P RutaGermany2026-08-10Benton, John B Jr NEW81Anna Fali
1002Jeanfrancois I BriddickSpain2026-08-15Dorl, James J Esq NEGOTIATION88Anna Fali
1003Emily X WhobreyIndia2026-07-24Dorl, James J Esq PROPOSAL80Elwin Sharvill
1004Leon U PerinFrance2026-08-07Chapman, Ross E Esq NEGOTIATION29Asiya Javayant
1005Maria Q CaldareraAustralia2026-08-03Feltz Printing Service NEW81Anna Fali
1006Deepesh F MorascaRussia2026-08-09Feltz Printing Service PROPOSAL80Xuxue Feng
1007Aika E FollerGermany2026-08-10Buckley Miller Wright NEW96Stephen Shaw
1008Jeanfrancois T FollerAustralia2026-08-06Feltz Printing Service NEW78Asiya Javayant
1009Emily C WaycottFrance2026-08-04Dorl, James J Esq RENEWAL99Asiya Javayant
1010Misaki P PaprockiJapan2026-07-30Feiner Bros QUALIFIED5Anna Fali
1011Cody A IturbideSpain2026-07-26Dorl, James J Esq RENEWAL87Stephen Shaw
1012Tony C FlosiSpain2026-08-16Chemel, James L Cpa PROPOSAL23Ioni Bowcher
1013Chavez A NestleIndia2026-08-05Buckley Miller Wright NEW71Xuxue Feng
1014Aditya J AmigonFrance2026-08-14King, Christopher A Esq PROPOSAL5Bernardo Dominic
1015Leja F OstroskyAustralia2026-08-19Chapman, Ross E Esq RENEWAL12Xuxue Feng
1016Johnson Z ShinkoArgentina2026-07-26King, Christopher A Esq UNQUALIFIED82Elwin Sharvill
1017Murillo M KolmetzRussia2026-07-26Feiner Bros NEGOTIATION24Xuxue Feng
1018Aruna Y PerinUnited Kingdom2026-08-11Feltz Printing Service RENEWAL28Ioni Bowcher
1019Antonio W KolmetzArgentina2026-08-15Commercial Press UNQUALIFIED49Ivan Magalhaes
1020Munro R SchemmerCanada2026-08-17Truhlar And Truhlar Attys UNQUALIFIED9Ivan Magalhaes
1021Kadeem Z PoquetteJapan2026-08-02Buckley Miller Wright UNQUALIFIED87Xuxue Feng
1022Misaki E VocelkaAustralia2026-08-08Printing Dimensions PROPOSAL58Ivan Magalhaes
1023Aruna R ChuiItaly2026-07-29Chemel, James L Cpa RENEWAL93Asiya Javayant
1024Mayumi Q TollnerIndia2026-08-17Rousseaux, Michael Esq PROPOSAL15Bernardo Dominic
1025Julie L FlosiAustralia2026-07-29Rousseaux, Michael Esq RENEWAL42Ivan Magalhaes
1026Mayumi M WieserItaly2026-07-30Printing Dimensions QUALIFIED1Asiya Javayant
1027Ricardo L SchemmerCanada2026-08-14Rousseaux, Michael Esq RENEWAL92Anna Fali
1028Arvin V ShinkoCanada2026-08-06Commercial Press PROPOSAL61Bernardo Dominic
1029Octavia Y DilliardJapan2026-08-10Truhlar And Truhlar Attys QUALIFIED9Ioni Bowcher
1030Mujtaba S DilliardGermany2026-08-03Morlong Associates UNQUALIFIED98Ioni Bowcher
1031Isabel G PerinSpain2026-08-18Rousseaux, Michael Esq NEW99Asiya Javayant
1032Emily B AmigonFrance2026-07-29Chapman, Ross E Esq UNQUALIFIED93Onyama Limba
1033Silvio V RimGermany2026-08-06Benton, John B Jr NEGOTIATION78Bernardo Dominic
1034Francesco R KuskoSpain2026-08-02Dorl, James J Esq QUALIFIED66Onyama Limba
1035Mujtaba J BriddickIndia2026-08-10Feiner Bros NEW5Bernardo Dominic
1036Alejandro P StockhamItaly2026-08-13Chapman, Ross E Esq UNQUALIFIED25Bernardo Dominic
1037Aruna I DoeUnited Kingdom2026-08-16Dorl, James J Esq NEW89Anna Fali
1038Adams N ShinkoSpain2026-08-17Commercial Press NEGOTIATION62Amy Elsner
1039Arvin P DarakjyRussia2026-08-16Chapman, Ross E Esq NEW7Anna Fali
1040Tony O FlosiUnited Kingdom2026-08-10Rangoni Of Florence NEGOTIATION34Asiya Javayant
1041Salvatore X MorascaAustralia2026-07-25King, Christopher A Esq QUALIFIED99Xuxue Feng
1042Maisha W MarrierAustralia2026-08-19Printing Dimensions RENEWAL82Ioni Bowcher
1043Arvin D InouyeIndia2026-08-18Rousseaux, Michael Esq NEW79Amy Elsner
1044Faith W AlbaresIndia2026-07-25Buckley Miller Wright PROPOSAL4Asiya Javayant
1045Jefferson M ChuiBrazil2026-07-30Chapman, Ross E Esq NEW33Asiya Javayant
1046Morrow A SaylorsJapan2026-08-05Truhlar And Truhlar Attys PROPOSAL9Ioni Bowcher
1047Ricardo T AlbaresFrance2026-08-05Chemel, James L Cpa QUALIFIED85Amy Elsner
1048Costa E OldroydRussia2026-08-03Chemel, James L Cpa UNQUALIFIED37Stephen Shaw
1049Misaki B IturbideFrance2026-08-11King, Christopher A Esq NEGOTIATION84Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Costa X KolmetzSpainIoni Bowcher NEW
Ivar D InouyeAustraliaStephen Shaw NEGOTIATION
Ashley W StockhamSpainBernardo Dominic NEGOTIATION
Smith P OldroydIndiaIoni Bowcher RENEWAL
Ivar W WieserFranceXuxue Feng UNQUALIFIED
James K PaprockiUnited KingdomElwin Sharvill RENEWAL
Misaki E BologniaFranceStephen Shaw NEGOTIATION
Julie U GillianItalyElwin Sharvill QUALIFIED
Nicolas L AmigonArgentinaIoni Bowcher RENEWAL
Emily U PoquetteUnited KingdomIvan Magalhaes RENEWAL
Chavez M VocelkaSpainAnna Fali UNQUALIFIED
Maria Q OldroydSpainBernardo Dominic UNQUALIFIED
Wickens H DilliardArgentinaStephen Shaw NEGOTIATION
Alejandro O BologniaSpainOnyama Limba PROPOSAL
Antonio Y GauchoBrazilOnyama Limba QUALIFIED
Tony W FerenczGermanyAnna Fali RENEWAL
Smith T CaldareraIndiaStephen Shaw RENEWAL
Maisha G RoysterGermanyIoni Bowcher QUALIFIED
Kadeem S BologniaItalyBernardo Dominic PROPOSAL
James Q RimIndiaElwin Sharvill NEGOTIATION
Arvin Y BologniaItalyStephen Shaw RENEWAL
Maisha W FlosiCanadaStephen Shaw UNQUALIFIED
Julie R BowleyGermanyElwin Sharvill NEW
Rodrigues K FerenczFranceIoni Bowcher QUALIFIED
Isabel K OldroydItalyXuxue Feng RENEWAL
Octavia M GauchoIndiaAsiya Javayant NEW
Nicolas S ButtIndiaIoni Bowcher PROPOSAL
Silvio G SlusarskiFranceStephen Shaw QUALIFIED
Aditya I IturbideGermanyElwin Sharvill UNQUALIFIED
Cody X MaletBrazilXuxue Feng UNQUALIFIED
Francesco I MarrierAustraliaXuxue Feng NEGOTIATION
Kaitlin R RulapaughCanadaIvan Magalhaes QUALIFIED
Mujtaba W GarufiIndiaAnna Fali QUALIFIED
Arvin G WieserJapanAsiya Javayant PROPOSAL
Octavia D FigeroaSpainStephen Shaw NEW
Jennifer L NickaUnited KingdomIvan Magalhaes QUALIFIED
Jones A InouyeJapanStephen Shaw UNQUALIFIED
Adams Q CaudyIndiaStephen Shaw PROPOSAL
Alejandro B MaletFranceAnna Fali PROPOSAL
Kadeem I RulapaughCanadaBernardo Dominic RENEWAL
Claire E FerenczGermanyStephen Shaw NEW
Francesco S FlosiRussiaStephen Shaw NEW
Leja A RulapaughSpainIvan Magalhaes NEGOTIATION
Leon V ShinkoFranceAmy Elsner QUALIFIED
Octavia T DarakjyIndiaAsiya Javayant QUALIFIED
Octavia G TollnerCanadaStephen Shaw RENEWAL
Morrow J CampainCanadaAmy Elsner NEW
Ashley T BowleySpainAnna Fali PROPOSAL
Jones Y StensethSpainOnyama Limba RENEWAL
Mujtaba L DoeIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Ashley M Figeroa
Greenwood S Perin
Murillo G Darakjy
Adams N Ostrosky
Tony P Waycott
Alejandro R Doe
Maria D Rulapaugh
Francesco Q Poquette
Smith I Shinko
Maria L Gillian
Leon T Poquette
Ivar Z Rulapaugh
Chavez K Kolmetz
Rodrigues K Nestle
Maisha O Royster
Julie O Schemmer
Octavia R Rim
Tony C Stenseth
Ivar F Wieser
Nicolas K Bolognia
Alejandro C Campain
Ashley E Sergi
Deepesh I Rim
Ricardo D Schemmer
Juan O Gaucho
Kaitlin V Poquette
Alejandro N Doe
Ashley K Rulapaugh
Wickens C Ostrosky
Aruna D Gillian
Deepesh O Ruta
Ivar S Caldarera
Kaitlin C Shinko
Aika N Flosi
David J Nestle
Rodrigues F Whobrey
Francesco L Wieser
Aika X Stockham
Alejandro E Rim
James X Marrier
Aruna Q Venere
Munro U Oldroyd
Munro X Stockham
Kaitlin T Perin
Ricardo B Venere
Alejandro Y Sergi
Wickens F Wieser
Jennifer M Kusko
Maisha V Gillian
Leja L Bolognia
IdCountryDate
1000Japan2026-08-16
1001Russia2026-07-23
1002Germany2026-08-15
1003Argentina2026-08-06
1004Spain2026-08-15
1005Canada2026-08-17
1006Spain2026-08-18
1007India2026-08-20
1008Japan2026-07-30
1009Argentina2026-08-13
1010Spain2026-08-09
1011Japan2026-08-03
1012Russia2026-07-25
1013India2026-08-17
1014Australia2026-08-13
1015Australia2026-08-06
1016Australia2026-08-16
1017Argentina2026-07-25
1018Russia2026-08-17
1019United Kingdom2026-08-11
1020Spain2026-07-29
1021Germany2026-08-01
1022Italy2026-07-27
1023Brazil2026-08-09
1024United Kingdom2026-07-30
1025Australia2026-08-10
1026Spain2026-08-11
1027Russia2026-08-04
1028France2026-07-22
1029Canada2026-08-15
1030Russia2026-08-03
1031Germany2026-07-30
1032Spain2026-07-22
1033Brazil2026-08-11
1034Russia2026-07-24
1035Italy2026-08-04
1036United Kingdom2026-08-10
1037France2026-08-03
1038France2026-08-16
1039Australia2026-07-22
1040Russia2026-08-17
1041Italy2026-08-13
1042Canada2026-08-19
1043United Kingdom2026-08-17
1044Brazil2026-08-13
1045Australia2026-07-22
1046Germany2026-08-16
1047Russia2026-08-09
1048France2026-08-13
1049Australia2026-08-18

On-Demand Data

NameIdCountryDate
Adams I Stenseth1000Japan2026-08-09
Murillo O Royster1001Spain2026-08-05
Cody J Iturbide1002Spain2026-07-27
Greenwood R Gaucho1003India2026-08-02
Antonio V Marrier1004United Kingdom2026-07-30
Ricardo M Ferencz1005Italy2026-07-29
Kadeem V Tollner1006Canada2026-07-27
Greenwood G Maclead1007Australia2026-07-31
Kadeem V Malet1008Japan2026-08-11
Leon I Malet1009Japan2026-08-05
Darci L Slusarski1010Italy2026-08-05
Aika P Gaucho1011Japan2026-08-12
Sinclair T Rulapaugh1012Australia2026-08-16
Kaitlin D Briddick1013Italy2026-08-01
Tony Z Chui1014France2026-07-27
Murillo C Stenseth1015Russia2026-08-01
Munro G Figeroa1016Spain2026-08-14
Chavez V Nestle1017Spain2026-08-11
Stacey J Waycott1018Germany2026-07-29
David G Campain1019Italy2026-08-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon G CampainFranceAmy Elsner UNQUALIFIED
Jeanfrancois S DarakjyFranceStephen Shaw UNQUALIFIED
Ivar P CaudySpainBernardo Dominic RENEWAL
Jones H ShinkoAustraliaIoni Bowcher NEW
Mujtaba T KuskoBrazilAnna Fali PROPOSAL
Smith N VocelkaIndiaBernardo Dominic QUALIFIED
Octavia U GauchoGermanyXuxue Feng NEW
James B GillianBrazilAmy Elsner NEGOTIATION
Jennifer H MarrierCanadaIoni Bowcher UNQUALIFIED
Mujtaba A MarrierFranceStephen Shaw NEGOTIATION
Julie U BowleyJapanAmy Elsner NEGOTIATION
Costa S BowleyRussiaStephen Shaw QUALIFIED
Kadeem T StockhamJapanBernardo Dominic RENEWAL
Tony E PoquetteAustraliaStephen Shaw QUALIFIED
Stacey H AlbaresIndiaIoni Bowcher UNQUALIFIED
Alejandro M CampainArgentinaIoni Bowcher RENEWAL
David K MacleadArgentinaIoni Bowcher PROPOSAL
Octavia B ChuiArgentinaBernardo Dominic QUALIFIED
Stacey J ShinkoRussiaOnyama Limba RENEWAL
Misaki W GarufiItalyBernardo Dominic NEGOTIATION
Murillo M OldroydAustraliaXuxue Feng PROPOSAL
Ivar Q WhobreyItalyStephen Shaw UNQUALIFIED
Jennifer N WieserJapanAnna Fali NEW
Silvio L WhobreyBrazilAmy Elsner QUALIFIED
Emily O DoeBrazilIvan Magalhaes NEW
Kadeem F SaylorsFranceOnyama Limba QUALIFIED
Clifford A VocelkaGermanyXuxue Feng RENEWAL
Adams T KuskoSpainIoni Bowcher PROPOSAL
Misaki U GlickRussiaElwin Sharvill NEW
Octavia V ButtFranceOnyama Limba UNQUALIFIED
Izzy Y FerenczItalyAnna Fali NEGOTIATION
Octavia O WieserAustraliaAmy Elsner NEW
James T FigeroaCanadaAnna Fali NEGOTIATION
Deepesh V RulapaughAustraliaXuxue Feng QUALIFIED
Johnson W RutaRussiaAmy Elsner PROPOSAL
Octavia B CaldareraArgentinaOnyama Limba NEW
Wickens X IturbideFranceOnyama Limba UNQUALIFIED
Clifford I TollnerJapanAsiya Javayant PROPOSAL
Jones E DarakjyJapanElwin Sharvill PROPOSAL
Nicolas F RutaUnited KingdomAsiya Javayant PROPOSAL

<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>