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
Juan M WaycottCanadaIoni Bowcher QUALIFIED
Maisha R WhobreyGermanyBernardo Dominic NEGOTIATION
James K RoysterRussiaStephen Shaw NEGOTIATION
Wickens W ButtJapanElwin Sharvill QUALIFIED
Arvin T ButtItalyIoni Bowcher NEW
Claire I RoysterIndiaAnna Fali QUALIFIED
Octavia I GillianUnited KingdomIvan Magalhaes RENEWAL
Antonio Y DarakjySpainStephen Shaw NEGOTIATION
Antonio E PaprockiSpainXuxue Feng NEW
Jeanfrancois N IturbideFranceOnyama Limba NEGOTIATION
Tony H PerinIndiaIvan Magalhaes UNQUALIFIED
Aruna W CaldareraJapanElwin Sharvill PROPOSAL
Leon E PerinFranceIvan Magalhaes NEGOTIATION
Mayumi V DoeCanadaBernardo Dominic QUALIFIED
Silvio V OldroydArgentinaXuxue Feng QUALIFIED
Chavez J MaletSpainBernardo Dominic PROPOSAL
Francesco B VocelkaUnited KingdomOnyama Limba NEGOTIATION
Sinclair Z PerinSpainIvan Magalhaes RENEWAL
Emily E FerenczCanadaStephen Shaw NEW
Costa E VocelkaUnited KingdomAsiya Javayant NEW
Francesco R CaudyAustraliaElwin Sharvill QUALIFIED
Mujtaba D ChuiFranceAmy Elsner UNQUALIFIED
Munro O StensethFranceStephen Shaw NEW
Maria J ShinkoJapanAsiya Javayant QUALIFIED
Stacey F MaletSpainAnna Fali PROPOSAL
Aruna Z DilliardAustraliaAnna Fali UNQUALIFIED
Mujtaba I StockhamItalyElwin Sharvill NEGOTIATION
Isabel W WieserBrazilOnyama Limba QUALIFIED
Octavia Y SaylorsArgentinaXuxue Feng QUALIFIED
Claire C StockhamItalyXuxue Feng PROPOSAL
Johnson H CampainCanadaAnna Fali RENEWAL
Aruna E FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Chavez X OstroskyRussiaOnyama Limba PROPOSAL
Costa U BriddickFranceXuxue Feng QUALIFIED
Murillo A PaprockiBrazilOnyama Limba PROPOSAL
Faith B DarakjyRussiaXuxue Feng NEW
Jones L CaudyJapanIoni Bowcher UNQUALIFIED
Aditya K MaletUnited KingdomIoni Bowcher NEGOTIATION
Mayumi M NickaCanadaOnyama Limba RENEWAL
Arvin D SchemmerIndiaIvan Magalhaes RENEWAL
Clifford H OldroydIndiaIvan Magalhaes PROPOSAL
Jones K VenereIndiaXuxue Feng QUALIFIED
Jones X FerenczFranceOnyama Limba NEW
Jones L PoquetteGermanyStephen Shaw QUALIFIED
Greenwood B RulapaughArgentinaAmy Elsner NEGOTIATION
Murillo M WaycottRussiaStephen Shaw UNQUALIFIED
Smith R SlusarskiJapanIoni Bowcher UNQUALIFIED
Salvatore V SaylorsRussiaOnyama Limba NEGOTIATION
Alejandro A CaudyBrazilAsiya Javayant QUALIFIED
Nicolas K RoysterJapanIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja S GillianAustraliaAnna Fali UNQUALIFIED
Jefferson J OldroydSpainAsiya Javayant RENEWAL
Maisha K TollnerIndiaAsiya Javayant NEGOTIATION
Wickens Q WhobreyItalyAmy Elsner NEGOTIATION
Julie G VenereJapanXuxue Feng NEW
Claire T WaycottFranceAsiya Javayant UNQUALIFIED
Smith F GillianFranceAnna Fali UNQUALIFIED
Morrow T OstroskyIndiaBernardo Dominic UNQUALIFIED
Jennifer D WaycottItalyElwin Sharvill UNQUALIFIED
Aika M GauchoBrazilIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba W OstroskyFrance2024-06-11King, Christopher A Esq RENEWAL54Xuxue Feng
1001Jeanfrancois R OldroydCanada2024-06-19Chemel, James L Cpa NEGOTIATION34Xuxue Feng
1002James D StockhamCanada2024-06-15Chemel, James L Cpa UNQUALIFIED39Stephen Shaw
1003Izzy Z AlbaresUnited Kingdom2024-06-19Benton, John B Jr UNQUALIFIED42Ivan Magalhaes
1004Jones T KuskoArgentina2024-06-18Feiner Bros PROPOSAL50Bernardo Dominic
1005Sinclair L CaudyJapan2024-05-30Chemel, James L Cpa UNQUALIFIED15Onyama Limba
1006James E PaprockiIndia2024-06-12Feiner Bros RENEWAL16Onyama Limba
1007Ashley V CampainArgentina2024-05-28Commercial Press NEW7Bernardo Dominic
1008Chavez I CaudyCanada2024-06-05Commercial Press RENEWAL40Ioni Bowcher
1009Emily L FollerIndia2024-06-11Chemel, James L Cpa QUALIFIED57Xuxue Feng
1010Rodrigues Q CaldareraJapan2024-06-13Feiner Bros NEGOTIATION75Bernardo Dominic
1011Aika X GauchoIndia2024-06-01King, Christopher A Esq RENEWAL84Amy Elsner
1012Claire K FerenczAustralia2024-06-16Truhlar And Truhlar Attys QUALIFIED54Xuxue Feng
1013Adams B TollnerBrazil2024-06-06Feiner Bros NEW18Anna Fali
1014Ivar R PaprockiBrazil2024-06-19Benton, John B Jr NEW3Bernardo Dominic
1015Ivar M CampainJapan2024-06-15Chemel, James L Cpa RENEWAL25Onyama Limba
1016Emily Y FigeroaIndia2024-06-21Buckley Miller Wright UNQUALIFIED49Ioni Bowcher
1017Johnson D ShinkoUnited Kingdom2024-06-11Truhlar And Truhlar Attys PROPOSAL82Onyama Limba
1018Ashley J SchemmerBrazil2024-05-29King, Christopher A Esq PROPOSAL10Xuxue Feng
1019Isabel I ChuiArgentina2024-05-24Printing Dimensions RENEWAL91Anna Fali
1020Murillo A VenereBrazil2024-06-07King, Christopher A Esq NEGOTIATION93Elwin Sharvill
1021Aruna D SchemmerBrazil2024-06-10Printing Dimensions UNQUALIFIED85Amy Elsner
1022Aruna W TollnerSpain2024-06-09Chemel, James L Cpa UNQUALIFIED2Asiya Javayant
1023Francesco A SergiBrazil2024-05-28Chemel, James L Cpa QUALIFIED51Xuxue Feng
1024David N GarufiGermany2024-06-22Rangoni Of Florence PROPOSAL70Ivan Magalhaes
1025Francesco G CampainFrance2024-06-04Feiner Bros NEGOTIATION25Elwin Sharvill
1026Cody Q RoysterFrance2024-06-20Rangoni Of Florence NEW21Ivan Magalhaes
1027Rodrigues W KuskoItaly2024-06-08Feiner Bros PROPOSAL4Asiya Javayant
1028Julie F VocelkaAustralia2024-06-16Benton, John B Jr UNQUALIFIED12Ioni Bowcher
1029Morrow C PerinSpain2024-06-13Benton, John B Jr UNQUALIFIED48Asiya Javayant
1030Octavia T BologniaJapan2024-06-02Chapman, Ross E Esq NEW67Onyama Limba
1031Ivar K DoeBrazil2024-06-21Feltz Printing Service UNQUALIFIED15Onyama Limba
1032Francesco K WaycottItaly2024-06-02Truhlar And Truhlar Attys NEW71Ivan Magalhaes
1033Morrow M BriddickItaly2024-06-12Dorl, James J Esq QUALIFIED37Amy Elsner
1034Greenwood M WieserGermany2024-05-24Morlong Associates UNQUALIFIED17Elwin Sharvill
1035Ivar S SergiSpain2024-05-27Feiner Bros NEGOTIATION76Amy Elsner
1036James E IturbideIndia2024-06-05Commercial Press NEW56Xuxue Feng
1037Jones U DilliardIndia2024-06-10Buckley Miller Wright NEW66Amy Elsner
1038Adams W WhobreyGermany2024-06-05King, Christopher A Esq RENEWAL31Onyama Limba
1039Antonio F IturbideItaly2024-05-26Chanay, Jeffrey A Esq NEW83Bernardo Dominic
1040Ricardo D OstroskyAustralia2024-05-26Buckley Miller Wright PROPOSAL92Bernardo Dominic
1041Claire P BologniaIndia2024-06-21King, Christopher A Esq UNQUALIFIED95Asiya Javayant
1042Johnson B RulapaughIndia2024-05-24Benton, John B Jr NEGOTIATION63Ioni Bowcher
1043Rodrigues I TollnerItaly2024-05-26Dorl, James J Esq NEGOTIATION87Ioni Bowcher
1044Deepesh Y RutaUnited Kingdom2024-06-07Feiner Bros QUALIFIED78Xuxue Feng
1045Mujtaba U RutaFrance2024-06-18Dorl, James J Esq QUALIFIED38Amy Elsner
1046Maria R FollerUnited Kingdom2024-06-12Morlong Associates NEGOTIATION17Anna Fali
1047Wickens H StensethFrance2024-05-24Rangoni Of Florence NEGOTIATION46Onyama Limba
1048Misaki A BologniaIndia2024-05-28Feiner Bros UNQUALIFIED3Anna Fali
1049Murillo Q StockhamSpain2024-05-26Printing Dimensions PROPOSAL27Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio I RoysterFranceElwin Sharvill NEGOTIATION
Ivar M FerenczCanadaAmy Elsner NEGOTIATION
Mujtaba J SaylorsJapanBernardo Dominic NEW
Cody D TollnerArgentinaIoni Bowcher UNQUALIFIED
Darci J RulapaughCanadaBernardo Dominic UNQUALIFIED
Adams R FigeroaArgentinaIoni Bowcher QUALIFIED
Maria L RutaJapanXuxue Feng PROPOSAL
Adams L FollerFranceOnyama Limba NEGOTIATION
David A NickaFranceBernardo Dominic NEW
Rodrigues N WaycottGermanyXuxue Feng RENEWAL
Tony B GauchoItalyAmy Elsner QUALIFIED
Wickens G MacleadIndiaAmy Elsner RENEWAL
Costa Q RulapaughSpainXuxue Feng PROPOSAL
Jones W ChuiGermanyIvan Magalhaes PROPOSAL
Stacey V SergiFranceAmy Elsner UNQUALIFIED
Kadeem G TollnerIndiaStephen Shaw RENEWAL
Clifford R NickaBrazilAsiya Javayant NEW
David R GauchoBrazilXuxue Feng RENEWAL
Izzy R ShinkoIndiaAmy Elsner QUALIFIED
Johnson K GauchoSpainBernardo Dominic QUALIFIED
Julie P FerenczCanadaStephen Shaw UNQUALIFIED
Octavia B TollnerItalyIoni Bowcher PROPOSAL
Salvatore F MaletAustraliaAnna Fali RENEWAL
Adams X PaprockiGermanyAmy Elsner RENEWAL
Claire V VocelkaArgentinaXuxue Feng UNQUALIFIED
Emily Q WaycottJapanIoni Bowcher PROPOSAL
Costa L DarakjyBrazilAsiya Javayant QUALIFIED
James U MaletIndiaIoni Bowcher PROPOSAL
Claire T GarufiIndiaBernardo Dominic NEW
Aruna Q InouyeRussiaOnyama Limba PROPOSAL
Kadeem A ButtGermanyAnna Fali NEGOTIATION
Francesco D DilliardBrazilXuxue Feng NEGOTIATION
Juan C RoysterItalyAmy Elsner NEW
Maisha N ButtUnited KingdomBernardo Dominic UNQUALIFIED
Wickens X GillianGermanyXuxue Feng RENEWAL
Greenwood Z RoysterCanadaIvan Magalhaes NEW
Aika N TollnerGermanyAsiya Javayant QUALIFIED
Munro A SchemmerGermanyXuxue Feng PROPOSAL
Maria D GauchoBrazilAnna Fali PROPOSAL
Sinclair C RoysterUnited KingdomAsiya Javayant RENEWAL
Izzy C BriddickCanadaStephen Shaw UNQUALIFIED
Alejandro O ShinkoGermanyIvan Magalhaes NEW
Rodrigues Q NestleCanadaStephen Shaw NEW
Maisha J MaletIndiaAmy Elsner RENEWAL
Aditya I CaudyGermanyIvan Magalhaes UNQUALIFIED
Claire O ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
David P CaudyRussiaXuxue Feng RENEWAL
Leon G MacleadSpainAmy Elsner NEW
Izzy P FerenczItalyBernardo Dominic PROPOSAL
Costa X MorascaFranceAnna Fali PROPOSAL
Frozen Columns
Name
Jeanfrancois V Inouye
Deepesh A Malet
Sinclair S Nicka
Ashley E Nestle
Ricardo V Morasca
Juan Z Poquette
Sinclair U Kolmetz
Juan P Whobrey
Aika U Ostrosky
Rodrigues Z Butt
Adams E Rim
Juan Y Whobrey
Stacey R Kusko
Antonio E Flosi
Aruna A Campain
Clifford K Glick
Arvin D Flosi
Munro P Oldroyd
Stacey G Stenseth
Claire D Royster
Claire T Morasca
Wickens L Wieser
Ricardo Y Albares
Adams Z Royster
Morrow T Oldroyd
Jeanfrancois O Ruta
Rodrigues V Gaucho
Aruna S Malet
Johnson M Poquette
Isabel Y Marrier
Faith U Stockham
Juan A Morasca
Kadeem F Poquette
Clifford L Stenseth
Clifford G Morasca
Jeanfrancois A Maclead
Tony J Ostrosky
Isabel L Malet
Juan P Albares
Octavia T Stenseth
Isabel B Amigon
Smith K Amigon
Darci A Glick
Salvatore Q Waycott
Kadeem E Saylors
Silvio A Malet
Kaitlin U Stockham
Juan S Chui
Wickens E Morasca
Rodrigues H Gaucho
IdCountryDate
1000Italy2024-05-31
1001Brazil2024-06-09
1002India2024-05-28
1003France2024-06-18
1004Argentina2024-05-25
1005India2024-06-10
1006Brazil2024-06-03
1007Russia2024-05-30
1008Russia2024-06-09
1009Argentina2024-06-05
1010India2024-05-25
1011Japan2024-06-19
1012France2024-05-26
1013Germany2024-05-27
1014Australia2024-06-15
1015India2024-06-21
1016Japan2024-06-11
1017France2024-06-13
1018Russia2024-06-22
1019Japan2024-06-01
1020Italy2024-06-12
1021Japan2024-05-29
1022France2024-06-17
1023India2024-06-07
1024Spain2024-05-24
1025United Kingdom2024-06-16
1026Italy2024-06-07
1027India2024-05-29
1028Germany2024-06-17
1029Canada2024-06-10
1030Japan2024-05-25
1031India2024-06-02
1032France2024-06-09
1033Canada2024-05-25
1034Japan2024-06-11
1035Germany2024-06-11
1036Brazil2024-06-15
1037United Kingdom2024-06-05
1038Brazil2024-06-03
1039Argentina2024-06-12
1040Argentina2024-06-19
1041France2024-06-05
1042Spain2024-06-08
1043Italy2024-06-02
1044Japan2024-05-29
1045Russia2024-05-30
1046France2024-06-16
1047Japan2024-06-17
1048Australia2024-05-31
1049Italy2024-05-28

