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
Ashley C InouyeCanadaElwin Sharvill RENEWAL
Julie S SaylorsSpainIoni Bowcher NEW
Leon J DoeJapanAmy Elsner UNQUALIFIED
Isabel R NickaUnited KingdomAsiya Javayant PROPOSAL
Sinclair L CampainIndiaOnyama Limba UNQUALIFIED
Ricardo E MaletBrazilAmy Elsner NEGOTIATION
Aika C GlickUnited KingdomBernardo Dominic UNQUALIFIED
Stacey S FollerFranceAsiya Javayant QUALIFIED
Clifford T ChuiSpainIvan Magalhaes QUALIFIED
Adams O OldroydItalyOnyama Limba NEGOTIATION
Ivar D MorascaFranceXuxue Feng NEGOTIATION
Aruna A IturbideIndiaStephen Shaw RENEWAL
Izzy L StockhamFranceOnyama Limba QUALIFIED
Silvio L PoquetteArgentinaIoni Bowcher NEGOTIATION
Stacey O AmigonSpainStephen Shaw RENEWAL
Maria X RoysterCanadaAmy Elsner NEGOTIATION
Jeanfrancois Q MarrierBrazilIvan Magalhaes UNQUALIFIED
David B DoeBrazilOnyama Limba NEGOTIATION
Maria N OstroskyIndiaIvan Magalhaes NEGOTIATION
Sinclair K MacleadGermanyAmy Elsner UNQUALIFIED
Ivar K RutaIndiaXuxue Feng NEW
Wickens T PerinSpainOnyama Limba NEGOTIATION
David O RoysterAustraliaAsiya Javayant UNQUALIFIED
Smith F PoquetteSpainOnyama Limba RENEWAL
Mayumi W KolmetzIndiaStephen Shaw UNQUALIFIED
Deepesh G PerinFranceBernardo Dominic PROPOSAL
Rodrigues Z GillianFranceElwin Sharvill PROPOSAL
Jones Y TollnerBrazilStephen Shaw PROPOSAL
Clifford B RimSpainAmy Elsner NEGOTIATION
Francesco G FerenczGermanyXuxue Feng QUALIFIED
Julie R MarrierRussiaBernardo Dominic PROPOSAL
Smith L FollerBrazilAnna Fali RENEWAL
Faith M PerinArgentinaStephen Shaw QUALIFIED
Arvin Q NestleRussiaAsiya Javayant RENEWAL
Sinclair R StensethBrazilElwin Sharvill NEGOTIATION
Leon W MacleadCanadaXuxue Feng PROPOSAL
Ashley Q MaletArgentinaIoni Bowcher PROPOSAL
Nicolas N WaycottUnited KingdomStephen Shaw NEGOTIATION
Aika Y MaletAustraliaAmy Elsner QUALIFIED
Alejandro U StensethSpainAmy Elsner NEW
Mayumi L ShinkoItalyAmy Elsner NEW
Izzy H BologniaItalyOnyama Limba QUALIFIED
Sinclair T FollerIndiaAnna Fali NEW
Leon L CampainJapanAnna Fali NEGOTIATION
Costa G RoysterSpainAsiya Javayant RENEWAL
Johnson T BologniaItalyIvan Magalhaes NEW
Stacey Q RoysterFranceIoni Bowcher QUALIFIED
Faith B StensethCanadaIoni Bowcher NEW
Kadeem I RulapaughSpainOnyama Limba NEGOTIATION
Stacey W MacleadCanadaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia G RimBrazilAsiya Javayant PROPOSAL
Alejandro V MaletBrazilAsiya Javayant QUALIFIED
Aditya R RimArgentinaStephen Shaw PROPOSAL
Jefferson S VocelkaJapanIoni Bowcher PROPOSAL
Jefferson J FollerRussiaIvan Magalhaes NEGOTIATION
Smith K RutaIndiaAmy Elsner QUALIFIED
Aika H CaldareraGermanyElwin Sharvill NEGOTIATION
Salvatore Q VocelkaItalyElwin Sharvill PROPOSAL
Greenwood I GlickJapanStephen Shaw QUALIFIED
Johnson P ChuiSpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson Y BowleyIndia2024-06-08Benton, John B Jr UNQUALIFIED88Stephen Shaw
1001Isabel G NickaGermany2024-06-07Rousseaux, Michael Esq UNQUALIFIED17Ivan Magalhaes
1002Cody W DarakjyItaly2024-06-16Buckley Miller Wright NEW10Asiya Javayant
1003Ricardo L MorascaCanada2024-06-23Rangoni Of Florence NEGOTIATION87Onyama Limba
1004Faith H SlusarskiUnited Kingdom2024-06-07Rangoni Of Florence PROPOSAL87Bernardo Dominic
1005Octavia J RutaIndia2024-06-02King, Christopher A Esq RENEWAL19Asiya Javayant
1006Jeanfrancois S VocelkaFrance2024-05-27Commercial Press RENEWAL63Asiya Javayant
1007Jones X AlbaresGermany2024-06-10Feltz Printing Service NEGOTIATION85Amy Elsner
1008Jones W VocelkaFrance2024-06-17Feiner Bros RENEWAL67Xuxue Feng
1009Faith R FerenczArgentina2024-06-16Morlong Associates NEW36Amy Elsner
1010Clifford T PerinJapan2024-05-30Rangoni Of Florence QUALIFIED94Onyama Limba
1011Ricardo B ShinkoArgentina2024-06-05Chapman, Ross E Esq NEW88Amy Elsner
1012Silvio S FigeroaCanada2024-06-15Truhlar And Truhlar Attys UNQUALIFIED12Ivan Magalhaes
1013Claire C CaudyCanada2024-05-30Chemel, James L Cpa UNQUALIFIED27Amy Elsner
1014Alejandro X BowleyIndia2024-05-31Chapman, Ross E Esq RENEWAL25Asiya Javayant
1015Darci D PaprockiAustralia2024-06-06Rangoni Of Florence RENEWAL0Ioni Bowcher
1016Wickens P GarufiUnited Kingdom2024-06-14Feltz Printing Service PROPOSAL27Ioni Bowcher
1017Aruna S SergiCanada2024-06-14Truhlar And Truhlar Attys NEGOTIATION98Amy Elsner
1018Deepesh R PaprockiBrazil2024-06-19Printing Dimensions QUALIFIED35Elwin Sharvill
1019Ivar T DarakjySpain2024-06-20Morlong Associates RENEWAL16Onyama Limba
1020Cody M RimUnited Kingdom2024-05-30Feiner Bros PROPOSAL90Elwin Sharvill
1021Kaitlin B MacleadCanada2024-06-05King, Christopher A Esq NEGOTIATION28Ioni Bowcher
1022Jones D IturbideJapan2024-05-28Buckley Miller Wright QUALIFIED51Asiya Javayant
1023Cody O RimRussia2024-06-17Buckley Miller Wright RENEWAL83Asiya Javayant
1024Faith Z BriddickBrazil2024-06-16Commercial Press PROPOSAL74Onyama Limba
1025Mayumi S GlickArgentina2024-06-01Benton, John B Jr PROPOSAL48Ivan Magalhaes
1026Adams K MorascaJapan2024-06-12Dorl, James J Esq NEW6Elwin Sharvill
1027Antonio N GarufiJapan2024-06-20Morlong Associates PROPOSAL63Onyama Limba
1028Octavia G AmigonIndia2024-06-11Commercial Press QUALIFIED67Ioni Bowcher
1029Clifford G NickaFrance2024-06-12Dorl, James J Esq QUALIFIED76Amy Elsner
1030Murillo S NickaAustralia2024-06-16Morlong Associates UNQUALIFIED82Ioni Bowcher
1031Faith E WieserArgentina2024-06-08Morlong Associates RENEWAL79Asiya Javayant
1032Julie S KuskoRussia2024-06-18Benton, John B Jr PROPOSAL95Ivan Magalhaes
1033Isabel J WieserGermany2024-06-23Feiner Bros NEW44Anna Fali
1034Juan U GillianFrance2024-06-11Truhlar And Truhlar Attys QUALIFIED99Onyama Limba
1035Tony I OstroskyJapan2024-05-30Chapman, Ross E Esq PROPOSAL56Ivan Magalhaes
1036Clifford G FollerFrance2024-06-07Feltz Printing Service QUALIFIED16Onyama Limba
1037Emily Y BowleyArgentina2024-06-12King, Christopher A Esq UNQUALIFIED25Anna Fali
1038Darci N AmigonRussia2024-06-12Buckley Miller Wright NEW16Amy Elsner
1039Isabel O RulapaughSpain2024-05-26Feiner Bros UNQUALIFIED84Ivan Magalhaes
1040Smith L SergiUnited Kingdom2024-06-13Chemel, James L Cpa PROPOSAL39Xuxue Feng
1041Ricardo B FerenczGermany2024-06-12Chapman, Ross E Esq PROPOSAL84Asiya Javayant
1042Antonio N FigeroaIndia2024-06-22King, Christopher A Esq NEW54Ivan Magalhaes
1043Rodrigues E MorascaJapan2024-06-03Rangoni Of Florence UNQUALIFIED60Ivan Magalhaes
1044Alejandro J MarrierJapan2024-06-16Benton, John B Jr NEW32Asiya Javayant
1045Maisha U MaletCanada2024-06-18Printing Dimensions NEGOTIATION41Ioni Bowcher
1046Costa Z FlosiFrance2024-05-27Chanay, Jeffrey A Esq NEW83Ioni Bowcher
1047Faith X GlickArgentina2024-06-22Dorl, James J Esq NEW26Xuxue Feng
1048Mayumi D StockhamItaly2024-06-10Buckley Miller Wright RENEWAL93Xuxue Feng
1049Faith U BriddickCanada2024-06-24Feltz Printing Service NEW98Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Julie U NickaJapanOnyama Limba PROPOSAL
Clifford K KuskoAustraliaElwin Sharvill UNQUALIFIED
Maria S TollnerAustraliaStephen Shaw RENEWAL
Julie B BologniaCanadaStephen Shaw RENEWAL
Johnson F PaprockiBrazilOnyama Limba QUALIFIED
Ivar E FigeroaJapanStephen Shaw NEW
Julie W RimItalyElwin Sharvill UNQUALIFIED
David Q WhobreyBrazilStephen Shaw PROPOSAL
Faith K BologniaJapanElwin Sharvill NEW
Kadeem A WieserJapanElwin Sharvill QUALIFIED
Aditya R OldroydAustraliaElwin Sharvill NEW
David D InouyeBrazilAsiya Javayant PROPOSAL
Darci Q FollerJapanOnyama Limba PROPOSAL
Johnson K FlosiFranceXuxue Feng NEGOTIATION
Jones J AlbaresAustraliaBernardo Dominic PROPOSAL
Nicolas O PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Claire K DarakjyJapanStephen Shaw RENEWAL
Aditya A PaprockiCanadaAsiya Javayant NEGOTIATION
Rodrigues A PerinItalyStephen Shaw RENEWAL
Jennifer V RutaAustraliaOnyama Limba UNQUALIFIED
Ivar K WaycottJapanAmy Elsner NEW
Rodrigues N SergiArgentinaXuxue Feng PROPOSAL
Aika Z NestleArgentinaAnna Fali QUALIFIED
Tony H RutaGermanyIvan Magalhaes RENEWAL
Isabel E OldroydUnited KingdomOnyama Limba RENEWAL
Silvio S RimBrazilStephen Shaw QUALIFIED
Aruna S MaletCanadaOnyama Limba NEGOTIATION
Jennifer N ChuiUnited KingdomXuxue Feng QUALIFIED
Deepesh K RutaFranceIvan Magalhaes NEGOTIATION
Antonio G NickaArgentinaAnna Fali NEW
Kaitlin B AlbaresGermanyStephen Shaw RENEWAL
Ashley Q PoquetteUnited KingdomAnna Fali UNQUALIFIED
Maisha R MarrierIndiaBernardo Dominic QUALIFIED
Wickens K KuskoSpainOnyama Limba UNQUALIFIED
Ivar O WieserFranceAmy Elsner NEW
Cody X ChuiJapanOnyama Limba NEW
Julie O RoysterUnited KingdomXuxue Feng PROPOSAL
Antonio D CaudyRussiaBernardo Dominic NEW
Maisha E ChuiJapanXuxue Feng PROPOSAL
Costa T StensethBrazilElwin Sharvill QUALIFIED
Leon S SlusarskiRussiaBernardo Dominic NEGOTIATION
Clifford N WaycottAustraliaIoni Bowcher NEW
Misaki G SaylorsRussiaAnna Fali RENEWAL
Wickens V CampainArgentinaAmy Elsner NEGOTIATION
Costa L DoeIndiaAnna Fali NEGOTIATION
Greenwood D MacleadUnited KingdomIoni Bowcher UNQUALIFIED
James Z BologniaUnited KingdomIoni Bowcher RENEWAL
David B MarrierJapanAnna Fali QUALIFIED
Maria H KolmetzRussiaAsiya Javayant NEGOTIATION
Tony H MaletSpainStephen Shaw QUALIFIED
Frozen Columns
Name
Mayumi A Bolognia
Isabel S Tollner
Faith X Nicka
Darci L Tollner
Emily X Venere
Clifford E Wieser
Aruna F Darakjy
Adams J Kolmetz
Maisha S Ruta
Faith Z Stenseth
Costa E Shinko
Murillo A Gillian
Ashley P Royster
Mayumi G Chui
Leja C Rulapaugh
Leon J Glick
Kaitlin B Garufi
Ivar X Paprocki
Izzy X Butt
Izzy K Amigon
David N Campain
Stacey Q Campain
Emily G Schemmer
Mayumi L Kolmetz
Kadeem H Ruta
Nicolas S Paprocki
Tony R Kolmetz
Mujtaba Z Nicka
Ashley M Ferencz
Francesco W Morasca
Julie P Gillian
Nicolas T Briddick
Costa F Ruta
Ashley U Perin
Emily K Garufi
Sinclair Z Wieser
Maisha O Oldroyd
Sinclair S Marrier
Wickens U Doe
Deepesh I Gaucho
Francesco B Briddick
Chavez D Wieser
Jones T Doe
Adams V Whobrey
Alejandro R Morasca
Aditya V Waycott
Adams I Maclead
Chavez E Malet
Salvatore I Poquette
Aruna W Doe
IdCountryDate
1000Germany2024-06-04
1001Argentina2024-06-09
1002Italy2024-06-01
1003Italy2024-06-04
1004France2024-06-18
1005Italy2024-06-13
1006Spain2024-05-28
1007Italy2024-06-01
1008Brazil2024-06-16
1009Brazil2024-06-09
1010Argentina2024-05-30
1011Japan2024-06-23
1012Brazil2024-06-20
1013Spain2024-06-04
1014Australia2024-06-02
1015Germany2024-06-03
1016Spain2024-06-09
1017Italy2024-06-05
1018Brazil2024-05-27
1019United Kingdom2024-06-21
1020Germany2024-06-05
1021Brazil2024-06-15
1022Russia2024-06-02
1023Germany2024-06-08
1024Italy2024-06-14
1025Russia2024-05-30
1026Brazil2024-06-21
1027Russia2024-06-20
1028Argentina2024-05-31
1029Australia2024-06-17
1030Australia2024-06-23
1031Argentina2024-06-21
1032Spain2024-06-03
1033Japan2024-06-14
1034Japan2024-06-11
1035Spain2024-06-19
1036Brazil2024-06-20
1037France2024-06-02
1038Canada2024-06-06
1039Brazil2024-06-10
1040India2024-06-02
1041India2024-06-09
1042Spain2024-06-02
1043France2024-06-23
1044Spain2024-06-14
1045Italy2024-06-10
1046France2024-05-31
1047Brazil2024-06-16
1048United Kingdom2024-06-16
1049Russia2024-06-09

