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
Kadeem L PaprockiFranceXuxue Feng RENEWAL
Isabel J InouyeIndiaElwin Sharvill NEGOTIATION
David F BowleyGermanyOnyama Limba PROPOSAL
Maisha J WieserJapanAmy Elsner PROPOSAL
Izzy L AmigonJapanAsiya Javayant RENEWAL
Sinclair E GauchoGermanyAnna Fali NEGOTIATION
Johnson B WhobreyBrazilStephen Shaw PROPOSAL
Claire L VocelkaUnited KingdomElwin Sharvill PROPOSAL
Stacey C WhobreyFranceStephen Shaw NEW
Leon O PaprockiJapanIoni Bowcher QUALIFIED
Ricardo R FollerArgentinaOnyama Limba UNQUALIFIED
Maisha V RutaAustraliaAmy Elsner UNQUALIFIED
Johnson W FollerBrazilIoni Bowcher RENEWAL
Izzy X WhobreyFranceAnna Fali UNQUALIFIED
Nicolas T CaudyCanadaIoni Bowcher QUALIFIED
Alejandro M MorascaIndiaStephen Shaw PROPOSAL
Morrow E MaletCanadaXuxue Feng QUALIFIED
Misaki F FigeroaRussiaAnna Fali RENEWAL
Aruna Y RoysterFranceXuxue Feng NEGOTIATION
Julie E DarakjyCanadaOnyama Limba RENEWAL
Deepesh N MorascaArgentinaOnyama Limba NEW
Tony W PoquetteRussiaElwin Sharvill UNQUALIFIED
Tony N GauchoFranceElwin Sharvill QUALIFIED
Leja Z CaudyCanadaXuxue Feng UNQUALIFIED
Greenwood E RutaArgentinaAsiya Javayant PROPOSAL
Stacey I GillianFranceAsiya Javayant RENEWAL
Chavez E GauchoArgentinaBernardo Dominic NEW
Alejandro V DilliardJapanXuxue Feng RENEWAL
Ricardo Q MaletGermanyElwin Sharvill NEGOTIATION
Kadeem G GauchoArgentinaXuxue Feng NEGOTIATION
Munro J CaldareraSpainAmy Elsner NEW
Mayumi K GillianAustraliaXuxue Feng NEW
Cody M OldroydCanadaIvan Magalhaes NEGOTIATION
Antonio A MaletArgentinaAsiya Javayant QUALIFIED
Mayumi O FerenczCanadaBernardo Dominic UNQUALIFIED
Juan C BologniaItalyXuxue Feng PROPOSAL
Silvio H RoysterIndiaElwin Sharvill PROPOSAL
David G NickaJapanAsiya Javayant PROPOSAL
Cody V RutaFranceOnyama Limba NEGOTIATION
Deepesh Z CaudySpainStephen Shaw QUALIFIED
Maisha U FollerGermanyXuxue Feng PROPOSAL
Isabel R WaycottFranceStephen Shaw QUALIFIED
Faith I SchemmerBrazilIvan Magalhaes QUALIFIED
Emily Y WaycottUnited KingdomAnna Fali NEW
Munro B MarrierFranceBernardo Dominic NEW
Adams Z PerinBrazilElwin Sharvill PROPOSAL
Juan U CaldareraItalyAnna Fali PROPOSAL
Jefferson J NickaJapanAmy Elsner NEW
Aika H SaylorsGermanyIoni Bowcher RENEWAL
Jefferson E MaletCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens G WieserFranceBernardo Dominic NEGOTIATION
Julie E RutaArgentinaAnna Fali RENEWAL
Mujtaba U MaletAustraliaXuxue Feng UNQUALIFIED
Costa J NestleAustraliaBernardo Dominic QUALIFIED
Claire V CampainItalyBernardo Dominic PROPOSAL
Tony W PaprockiRussiaStephen Shaw NEW
Mayumi B ShinkoCanadaOnyama Limba RENEWAL
Jennifer J CaldareraUnited KingdomElwin Sharvill QUALIFIED
Misaki B TollnerGermanyBernardo Dominic NEGOTIATION
Isabel H FollerBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel P CaudyItaly2024-09-05Rousseaux, Michael Esq NEGOTIATION50Xuxue Feng
1001Emily X RutaAustralia2024-09-11Rangoni Of Florence NEGOTIATION25Ivan Magalhaes
1002Aika N PerinBrazil2024-09-22King, Christopher A Esq NEW80Ioni Bowcher
1003Jones V KuskoFrance2024-09-06Truhlar And Truhlar Attys NEW63Elwin Sharvill
1004Morrow J BologniaIndia2024-09-21Dorl, James J Esq QUALIFIED99Stephen Shaw
1005Wickens E NestleItaly2024-09-07Benton, John B Jr UNQUALIFIED11Asiya Javayant
1006Wickens X RimArgentina2024-08-28Feiner Bros NEW42Ioni Bowcher
1007Julie C SergiSpain2024-09-22Chemel, James L Cpa PROPOSAL34Xuxue Feng
1008Clifford S SlusarskiRussia2024-09-05Chapman, Ross E Esq RENEWAL43Ivan Magalhaes
1009Mujtaba C WhobreySpain2024-09-22Morlong Associates QUALIFIED76Onyama Limba
1010Faith R OldroydArgentina2024-09-13Morlong Associates NEGOTIATION63Onyama Limba
1011Maria F WhobreyCanada2024-08-29Chanay, Jeffrey A Esq NEW72Amy Elsner
1012Salvatore Y NestleArgentina2024-08-24Truhlar And Truhlar Attys NEGOTIATION72Asiya Javayant
1013Juan H DoeUnited Kingdom2024-08-27Feltz Printing Service NEGOTIATION61Anna Fali
1014Kaitlin V KuskoArgentina2024-09-18Feltz Printing Service UNQUALIFIED7Amy Elsner
1015Claire B OldroydSpain2024-08-24Rangoni Of Florence NEGOTIATION73Onyama Limba
1016Isabel O AlbaresItaly2024-09-13Buckley Miller Wright PROPOSAL50Bernardo Dominic
1017Stacey Y SlusarskiGermany2024-09-14Chanay, Jeffrey A Esq NEW52Onyama Limba
1018Costa P WieserArgentina2024-09-14Feltz Printing Service UNQUALIFIED27Xuxue Feng
1019Maria T WaycottGermany2024-09-09Chapman, Ross E Esq NEW79Onyama Limba
1020Wickens V SaylorsJapan2024-09-21Rangoni Of Florence QUALIFIED38Elwin Sharvill
1021Jennifer H ShinkoFrance2024-09-13Chemel, James L Cpa RENEWAL98Bernardo Dominic
1022Arvin I GauchoAustralia2024-09-03Rangoni Of Florence UNQUALIFIED24Bernardo Dominic
1023Murillo O PerinUnited Kingdom2024-09-01Morlong Associates UNQUALIFIED74Ivan Magalhaes
1024Stacey H WaycottIndia2024-09-09Rousseaux, Michael Esq NEW17Anna Fali
1025James I GarufiArgentina2024-09-19Chapman, Ross E Esq RENEWAL89Elwin Sharvill
1026Ivar L CaldareraItaly2024-09-18Printing Dimensions NEW35Stephen Shaw
1027Wickens F MarrierRussia2024-09-04Chapman, Ross E Esq NEGOTIATION62Ioni Bowcher
1028Maisha W GlickIndia2024-09-13Printing Dimensions NEW64Asiya Javayant
1029Ivar V FlosiIndia2024-09-03Feiner Bros UNQUALIFIED99Bernardo Dominic
1030Maria Q DilliardFrance2024-09-09Rousseaux, Michael Esq RENEWAL43Stephen Shaw
1031Silvio M IturbideFrance2024-08-25Feiner Bros QUALIFIED64Onyama Limba
1032Aditya T FlosiUnited Kingdom2024-08-27Chemel, James L Cpa UNQUALIFIED26Amy Elsner
1033Cody X MorascaSpain2024-09-08Printing Dimensions QUALIFIED29Xuxue Feng
1034Munro X FerenczSpain2024-09-20Commercial Press NEW77Xuxue Feng
1035Ivar T InouyeSpain2024-09-18Morlong Associates NEGOTIATION5Bernardo Dominic
1036Deepesh B PoquetteAustralia2024-09-11Feltz Printing Service RENEWAL34Asiya Javayant
1037Jones R NickaIndia2024-09-17Buckley Miller Wright NEGOTIATION56Anna Fali
1038Johnson J MorascaCanada2024-09-06Buckley Miller Wright RENEWAL15Onyama Limba
1039Mayumi K BowleyUnited Kingdom2024-08-30Benton, John B Jr UNQUALIFIED37Ivan Magalhaes
1040Octavia W FigeroaUnited Kingdom2024-09-06Rousseaux, Michael Esq UNQUALIFIED27Amy Elsner
1041Leon N CaudyAustralia2024-09-11Chanay, Jeffrey A Esq QUALIFIED77Ioni Bowcher
1042Aditya D NestleSpain2024-08-28Rangoni Of Florence PROPOSAL30Asiya Javayant
1043Ivar F RimJapan2024-09-18Truhlar And Truhlar Attys NEGOTIATION64Anna Fali
1044Octavia J ButtUnited Kingdom2024-09-05King, Christopher A Esq PROPOSAL10Stephen Shaw
1045Izzy X AlbaresJapan2024-09-16Truhlar And Truhlar Attys NEGOTIATION52Elwin Sharvill
1046James E MaletItaly2024-09-13Dorl, James J Esq UNQUALIFIED17Ivan Magalhaes
1047David C SergiSpain2024-08-25Truhlar And Truhlar Attys PROPOSAL72Asiya Javayant
1048Maria B SaylorsAustralia2024-09-18Commercial Press PROPOSAL36Elwin Sharvill
1049Misaki S RimCanada2024-09-10Dorl, James J Esq PROPOSAL63Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F DarakjyCanadaIvan Magalhaes PROPOSAL
Salvatore E VocelkaFranceOnyama Limba PROPOSAL
Aruna X KolmetzAustraliaBernardo Dominic QUALIFIED
Juan B SergiJapanAnna Fali PROPOSAL
Maisha F SlusarskiArgentinaElwin Sharvill QUALIFIED
Jennifer N NickaIndiaOnyama Limba UNQUALIFIED
Mujtaba I IturbideJapanElwin Sharvill PROPOSAL
Leja C ButtUnited KingdomAmy Elsner PROPOSAL
Clifford U AlbaresRussiaBernardo Dominic RENEWAL
Misaki T OstroskyRussiaOnyama Limba QUALIFIED
Jeanfrancois X ShinkoSpainAmy Elsner NEGOTIATION
David I MorascaIndiaStephen Shaw RENEWAL
Leja V OstroskyCanadaOnyama Limba RENEWAL
Mayumi O SlusarskiFranceAsiya Javayant PROPOSAL
Ashley M FollerArgentinaAnna Fali RENEWAL
Kaitlin O NickaCanadaElwin Sharvill PROPOSAL
Jefferson F GillianRussiaAmy Elsner NEW
Johnson I BologniaAustraliaBernardo Dominic NEW
Maisha N MaletItalyOnyama Limba NEGOTIATION
Mujtaba G MacleadUnited KingdomXuxue Feng NEW
Isabel O MorascaGermanyBernardo Dominic RENEWAL
Cody B PaprockiRussiaStephen Shaw UNQUALIFIED
Isabel U ShinkoSpainXuxue Feng QUALIFIED
Adams A MaletBrazilAsiya Javayant PROPOSAL
Mayumi G PerinFranceAsiya Javayant QUALIFIED
Julie F PoquetteJapanElwin Sharvill RENEWAL
Adams T KuskoBrazilStephen Shaw PROPOSAL
Faith A KolmetzSpainIoni Bowcher RENEWAL
Antonio U NestleUnited KingdomBernardo Dominic NEGOTIATION
Maria E PaprockiSpainStephen Shaw NEGOTIATION
Jefferson B PerinAustraliaIoni Bowcher NEGOTIATION
Misaki V SaylorsRussiaOnyama Limba PROPOSAL
Smith L FerenczRussiaElwin Sharvill PROPOSAL
Misaki J NestleSpainElwin Sharvill NEGOTIATION
Silvio P ChuiBrazilElwin Sharvill RENEWAL
Claire I GillianSpainXuxue Feng NEGOTIATION
Emily A MorascaIndiaOnyama Limba PROPOSAL
Antonio I CampainIndiaAsiya Javayant RENEWAL
Faith J OldroydFranceAmy Elsner NEW
Salvatore W WhobreyIndiaElwin Sharvill NEGOTIATION
Wickens A MaletIndiaBernardo Dominic QUALIFIED
Jeanfrancois C PaprockiIndiaXuxue Feng NEGOTIATION
Mujtaba F RimRussiaElwin Sharvill PROPOSAL
Morrow V BriddickAustraliaAmy Elsner PROPOSAL
David X SlusarskiItalyElwin Sharvill NEW
Clifford X BologniaUnited KingdomIoni Bowcher NEW
Chavez Q KolmetzJapanStephen Shaw RENEWAL
Costa A FlosiGermanyAsiya Javayant RENEWAL
Francesco T GauchoItalyIoni Bowcher UNQUALIFIED
Mujtaba N FigeroaAustraliaAmy Elsner NEGOTIATION
Frozen Columns
Name
Jones P Stenseth
Greenwood Z Bolognia
Johnson I Bowley
Darci T Bolognia
Jefferson Q Royster
Emily N Nicka
Costa Z Albares
Juan F Campain
David Z Wieser
Francesco R Bowley
Tony N Shinko
Octavia K Gillian
Deepesh V Bolognia
Kadeem C Darakjy
Julie S Kusko
Jones T Albares
Nicolas A Darakjy
David U Morasca
Salvatore O Perin
Johnson N Amigon
Aditya S Rim
Arvin I Butt
Tony L Butt
David C Gillian
Arvin D Amigon
Clifford P Doe
Arvin N Caldarera
Claire Q Slusarski
Jefferson R Glick
Jeanfrancois A Flosi
Maisha Z Slusarski
James Y Caudy
Tony A Gillian
Misaki U Ruta
Kadeem W Inouye
Cody G Gaucho
Kaitlin C Gaucho
Julie S Bowley
Isabel G Waycott
Nicolas B Garufi
Chavez U Oldroyd
Stacey X Vocelka
Salvatore L Iturbide
Greenwood M Slusarski
Aditya L Chui
Tony W Briddick
Jeanfrancois Y Iturbide
Jones N Vocelka
Nicolas T Royster
Misaki D Sergi
IdCountryDate
1000Australia2024-09-17
1001France2024-09-10
1002Russia2024-09-16
1003Australia2024-09-18
1004Russia2024-09-02
1005Italy2024-09-19
1006Germany2024-09-15
1007Brazil2024-09-13
1008Spain2024-09-08
1009Italy2024-09-07
1010India2024-08-27
1011Germany2024-09-04
1012Russia2024-09-22
1013India2024-09-16
1014India2024-08-25
1015India2024-09-22
1016Russia2024-09-17
1017India2024-09-02
1018India2024-09-18
1019Spain2024-09-03
1020Brazil2024-09-06
1021France2024-08-28
1022India2024-08-24
1023France2024-09-14
1024Argentina2024-09-16
1025Italy2024-09-06
1026Canada2024-09-15
1027Argentina2024-09-13
1028Canada2024-08-30
1029United Kingdom2024-08-27
1030France2024-08-26
1031France2024-08-30
1032Argentina2024-09-09
1033Canada2024-09-12
1034France2024-09-10
1035Japan2024-09-10
1036France2024-09-18
1037Italy2024-09-21
1038United Kingdom2024-09-11
1039Russia2024-09-07
1040Italy2024-09-18
1041Argentina2024-09-13
1042India2024-09-19
1043France2024-09-08
1044Argentina2024-09-07
1045Germany2024-09-12
1046India2024-09-22
1047India2024-08-28
1048France2024-08-26
1049United Kingdom2024-08-24

