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
Salvatore K RimSpainIvan Magalhaes NEGOTIATION
Claire U RutaArgentinaStephen Shaw UNQUALIFIED
Ivar F GlickItalyStephen Shaw NEW
Arvin Q NestleUnited KingdomBernardo Dominic RENEWAL
Wickens Y InouyeFranceElwin Sharvill QUALIFIED
Stacey J TollnerAustraliaStephen Shaw UNQUALIFIED
Munro I FigeroaFranceAnna Fali QUALIFIED
Juan S FigeroaFranceAsiya Javayant NEW
Johnson O NestleBrazilOnyama Limba NEGOTIATION
David V SchemmerFranceAnna Fali NEW
Francesco U OstroskyArgentinaXuxue Feng NEGOTIATION
Jefferson J MorascaUnited KingdomXuxue Feng PROPOSAL
David O FigeroaAustraliaBernardo Dominic NEW
Ricardo Y StensethCanadaIvan Magalhaes NEW
Kadeem A BologniaBrazilAsiya Javayant QUALIFIED
Aditya P FlosiBrazilAnna Fali UNQUALIFIED
Faith V FerenczBrazilElwin Sharvill PROPOSAL
Rodrigues K FlosiUnited KingdomXuxue Feng RENEWAL
Tony Z AmigonBrazilAnna Fali NEGOTIATION
Misaki U RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Johnson H NickaBrazilAmy Elsner UNQUALIFIED
Antonio N ShinkoFranceAnna Fali UNQUALIFIED
Darci W ShinkoIndiaElwin Sharvill RENEWAL
Stacey P GillianCanadaIoni Bowcher UNQUALIFIED
Jones U GlickJapanXuxue Feng NEGOTIATION
Costa A RulapaughGermanyElwin Sharvill NEW
Arvin X MorascaCanadaIoni Bowcher RENEWAL
Leja I RimRussiaIvan Magalhaes RENEWAL
Jones V ChuiGermanyIvan Magalhaes NEW
Emily A GillianJapanStephen Shaw UNQUALIFIED
Murillo M WaycottSpainIoni Bowcher NEW
Tony F DilliardAustraliaAnna Fali QUALIFIED
Izzy X MarrierSpainStephen Shaw QUALIFIED
Jefferson Z CaldareraArgentinaAnna Fali QUALIFIED
Chavez L VenereItalyAsiya Javayant QUALIFIED
Deepesh J StensethArgentinaIvan Magalhaes NEW
Leon P RutaFranceStephen Shaw RENEWAL
Isabel I RimItalyAnna Fali PROPOSAL
Izzy V ButtRussiaXuxue Feng RENEWAL
Maisha F FerenczSpainAsiya Javayant NEW
Ivar B PoquetteArgentinaIvan Magalhaes NEGOTIATION
Francesco V SergiBrazilOnyama Limba QUALIFIED
Isabel N NestleBrazilBernardo Dominic RENEWAL
Misaki T KuskoIndiaOnyama Limba NEW
Juan F RoysterGermanyAmy Elsner RENEWAL
Maisha Y SlusarskiIndiaAsiya Javayant UNQUALIFIED
Kadeem K CaudyBrazilAsiya Javayant QUALIFIED
Claire M DarakjyArgentinaAsiya Javayant PROPOSAL
Ivar E FollerItalyBernardo Dominic RENEWAL
Aditya F RoysterItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois S TollnerBrazilOnyama Limba UNQUALIFIED
Clifford U FollerRussiaAmy Elsner RENEWAL
Juan J StockhamUnited KingdomIvan Magalhaes RENEWAL
Isabel X ChuiBrazilBernardo Dominic RENEWAL
Mayumi A GarufiCanadaXuxue Feng NEGOTIATION
Misaki I VocelkaJapanAsiya Javayant QUALIFIED
Morrow Z KolmetzArgentinaBernardo Dominic UNQUALIFIED
Nicolas F BowleyItalyXuxue Feng NEGOTIATION
Cody B RutaRussiaAsiya Javayant PROPOSAL
Deepesh F SergiIndiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens N MaletBrazil2025-06-05Morlong Associates UNQUALIFIED10Amy Elsner
1001Kadeem U NestleUnited Kingdom2025-05-28Chemel, James L Cpa PROPOSAL46Anna Fali
1002Chavez P FerenczBrazil2025-05-24Rangoni Of Florence UNQUALIFIED33Xuxue Feng
1003Jeanfrancois V CaldareraRussia2025-06-01Buckley Miller Wright NEGOTIATION49Stephen Shaw
1004Arvin M GarufiArgentina2025-06-05Benton, John B Jr PROPOSAL31Ioni Bowcher
1005Isabel I ChuiSpain2025-05-19King, Christopher A Esq UNQUALIFIED68Ivan Magalhaes
1006Maria S GauchoArgentina2025-06-11Chapman, Ross E Esq NEW13Bernardo Dominic
1007Sinclair R BologniaRussia2025-06-15Feiner Bros NEGOTIATION39Elwin Sharvill
1008Kaitlin Q DoeItaly2025-06-03Printing Dimensions PROPOSAL8Xuxue Feng
1009Wickens R AmigonGermany2025-06-12Rousseaux, Michael Esq NEW59Stephen Shaw
1010Maisha Q MarrierIndia2025-06-04Commercial Press NEGOTIATION34Anna Fali
1011Tony W AlbaresFrance2025-05-18Rousseaux, Michael Esq NEGOTIATION7Bernardo Dominic
1012Ivar L GlickGermany2025-05-24Printing Dimensions QUALIFIED7Bernardo Dominic
1013Munro R MarrierBrazil2025-05-21Commercial Press UNQUALIFIED25Xuxue Feng
1014Octavia W RutaUnited Kingdom2025-05-30Buckley Miller Wright NEW21Elwin Sharvill
1015Nicolas Z CampainJapan2025-06-11Commercial Press QUALIFIED75Xuxue Feng
1016Darci A NestleCanada2025-06-13Chanay, Jeffrey A Esq UNQUALIFIED50Elwin Sharvill
1017James R BologniaFrance2025-05-21Feiner Bros NEGOTIATION75Asiya Javayant
1018Munro B WhobreySpain2025-06-15Chapman, Ross E Esq UNQUALIFIED16Asiya Javayant
1019Mayumi I GlickUnited Kingdom2025-06-11Rousseaux, Michael Esq NEGOTIATION30Stephen Shaw
1020Kadeem B RimUnited Kingdom2025-05-26Chapman, Ross E Esq NEGOTIATION62Xuxue Feng
1021Misaki P StockhamJapan2025-05-20Chemel, James L Cpa PROPOSAL25Elwin Sharvill
1022Ivar N SlusarskiItaly2025-06-01Feiner Bros PROPOSAL45Bernardo Dominic
1023Aika Y WieserArgentina2025-06-02Chemel, James L Cpa QUALIFIED98Amy Elsner
1024Julie J SchemmerUnited Kingdom2025-05-21Rousseaux, Michael Esq PROPOSAL45Anna Fali
1025Mayumi F SergiIndia2025-06-01Printing Dimensions QUALIFIED99Elwin Sharvill
1026Stacey B AlbaresArgentina2025-06-11Truhlar And Truhlar Attys PROPOSAL49Elwin Sharvill
1027Mujtaba Y FerenczJapan2025-05-23Commercial Press QUALIFIED40Asiya Javayant
1028Kaitlin K OldroydJapan2025-06-14Commercial Press NEW17Bernardo Dominic
1029Jennifer D DoeBrazil2025-05-24Rousseaux, Michael Esq NEGOTIATION53Elwin Sharvill
1030Misaki I CampainSpain2025-05-21Chapman, Ross E Esq NEW57Asiya Javayant
1031Ricardo W PaprockiJapan2025-05-21Dorl, James J Esq PROPOSAL62Onyama Limba
1032Clifford D InouyeItaly2025-06-09Buckley Miller Wright NEGOTIATION51Asiya Javayant
1033Kadeem A MaletBrazil2025-05-29Benton, John B Jr NEGOTIATION37Elwin Sharvill
1034Aruna B FollerFrance2025-06-10King, Christopher A Esq UNQUALIFIED65Bernardo Dominic
1035Wickens K MarrierGermany2025-06-14Benton, John B Jr RENEWAL92Bernardo Dominic
1036Adams G BologniaAustralia2025-06-06Morlong Associates QUALIFIED81Amy Elsner
1037Emily S RulapaughJapan2025-06-08Printing Dimensions RENEWAL63Stephen Shaw
1038Emily T FigeroaJapan2025-05-18Commercial Press QUALIFIED0Bernardo Dominic
1039Morrow S ButtGermany2025-05-21Chapman, Ross E Esq RENEWAL81Amy Elsner
1040Julie W ShinkoSpain2025-05-19Commercial Press UNQUALIFIED66Anna Fali
1041Clifford N BriddickGermany2025-05-31Chemel, James L Cpa NEGOTIATION29Elwin Sharvill
1042Morrow Z WhobreySpain2025-06-02Rousseaux, Michael Esq UNQUALIFIED19Stephen Shaw
1043Leja O ShinkoUnited Kingdom2025-06-14Chanay, Jeffrey A Esq RENEWAL53Elwin Sharvill
1044Ricardo N SchemmerCanada2025-06-05Benton, John B Jr NEW77Anna Fali
1045Aruna T BowleySpain2025-05-20Chemel, James L Cpa UNQUALIFIED48Anna Fali
1046Costa Z AlbaresAustralia2025-05-19Feltz Printing Service QUALIFIED48Onyama Limba
1047Claire Z MaletUnited Kingdom2025-06-01Dorl, James J Esq NEW1Onyama Limba
1048Tony P PaprockiCanada2025-06-11Rousseaux, Michael Esq PROPOSAL55Bernardo Dominic
1049Adams U GlickCanada2025-05-22Chemel, James L Cpa PROPOSAL1Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Chavez X SchemmerArgentinaStephen Shaw RENEWAL
Stacey Z ChuiJapanElwin Sharvill NEGOTIATION
Murillo Y StockhamGermanyElwin Sharvill NEW
Johnson D WieserItalyAnna Fali PROPOSAL
Salvatore M KolmetzSpainOnyama Limba NEW
Costa Y FlosiGermanyAmy Elsner NEGOTIATION
Francesco F MorascaRussiaOnyama Limba NEGOTIATION
Kaitlin M BowleyIndiaIvan Magalhaes QUALIFIED
Jefferson Z GarufiIndiaStephen Shaw QUALIFIED
Jennifer S TollnerRussiaAmy Elsner PROPOSAL
Jones L FollerUnited KingdomAnna Fali RENEWAL
Maria Z NickaArgentinaAnna Fali UNQUALIFIED
Sinclair B OstroskyBrazilAsiya Javayant NEW
Deepesh A RimGermanyIvan Magalhaes NEW
Faith N BriddickGermanyElwin Sharvill QUALIFIED
Kadeem T ChuiGermanyXuxue Feng RENEWAL
Costa W PoquetteIndiaStephen Shaw QUALIFIED
Arvin T OldroydItalyBernardo Dominic NEW
Silvio N AlbaresRussiaAmy Elsner RENEWAL
Adams B ButtAustraliaAmy Elsner NEGOTIATION
Antonio G RoysterIndiaAmy Elsner PROPOSAL
Juan W WhobreyRussiaXuxue Feng RENEWAL
Faith Z WieserUnited KingdomAmy Elsner NEW
Ashley X SergiItalyIoni Bowcher UNQUALIFIED
Costa P KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Aditya S StensethRussiaBernardo Dominic NEW
Julie Z OstroskyGermanyAnna Fali QUALIFIED
Izzy L CampainSpainAsiya Javayant QUALIFIED
Wickens Y MaletIndiaStephen Shaw PROPOSAL
Clifford T MarrierRussiaIoni Bowcher NEW
Alejandro B WieserItalyAsiya Javayant QUALIFIED
Aika Y FerenczJapanAmy Elsner UNQUALIFIED
Julie S WhobreyIndiaXuxue Feng RENEWAL
Mujtaba V MarrierFranceAmy Elsner PROPOSAL
Cody S CaudyJapanAmy Elsner UNQUALIFIED
Leon E DilliardGermanyXuxue Feng NEW
Morrow D StockhamCanadaAmy Elsner RENEWAL
Octavia J GillianAustraliaIvan Magalhaes PROPOSAL
Jones H BowleyRussiaAnna Fali UNQUALIFIED
Kadeem T ShinkoAustraliaOnyama Limba RENEWAL
Adams N StensethUnited KingdomElwin Sharvill RENEWAL
Juan G BowleyJapanAnna Fali NEW
Claire L CaudyCanadaAsiya Javayant QUALIFIED
Leja A SaylorsGermanyAsiya Javayant RENEWAL
David U PoquetteSpainAsiya Javayant RENEWAL
Silvio M KolmetzSpainBernardo Dominic QUALIFIED
Jennifer B PerinGermanyAmy Elsner PROPOSAL
Salvatore P SchemmerUnited KingdomBernardo Dominic NEW
Stacey U BowleyRussiaOnyama Limba RENEWAL
Murillo T CaudyBrazilXuxue Feng QUALIFIED
Frozen Columns
Name
Ashley W Marrier
Alejandro T Wieser
Antonio O Nestle
Silvio T Schemmer
Aika R Butt
Nicolas L Iturbide
Johnson E Bolognia
Mujtaba D Maclead
Murillo L Venere
Maisha Q Inouye
James K Ostrosky
Mujtaba Z Gaucho
Deepesh G Nestle
Jeanfrancois A Glick
Morrow Y Bolognia
Misaki T Ostrosky
Morrow F Bolognia
Kadeem Q Dilliard
Antonio B Paprocki
Misaki V Malet
Mayumi K Chui
Jones F Whobrey
Jefferson Y Caldarera
Ricardo M Maclead
Maria C Poquette
Leja Y Inouye
Adams N Foller
Leja N Ferencz
Stacey P Venere
Darci U Saylors
Deepesh B Glick
Johnson C Briddick
Aruna E Vocelka
Tony U Bowley
Nicolas J Wieser
Sinclair Y Butt
Murillo L Sergi
Aditya C Sergi
Costa Q Rulapaugh
Faith A Iturbide
Adams E Schemmer
Aruna V Ostrosky
Jones A Malet
Costa Z Maclead
Sinclair U Maclead
Maria H Saylors
Cody Z Nestle
Tony D Sergi
Ashley C Gaucho
Nicolas T Stockham
IdCountryDate
1000Brazil2025-05-20
1001Canada2025-06-13
1002France2025-05-30
1003United Kingdom2025-05-25
1004Italy2025-05-27
1005Italy2025-06-03
1006United Kingdom2025-05-26
1007Canada2025-05-19
1008Japan2025-05-24
1009Brazil2025-06-07
1010Russia2025-05-29
1011Argentina2025-06-09
1012Germany2025-05-18
1013Brazil2025-05-30
1014Germany2025-06-01
1015France2025-06-10
1016Australia2025-05-28
1017Spain2025-05-21
1018India2025-06-01
1019Spain2025-06-10
1020Brazil2025-05-24
1021Japan2025-05-30
1022Russia2025-05-21
1023Argentina2025-05-29
1024United Kingdom2025-05-18
1025Spain2025-05-27
1026Brazil2025-05-18
1027Japan2025-05-30
1028Argentina2025-05-23
1029Argentina2025-05-27
1030France2025-06-04
1031Italy2025-06-11
1032United Kingdom2025-05-26
1033France2025-06-04
1034France2025-05-19
1035India2025-06-15
1036Italy2025-06-03
1037Spain2025-06-06
1038Italy2025-06-02
1039Brazil2025-05-30
1040Australia2025-06-13
1041Russia2025-05-26
1042Germany2025-05-18
1043France2025-05-21
1044India2025-06-06
1045Russia2025-05-26
1046India2025-05-22
1047Russia2025-05-19
1048Japan2025-05-21
1049France2025-05-28