On-Demand Data

NameIdCountryDate
Cody P Flosi1000Russia2024-06-09
Ivar L Nicka1001Germany2024-06-14
Kaitlin H Rim1002India2024-05-28
Alejandro P Saylors1003Germany2024-06-10
Leja N Vocelka1004Russia2024-06-03
Arvin G Perin1005Argentina2024-06-07
Nicolas M Amigon1006Russia2024-06-02
Jeanfrancois G Wieser1007France2024-06-05
Johnson F Poquette1008Spain2024-06-02
Darci N Schemmer1009Russia2024-06-22
Nicolas D Oldroyd1010Australia2024-06-06
Ricardo N Ostrosky1011Australia2024-05-26
Chavez I Malet1012Spain2024-05-30
Munro U Kolmetz1013Australia2024-06-17
Salvatore P Gillian1014Brazil2024-06-10
Clifford K Amigon1015Canada2024-06-13
Isabel G Dilliard1016Germany2024-06-06
Darci N Stenseth1017France2024-06-11
Aruna I Kolmetz1018Australia2024-06-16
Deepesh H Chui1019India2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Y BologniaGermanyAmy Elsner RENEWAL
Clifford O ButtBrazilBernardo Dominic PROPOSAL
Faith G FigeroaRussiaIoni Bowcher RENEWAL
Murillo Y WhobreyGermanyBernardo Dominic UNQUALIFIED
Arvin P NickaCanadaAnna Fali NEGOTIATION
Stacey O RutaArgentinaIvan Magalhaes RENEWAL
Leja G RimRussiaAnna Fali RENEWAL
Mayumi D MacleadIndiaAsiya Javayant NEGOTIATION
Wickens I MarrierFranceAsiya Javayant PROPOSAL
Salvatore M BologniaRussiaBernardo Dominic PROPOSAL
Silvio Y DoeRussiaOnyama Limba NEGOTIATION
Ricardo T ShinkoAustraliaAmy Elsner PROPOSAL
Isabel Y NickaUnited KingdomXuxue Feng QUALIFIED
Aika E MacleadIndiaBernardo Dominic PROPOSAL
Aika N GauchoUnited KingdomIvan Magalhaes PROPOSAL
Misaki L TollnerJapanStephen Shaw NEW
Kaitlin K RimGermanyIoni Bowcher RENEWAL
Chavez Z KolmetzArgentinaAmy Elsner RENEWAL
Clifford N StensethRussiaAnna Fali NEGOTIATION
David V DilliardCanadaAsiya Javayant RENEWAL
Silvio T CaldareraSpainOnyama Limba PROPOSAL
Maisha M StensethBrazilElwin Sharvill NEW
Darci Z FigeroaSpainXuxue Feng PROPOSAL
Aruna V WaycottSpainAsiya Javayant UNQUALIFIED
David N MaletItalyAmy Elsner UNQUALIFIED
Jones A DilliardCanadaIoni Bowcher PROPOSAL
Cody W FerenczArgentinaAnna Fali NEGOTIATION
Octavia U AlbaresAustraliaOnyama Limba RENEWAL
Ricardo S DoeItalyStephen Shaw PROPOSAL
Munro A DarakjyUnited KingdomElwin Sharvill QUALIFIED
Clifford C PoquetteGermanyIoni Bowcher PROPOSAL
Smith W KuskoFranceIoni Bowcher RENEWAL
Silvio W InouyeItalyAsiya Javayant UNQUALIFIED
Ashley Z ChuiArgentinaAmy Elsner NEW
Silvio B CaldareraCanadaAnna Fali NEW
Isabel U DarakjyItalyAsiya Javayant PROPOSAL
Claire B RoysterFranceStephen Shaw NEGOTIATION
Ivar I DilliardFranceBernardo Dominic QUALIFIED
Octavia O BriddickIndiaOnyama Limba RENEWAL
Jennifer C CampainFranceAnna Fali QUALIFIED

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