On-Demand Data

NameIdCountryDate
Octavia T Marrier1000Italy2024-08-25
Clifford B Whobrey1001Brazil2024-08-29
Alejandro L Darakjy1002Argentina2024-09-18
Izzy B Figeroa1003Canada2024-09-09
Costa T Nestle1004Germany2024-09-16
Tony T Royster1005Spain2024-09-02
Wickens C Tollner1006United Kingdom2024-09-15
Mujtaba O Bolognia1007United Kingdom2024-09-14
Cody L Shinko1008France2024-09-06
Maisha N Bowley1009Brazil2024-08-29
Rodrigues E Gaucho1010Argentina2024-09-01
Silvio C Chui1011France2024-09-10
Jeanfrancois V Maclead1012Russia2024-08-27
Deepesh N Vocelka1013Spain2024-09-05
Aditya P Vocelka1014United Kingdom2024-08-27
Mayumi P Garufi1015Brazil2024-08-27
Ricardo N Gaucho1016Spain2024-08-24
Faith D Kusko1017Argentina2024-08-27
Ashley I Sergi1018France2024-09-12
Juan D Gillian1019Germany2024-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood K KuskoIndiaIoni Bowcher PROPOSAL
Jefferson W MorascaAustraliaAmy Elsner PROPOSAL
Rodrigues K BowleyCanadaIvan Magalhaes NEGOTIATION
Greenwood J InouyeItalyAsiya Javayant PROPOSAL
Mayumi Y OstroskyArgentinaIvan Magalhaes NEGOTIATION
Maria M GauchoFranceIvan Magalhaes NEGOTIATION
Chavez O FigeroaSpainAsiya Javayant UNQUALIFIED
Jeanfrancois B SergiArgentinaBernardo Dominic RENEWAL
Leja N MacleadSpainAsiya Javayant QUALIFIED
Francesco Y RimSpainStephen Shaw PROPOSAL
Maria C BologniaJapanBernardo Dominic PROPOSAL
Leon Q SergiBrazilOnyama Limba UNQUALIFIED
Claire X VocelkaItalyElwin Sharvill PROPOSAL
Francesco E DilliardFranceAnna Fali NEGOTIATION
Clifford J NestleArgentinaAmy Elsner NEGOTIATION
Aditya D PerinGermanyAmy Elsner NEW
Ivar K MorascaItalyIvan Magalhaes PROPOSAL
Murillo T WieserBrazilStephen Shaw RENEWAL
Octavia Q GauchoAustraliaBernardo Dominic PROPOSAL
Jennifer F MaletJapanAsiya Javayant NEW
Smith G PerinItalyXuxue Feng NEW
Ashley H BowleyJapanAmy Elsner PROPOSAL
Johnson K DoeItalyStephen Shaw NEGOTIATION
Alejandro D SergiSpainIvan Magalhaes RENEWAL
Julie F MarrierIndiaStephen Shaw UNQUALIFIED
Morrow R NickaBrazilAmy Elsner RENEWAL
Smith F DilliardFranceStephen Shaw UNQUALIFIED
Ricardo A BriddickIndiaAsiya Javayant PROPOSAL
Jeanfrancois M RutaRussiaXuxue Feng QUALIFIED
Darci K CampainJapanStephen Shaw QUALIFIED
Alejandro S GarufiItalyAmy Elsner RENEWAL
Misaki W TollnerGermanyAnna Fali QUALIFIED
Aika D BowleyBrazilOnyama Limba PROPOSAL
Adams K MacleadSpainAnna Fali PROPOSAL
Misaki A VocelkaAustraliaIvan Magalhaes PROPOSAL
Alejandro S TollnerItalyIoni Bowcher NEGOTIATION
Jefferson R OstroskyArgentinaAnna Fali QUALIFIED
Jennifer O BriddickIndiaOnyama Limba NEW
Emily V PaprockiRussiaElwin Sharvill NEW
David Z StensethFranceIoni Bowcher 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>