On-Demand Data

NameIdCountryDate
Ricardo D Ostrosky1000Italy2025-05-25
Jennifer J Caudy1001Australia2025-06-12
Salvatore W Bolognia1002Australia2025-05-26
Faith F Kusko1003Australia2025-06-09
Mayumi P Briddick1004Spain2025-06-11
Murillo R Gaucho1005Italy2025-05-22
Munro T Amigon1006Australia2025-06-15
Darci Q Figeroa1007Brazil2025-06-06
Arvin J Kusko1008Spain2025-06-13
Emily P Caldarera1009Russia2025-05-21
Murillo G Maclead1010Italy2025-06-09
Sinclair B Wieser1011Argentina2025-05-25
Isabel C Amigon1012France2025-06-01
Izzy U Amigon1013Italy2025-06-02
Aika V Maclead1014Canada2025-05-31
Jefferson A Doe1015Brazil2025-06-05
Faith J Morasca1016Spain2025-05-19
Mayumi T Doe1017Canada2025-05-22
Ashley D Amigon1018Australia2025-06-04
Jennifer Y Amigon1019France2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James V WieserGermanyIvan Magalhaes UNQUALIFIED
Octavia R FollerFranceIoni Bowcher UNQUALIFIED
Stacey Y CaldareraUnited KingdomStephen Shaw RENEWAL
Jones A GlickRussiaAnna Fali NEGOTIATION
Izzy S ShinkoCanadaElwin Sharvill QUALIFIED
Chavez J MacleadGermanyIvan Magalhaes NEW
Silvio B PoquetteGermanyIvan Magalhaes UNQUALIFIED
Salvatore W StensethJapanAnna Fali PROPOSAL
Smith F WieserRussiaIoni Bowcher QUALIFIED
Tony D FollerBrazilOnyama Limba PROPOSAL
Ricardo N KuskoRussiaAnna Fali RENEWAL
Isabel C OldroydCanadaOnyama Limba UNQUALIFIED
Claire E MarrierCanadaElwin Sharvill PROPOSAL
Maisha Q AlbaresSpainAnna Fali NEGOTIATION
Leja U RulapaughBrazilElwin Sharvill PROPOSAL
Salvatore W IturbideRussiaAmy Elsner NEGOTIATION
Jeanfrancois F GarufiFranceStephen Shaw NEW
Darci S ButtCanadaOnyama Limba RENEWAL
Silvio T PerinArgentinaAsiya Javayant PROPOSAL
Tony K CaudyItalyXuxue Feng NEGOTIATION
Misaki K PerinRussiaOnyama Limba QUALIFIED
Francesco N PerinRussiaOnyama Limba RENEWAL
Kadeem V FlosiFranceAmy Elsner PROPOSAL
Deepesh Y MacleadRussiaIvan Magalhaes NEW
Leja S VocelkaAustraliaIoni Bowcher PROPOSAL
Chavez Z DilliardBrazilBernardo Dominic QUALIFIED
Aditya O StensethGermanyIvan Magalhaes NEGOTIATION
Juan K StensethIndiaIoni Bowcher UNQUALIFIED
Aruna F TollnerUnited KingdomAmy Elsner QUALIFIED
Munro G NickaGermanyOnyama Limba NEW
Jones Z GauchoArgentinaAmy Elsner RENEWAL
Jeanfrancois P TollnerGermanyAsiya Javayant QUALIFIED
Ivar X IturbideArgentinaXuxue Feng NEW
James X StensethJapanStephen Shaw UNQUALIFIED
Munro C WieserCanadaElwin Sharvill PROPOSAL
Leon E AmigonAustraliaStephen Shaw NEW
Chavez S ButtCanadaStephen Shaw NEGOTIATION
Jones B WaycottBrazilOnyama Limba UNQUALIFIED
Silvio Q BowleyFranceOnyama Limba PROPOSAL
Juan I CaudyGermanyIvan Magalhaes NEW

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