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 Z BowleyFranceAsiya Javayant PROPOSAL
Antonio H DilliardFranceOnyama Limba UNQUALIFIED
Izzy Y InouyeAustraliaIoni Bowcher RENEWAL
Kaitlin V SchemmerSpainAmy Elsner UNQUALIFIED
Aika Z BowleyAustraliaBernardo Dominic PROPOSAL
Claire O FlosiJapanIoni Bowcher UNQUALIFIED
Kaitlin Y DarakjyJapanXuxue Feng QUALIFIED
Silvio F GauchoGermanyXuxue Feng QUALIFIED
Sinclair E KuskoJapanAmy Elsner QUALIFIED
Nicolas N KuskoIndiaXuxue Feng UNQUALIFIED
Misaki E AlbaresIndiaStephen Shaw NEGOTIATION
Misaki C FigeroaArgentinaAmy Elsner UNQUALIFIED
Munro B AlbaresRussiaAnna Fali UNQUALIFIED
Francesco N RulapaughBrazilXuxue Feng PROPOSAL
Rodrigues G OstroskyBrazilIvan Magalhaes PROPOSAL
Smith J CaldareraRussiaOnyama Limba UNQUALIFIED
Jennifer I GarufiRussiaStephen Shaw NEW
Maria J AmigonArgentinaXuxue Feng UNQUALIFIED
Aditya U BriddickItalyOnyama Limba PROPOSAL
Munro V SaylorsGermanyStephen Shaw QUALIFIED
Ashley O MaletIndiaIvan Magalhaes PROPOSAL
Maisha H WhobreyJapanElwin Sharvill NEW
Sinclair E WieserArgentinaElwin Sharvill NEGOTIATION
Aditya E IturbideArgentinaXuxue Feng PROPOSAL
Octavia Y ButtFranceStephen Shaw PROPOSAL
Stacey R MaletIndiaIoni Bowcher NEGOTIATION
Clifford H TollnerRussiaIvan Magalhaes QUALIFIED
Ivar E MaletCanadaOnyama Limba NEGOTIATION
Clifford N InouyeRussiaAsiya Javayant PROPOSAL
Stacey T StockhamBrazilIoni Bowcher RENEWAL
Salvatore A DoeUnited KingdomStephen Shaw RENEWAL
Munro B CampainItalyElwin Sharvill NEW
Juan B MaletAustraliaAmy Elsner QUALIFIED
Julie M MacleadJapanElwin Sharvill RENEWAL
Alejandro C MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem P StensethArgentinaXuxue Feng PROPOSAL
Claire E VenereSpainOnyama Limba NEGOTIATION
Greenwood E SchemmerBrazilAsiya Javayant PROPOSAL
Aika P WaycottUnited KingdomAsiya Javayant PROPOSAL
Smith S AlbaresJapanAnna Fali PROPOSAL
Arvin T ChuiAustraliaAmy Elsner RENEWAL
Ashley V FerenczBrazilAnna Fali PROPOSAL
David H PaprockiGermanyBernardo Dominic RENEWAL
Jennifer A NickaSpainAmy Elsner UNQUALIFIED
Nicolas Z MaletItalyAsiya Javayant NEW
Leja N IturbideGermanyOnyama Limba RENEWAL
Claire A RimJapanAsiya Javayant UNQUALIFIED
Jeanfrancois Y FerenczCanadaStephen Shaw NEGOTIATION
Maisha B WieserRussiaAsiya Javayant UNQUALIFIED
Juan X PerinSpainAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Cody H RulapaughRussiaAnna Fali QUALIFIED
Ashley E DilliardCanadaAmy Elsner RENEWAL
Maisha P DilliardGermanyOnyama Limba UNQUALIFIED
Arvin Z KolmetzCanadaAsiya Javayant UNQUALIFIED
Wickens B KolmetzSpainAsiya Javayant NEGOTIATION
Jones S FigeroaBrazilIoni Bowcher NEGOTIATION
Aruna N RoysterSpainXuxue Feng PROPOSAL
Murillo L FlosiAustraliaBernardo Dominic PROPOSAL
Smith M TollnerArgentinaStephen Shaw RENEWAL
Julie V OldroydAustraliaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues F RimCanada2024-06-24Morlong Associates QUALIFIED31Ivan Magalhaes
1001Ricardo W MaletIndia2024-06-12Printing Dimensions NEGOTIATION16Anna Fali
1002Wickens C RoysterFrance2024-06-06Morlong Associates RENEWAL99Asiya Javayant
1003Misaki L GauchoSpain2024-06-03Benton, John B Jr RENEWAL16Ivan Magalhaes
1004Tony H StensethArgentina2024-06-15Chanay, Jeffrey A Esq NEW90Amy Elsner
1005Jefferson I VenereJapan2024-06-01Commercial Press PROPOSAL49Amy Elsner
1006Ivar W MaletCanada2024-06-15Commercial Press RENEWAL31Stephen Shaw
1007Cody V MaletCanada2024-06-23Chanay, Jeffrey A Esq RENEWAL98Ioni Bowcher
1008Isabel I MorascaIndia2024-06-05Feiner Bros NEGOTIATION67Ivan Magalhaes
1009Alejandro M KolmetzFrance2024-06-05Dorl, James J Esq UNQUALIFIED80Anna Fali
1010Nicolas A CaldareraAustralia2024-05-28Commercial Press PROPOSAL62Bernardo Dominic
1011Kadeem O NickaSpain2024-06-14Dorl, James J Esq PROPOSAL75Xuxue Feng
1012Cody Q StockhamRussia2024-06-05Printing Dimensions UNQUALIFIED33Stephen Shaw
1013Silvio M AmigonArgentina2024-05-30Feltz Printing Service PROPOSAL57Onyama Limba
1014Sinclair Q SlusarskiRussia2024-06-17Rousseaux, Michael Esq QUALIFIED81Bernardo Dominic
1015Emily K RimIndia2024-05-29King, Christopher A Esq QUALIFIED5Stephen Shaw
1016Stacey J DoeCanada2024-06-05King, Christopher A Esq QUALIFIED90Ioni Bowcher
1017Morrow T MacleadBrazil2024-06-06Printing Dimensions PROPOSAL82Elwin Sharvill
1018Faith D CaudyArgentina2024-06-03King, Christopher A Esq NEGOTIATION19Elwin Sharvill
1019Rodrigues A TollnerBrazil2024-06-15Feiner Bros PROPOSAL32Bernardo Dominic
1020Leon X BologniaCanada2024-06-14Printing Dimensions QUALIFIED29Ioni Bowcher
1021Clifford K NestleAustralia2024-06-02Benton, John B Jr QUALIFIED99Anna Fali
1022Aruna B FlosiCanada2024-06-16Rangoni Of Florence UNQUALIFIED3Asiya Javayant
1023Nicolas L VenereJapan2024-06-05Dorl, James J Esq RENEWAL29Ivan Magalhaes
1024Aruna M SaylorsArgentina2024-06-24Feltz Printing Service NEGOTIATION95Ioni Bowcher
1025Leon C CaldareraAustralia2024-06-06Benton, John B Jr RENEWAL49Xuxue Feng
1026Ivar M RulapaughCanada2024-06-18Printing Dimensions PROPOSAL44Stephen Shaw
1027Julie S RoysterArgentina2024-06-18Chemel, James L Cpa RENEWAL48Stephen Shaw
1028Tony X VocelkaIndia2024-05-29Feltz Printing Service NEW90Bernardo Dominic
1029Munro Y SergiGermany2024-05-31Benton, John B Jr NEGOTIATION29Bernardo Dominic
1030Aruna G GarufiCanada2024-06-14Benton, John B Jr UNQUALIFIED29Asiya Javayant
1031Johnson R SergiItaly2024-06-07Chapman, Ross E Esq NEW72Asiya Javayant
1032Johnson O KolmetzFrance2024-05-28Chapman, Ross E Esq NEW78Amy Elsner
1033Julie W DoeFrance2024-06-13Benton, John B Jr RENEWAL1Anna Fali
1034Salvatore F RoysterCanada2024-06-08Rangoni Of Florence NEW57Stephen Shaw
1035Kaitlin S FerenczArgentina2024-06-12Chemel, James L Cpa NEW10Ivan Magalhaes
1036Arvin K MorascaCanada2024-06-21Rangoni Of Florence PROPOSAL47Bernardo Dominic
1037Jefferson P CaldareraGermany2024-06-05Dorl, James J Esq PROPOSAL53Stephen Shaw
1038Deepesh M InouyeArgentina2024-06-17Printing Dimensions QUALIFIED52Amy Elsner
1039Rodrigues I CampainJapan2024-06-24Truhlar And Truhlar Attys NEW43Bernardo Dominic
1040Jefferson R BriddickRussia2024-06-08Morlong Associates PROPOSAL39Amy Elsner
1041Chavez K ShinkoArgentina2024-06-20Benton, John B Jr NEGOTIATION97Bernardo Dominic
1042Isabel M KuskoIndia2024-06-10Feltz Printing Service PROPOSAL27Anna Fali
1043Jones U DoeItaly2024-06-11Morlong Associates NEW96Xuxue Feng
1044Francesco Z BologniaAustralia2024-05-29Rangoni Of Florence RENEWAL16Anna Fali
1045Antonio S AlbaresArgentina2024-06-02Chapman, Ross E Esq PROPOSAL60Ioni Bowcher
1046Isabel A IturbideUnited Kingdom2024-05-28Commercial Press QUALIFIED31Ivan Magalhaes
1047Julie I PoquetteItaly2024-06-23Commercial Press QUALIFIED36Anna Fali
1048Alejandro I GlickGermany2024-06-11Feltz Printing Service UNQUALIFIED77Ivan Magalhaes
1049Smith X AlbaresArgentina2024-06-03Chanay, Jeffrey A Esq RENEWAL58Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Francesco B NickaAustraliaXuxue Feng QUALIFIED
Johnson J RimRussiaStephen Shaw NEGOTIATION
Salvatore R KolmetzGermanyOnyama Limba UNQUALIFIED
Alejandro C CaldareraJapanAnna Fali RENEWAL
Ashley S RulapaughGermanyAsiya Javayant UNQUALIFIED
Faith U MorascaFranceStephen Shaw NEGOTIATION
Aruna K FigeroaArgentinaAmy Elsner PROPOSAL
Ricardo P GauchoSpainStephen Shaw NEW
Ashley T PaprockiAustraliaBernardo Dominic PROPOSAL
Murillo X ChuiArgentinaElwin Sharvill UNQUALIFIED
Maisha B PerinRussiaAnna Fali NEGOTIATION
Octavia H MaletItalyAmy Elsner NEW
Nicolas E ShinkoSpainOnyama Limba RENEWAL
Maria F OldroydAustraliaIvan Magalhaes NEW
Aika A GillianRussiaAmy Elsner NEGOTIATION
Jefferson Q CampainJapanAnna Fali PROPOSAL
Nicolas I StockhamFranceBernardo Dominic PROPOSAL
Silvio P WhobreyGermanyAnna Fali NEW
David F StensethGermanyAmy Elsner QUALIFIED
Maisha B SergiFranceStephen Shaw RENEWAL
Leja B BologniaItalyXuxue Feng NEW
James A PaprockiSpainOnyama Limba UNQUALIFIED
Costa E GlickCanadaAmy Elsner RENEWAL
Isabel N OstroskyRussiaBernardo Dominic RENEWAL
Jones H OstroskyItalyAmy Elsner RENEWAL
Cody G MarrierItalyXuxue Feng UNQUALIFIED
Octavia N WhobreyArgentinaAsiya Javayant PROPOSAL
Alejandro G KuskoItalyOnyama Limba PROPOSAL
Mujtaba Z VenereSpainElwin Sharvill NEW
Emily N VenereJapanXuxue Feng RENEWAL
Francesco R ShinkoBrazilElwin Sharvill UNQUALIFIED
James A KuskoAustraliaOnyama Limba QUALIFIED
Francesco E PoquetteRussiaAmy Elsner UNQUALIFIED
David N StensethBrazilAsiya Javayant RENEWAL
Ivar T GillianCanadaIoni Bowcher QUALIFIED
Chavez Y KolmetzGermanyStephen Shaw NEW
Francesco U DilliardFranceStephen Shaw QUALIFIED
Isabel E ButtFranceStephen Shaw QUALIFIED
Jefferson D OstroskyItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois V NickaCanadaAmy Elsner UNQUALIFIED
Greenwood T BowleyGermanyOnyama Limba RENEWAL
Ricardo R FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas I MorascaGermanyOnyama Limba PROPOSAL
Greenwood D NestleItalyXuxue Feng QUALIFIED
Darci E RutaGermanyAnna Fali NEGOTIATION
Stacey O IturbideBrazilIvan Magalhaes UNQUALIFIED
Jennifer M VenereRussiaXuxue Feng UNQUALIFIED
Alejandro C PaprockiFranceBernardo Dominic UNQUALIFIED
Maisha F GarufiIndiaOnyama Limba RENEWAL
Wickens F PaprockiArgentinaAnna Fali QUALIFIED
Frozen Columns
Name
Isabel M Briddick
Emily N Saylors
Francesco H Briddick
Isabel C Stockham
Leon J Bolognia
Leon U Flosi
Juan X Dilliard
Ricardo R Sergi
Aditya Y Kusko
Arvin X Gaucho
Ivar K Tollner
Stacey U Maclead
Kaitlin X Ostrosky
Claire D Dilliard
Julie H Whobrey
Ricardo T Tollner
Aditya W Maclead
Aika T Albares
Salvatore P Paprocki
Leon L Malet
Johnson S Nestle
Leja L Venere
Cody M Darakjy
Claire Z Inouye
Costa F Ruta
Nicolas M Tollner
Alejandro G Paprocki
Aditya P Ferencz
Octavia D Malet
James L Whobrey
Jefferson F Morasca
Aditya K Wieser
Maisha I Shinko
Isabel S Gillian
Ashley X Caudy
Aruna F Garufi
Tony U Paprocki
Ivar J Perin
Francesco V Briddick
Maria W Caldarera
Emily E Flosi
Mayumi B Paprocki
David Q Marrier
Arvin K Iturbide
Johnson G Malet
Wickens U Paprocki
Octavia X Saylors
Nicolas T Campain
Francesco H Rulapaugh
Jones J Campain
IdCountryDate
1000Argentina2024-06-23
1001Spain2024-06-16
1002Spain2024-05-28
1003Japan2024-06-15
1004Germany2024-06-02
1005Germany2024-06-20
1006Spain2024-06-18
1007United Kingdom2024-06-21
1008France2024-06-20
1009India2024-06-20
1010Italy2024-06-08
1011Brazil2024-06-17
1012France2024-06-18
1013Japan2024-06-11
1014United Kingdom2024-06-08
1015Italy2024-06-08
1016Brazil2024-06-23
1017Canada2024-05-28
1018France2024-06-23
1019Brazil2024-05-28
1020India2024-06-12
1021Australia2024-06-16
1022Japan2024-06-02
1023Russia2024-06-10
1024India2024-06-16
1025India2024-06-02
1026Italy2024-06-24
1027Germany2024-06-19
1028France2024-06-23
1029France2024-06-09
1030Australia2024-06-04
1031Spain2024-06-23
1032Germany2024-05-28
1033Russia2024-06-23
1034United Kingdom2024-06-06
1035Argentina2024-06-23
1036Spain2024-06-21
1037Germany2024-06-22
1038Brazil2024-05-26
1039Argentina2024-06-05
1040Germany2024-06-12
1041United Kingdom2024-06-24
1042France2024-05-29
1043India2024-06-10
1044Spain2024-06-24
1045Japan2024-06-02
1046India2024-06-02
1047Australia2024-06-15
1048India2024-06-15
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Julie B Rim1000Japan2024-06-05
Francesco M Shinko1001Australia2024-05-28
David O Stockham1002India2024-06-01
Isabel D Bowley1003Italy2024-05-31
Kadeem Q Waycott1004Brazil2024-05-28
Arvin G Kusko1005Italy2024-06-07
Kaitlin C Butt1006Argentina2024-06-04
Smith H Amigon1007Japan2024-06-03
Kadeem F Gillian1008Canada2024-06-24
Munro U Malet1009India2024-06-24
Alejandro Q Marrier1010France2024-05-30
Faith R Dilliard1011India2024-05-28
Morrow J Campain1012India2024-06-11
David F Dilliard1013Brazil2024-06-18
Jones T Kolmetz1014Canada2024-06-24
Salvatore K Albares1015Germany2024-06-20
Wickens S Maclead1016France2024-06-18
Francesco R Chui1017Spain2024-06-10
Mujtaba L Nicka1018India2024-06-15
Aika M Marrier1019India2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem E VenereArgentinaStephen Shaw QUALIFIED
Isabel P VocelkaFranceIoni Bowcher PROPOSAL
Greenwood S AlbaresGermanyAmy Elsner UNQUALIFIED
Silvio I SergiArgentinaElwin Sharvill QUALIFIED
Stacey B IturbideIndiaStephen Shaw UNQUALIFIED
Ashley J TollnerFranceAmy Elsner PROPOSAL
Aditya B PoquetteAustraliaAnna Fali UNQUALIFIED
Aruna X RimCanadaStephen Shaw UNQUALIFIED
Costa P PerinAustraliaStephen Shaw RENEWAL
Sinclair Y CampainJapanOnyama Limba QUALIFIED
Ashley S SergiItalyStephen Shaw UNQUALIFIED
Clifford C BriddickGermanyBernardo Dominic NEW
Juan T AmigonArgentinaIoni Bowcher QUALIFIED
Alejandro M SchemmerIndiaAmy Elsner UNQUALIFIED
Arvin T MaletCanadaIoni Bowcher RENEWAL
Deepesh R MarrierIndiaAsiya Javayant NEGOTIATION
Aditya S GauchoCanadaAnna Fali RENEWAL
Mujtaba A DoeCanadaAnna Fali QUALIFIED
Tony J SlusarskiFranceAsiya Javayant NEGOTIATION
James D WieserGermanyXuxue Feng QUALIFIED
Kaitlin S CaldareraIndiaIvan Magalhaes UNQUALIFIED
Emily P RoysterSpainIvan Magalhaes PROPOSAL
Clifford E GauchoFranceElwin Sharvill PROPOSAL
Arvin L GillianSpainIvan Magalhaes UNQUALIFIED
Maisha Y DarakjyArgentinaAsiya Javayant NEW
Faith N KolmetzIndiaAmy Elsner NEGOTIATION
Julie V BologniaSpainAmy Elsner RENEWAL
Chavez Y InouyeArgentinaAsiya Javayant NEW
Maisha K DilliardFranceXuxue Feng NEGOTIATION
Mayumi B AmigonRussiaAmy Elsner NEW
Leon T FerenczArgentinaXuxue Feng RENEWAL
Silvio P NestleGermanyAnna Fali QUALIFIED
Ashley I GillianSpainIoni Bowcher PROPOSAL
Murillo O VenereSpainStephen Shaw NEGOTIATION
Claire P DoeCanadaAmy Elsner NEGOTIATION
Leon I SchemmerIndiaAnna Fali UNQUALIFIED
Jones X RulapaughAustraliaBernardo Dominic PROPOSAL
Antonio V BologniaGermanyAnna Fali PROPOSAL
Ricardo H MacleadFranceOnyama Limba NEGOTIATION
Francesco S FlosiItalyBernardo Dominic RENEWAL

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