On-Demand Data

NameIdCountryDate
Maria M Paprocki1000Spain2024-06-02
Izzy U Albares1001Argentina2024-05-28
Johnson X Bolognia1002Argentina2024-06-14
Octavia V Caldarera1003Italy2024-05-26
Julie T Inouye1004Brazil2024-06-09
Munro E Kusko1005Italy2024-06-08
Julie E Figeroa1006Spain2024-06-12
Aruna T Kusko1007Brazil2024-06-12
Chavez M Kolmetz1008India2024-06-05
Greenwood O Sergi1009United Kingdom2024-05-29
Chavez O Stenseth1010Argentina2024-05-26
Ivar Y Wieser1011Argentina2024-06-11
Smith R Rim1012Italy2024-05-31
Julie R Poquette1013Spain2024-06-11
Mayumi S Albares1014India2024-06-17
David M Iturbide1015Canada2024-05-25
Juan Q Amigon1016Italy2024-06-16
Jeanfrancois V Ruta1017Australia2024-06-07
Ricardo N Perin1018Brazil2024-06-17
Chavez Y Ostrosky1019Canada2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith D FollerUnited KingdomIoni Bowcher NEW
Emily V FollerRussiaBernardo Dominic PROPOSAL
Silvio M PaprockiArgentinaElwin Sharvill UNQUALIFIED
Costa S CaudyArgentinaOnyama Limba NEW
Aruna Z VenereSpainXuxue Feng PROPOSAL
Maria H DoeJapanIoni Bowcher NEGOTIATION
Morrow J StockhamRussiaAnna Fali QUALIFIED
Ivar F OstroskyCanadaIoni Bowcher QUALIFIED
James G CaldareraSpainIvan Magalhaes NEW
Salvatore R StensethGermanyBernardo Dominic QUALIFIED
Costa K MaletCanadaBernardo Dominic UNQUALIFIED
Greenwood J AmigonSpainOnyama Limba NEGOTIATION
Tony F WaycottRussiaIvan Magalhaes RENEWAL
Jeanfrancois A BowleyBrazilIvan Magalhaes UNQUALIFIED
Faith A MacleadIndiaStephen Shaw PROPOSAL
Clifford T PaprockiJapanElwin Sharvill NEGOTIATION
Darci W MaletFranceBernardo Dominic RENEWAL
Alejandro A NestleAustraliaAnna Fali NEGOTIATION
Claire N DoeFranceAsiya Javayant RENEWAL
Smith I InouyeArgentinaStephen Shaw QUALIFIED
Francesco C MaletItalyAsiya Javayant PROPOSAL
Ricardo R BologniaCanadaAsiya Javayant NEGOTIATION
Greenwood U MorascaIndiaAmy Elsner RENEWAL
Jefferson V DilliardUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin C SergiAustraliaXuxue Feng UNQUALIFIED
Izzy P SergiRussiaAmy Elsner PROPOSAL
Tony N BowleySpainElwin Sharvill NEGOTIATION
Murillo B NestleCanadaIoni Bowcher UNQUALIFIED
Aditya M ShinkoFranceIvan Magalhaes QUALIFIED
Jefferson K PerinArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois P OldroydRussiaBernardo Dominic NEGOTIATION
Isabel C TollnerIndiaXuxue Feng NEGOTIATION
Greenwood Y RutaSpainBernardo Dominic NEGOTIATION
Mayumi Y TollnerIndiaAmy Elsner RENEWAL
Jeanfrancois S StensethBrazilIoni Bowcher UNQUALIFIED
Mayumi O RutaSpainAsiya Javayant QUALIFIED
Chavez A CaldareraSpainStephen Shaw RENEWAL
Smith P DarakjyIndiaElwin Sharvill NEGOTIATION
Maria Z SaylorsCanadaElwin Sharvill RENEWAL
Leon A ButtArgentinaIvan Magalhaes 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>