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
Jennifer Q StensethFranceStephen Shaw UNQUALIFIED
Greenwood P MaletJapanElwin Sharvill NEGOTIATION
Emily S BologniaFranceAsiya Javayant NEGOTIATION
Darci O SergiUnited KingdomAmy Elsner RENEWAL
Maria O RimFranceBernardo Dominic UNQUALIFIED
Emily M FlosiCanadaXuxue Feng NEW
Claire Q KolmetzRussiaAsiya Javayant QUALIFIED
Juan Q CaudyJapanAnna Fali NEGOTIATION
Murillo A KuskoAustraliaElwin Sharvill NEW
Leon G BologniaFranceIvan Magalhaes UNQUALIFIED
Jones A FlosiGermanyElwin Sharvill NEW
Costa Y StensethUnited KingdomXuxue Feng UNQUALIFIED
Smith Z NickaBrazilStephen Shaw PROPOSAL
Jones P StensethSpainBernardo Dominic NEGOTIATION
Ivar Z FigeroaIndiaIvan Magalhaes RENEWAL
Clifford S InouyeItalyXuxue Feng PROPOSAL
Claire X RimRussiaXuxue Feng QUALIFIED
Leja H RulapaughAustraliaStephen Shaw PROPOSAL
Octavia X NestleItalyIvan Magalhaes NEW
Sinclair Y WhobreyFranceXuxue Feng QUALIFIED
Wickens Q TollnerAustraliaAnna Fali NEW
Mujtaba V OstroskyCanadaAsiya Javayant QUALIFIED
Aika Y AlbaresSpainAsiya Javayant QUALIFIED
Greenwood Z StensethAustraliaOnyama Limba NEGOTIATION
Leon L GillianAustraliaStephen Shaw NEW
Salvatore T BowleyGermanyXuxue Feng PROPOSAL
Murillo R GauchoRussiaIvan Magalhaes NEW
Tony X VocelkaBrazilIoni Bowcher QUALIFIED
Julie Z GarufiBrazilIoni Bowcher PROPOSAL
Francesco M NestleGermanyIvan Magalhaes PROPOSAL
Ricardo K RulapaughAustraliaXuxue Feng NEW
Nicolas R OldroydGermanyBernardo Dominic QUALIFIED
Munro H VocelkaCanadaXuxue Feng QUALIFIED
Izzy M BriddickUnited KingdomBernardo Dominic RENEWAL
Cody T DilliardAustraliaStephen Shaw NEW
Faith M NickaItalyStephen Shaw RENEWAL
Clifford X GarufiFranceElwin Sharvill PROPOSAL
James J KolmetzJapanAmy Elsner NEGOTIATION
Leja A TollnerItalyOnyama Limba NEW
Isabel I FigeroaBrazilAsiya Javayant PROPOSAL
Deepesh A AmigonUnited KingdomIoni Bowcher NEGOTIATION
Nicolas E VenereSpainAsiya Javayant PROPOSAL
Kaitlin A BriddickArgentinaXuxue Feng PROPOSAL
Jeanfrancois D VocelkaItalyAnna Fali PROPOSAL
Clifford L InouyeRussiaIoni Bowcher QUALIFIED
Francesco O RutaFranceOnyama Limba QUALIFIED
Murillo B PaprockiRussiaStephen Shaw QUALIFIED
Mayumi K ShinkoArgentinaIvan Magalhaes RENEWAL
Ashley X MorascaGermanyOnyama Limba RENEWAL
Salvatore L PerinArgentinaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Deepesh D VenereGermanyAmy Elsner NEGOTIATION
Antonio O DoeAustraliaIvan Magalhaes NEW
Jennifer G KuskoArgentinaElwin Sharvill NEW
Leja H CampainArgentinaAmy Elsner QUALIFIED
Darci X ShinkoCanadaElwin Sharvill NEGOTIATION
Maisha I WaycottSpainAnna Fali UNQUALIFIED
Murillo F MacleadIndiaBernardo Dominic RENEWAL
Leon P SergiIndiaStephen Shaw QUALIFIED
Isabel X FerenczGermanyAnna Fali QUALIFIED
Jones S RimRussiaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore R OstroskyItaly2024-06-13Rangoni Of Florence PROPOSAL43Stephen Shaw
1001Morrow Y RimItaly2024-06-11Chapman, Ross E Esq UNQUALIFIED16Elwin Sharvill
1002Silvio U DarakjyRussia2024-06-01Printing Dimensions NEW81Amy Elsner
1003Johnson N MaletItaly2024-06-04Commercial Press PROPOSAL20Onyama Limba
1004Stacey M SaylorsSpain2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED63Bernardo Dominic
1005Ivar S InouyeArgentina2024-05-26Dorl, James J Esq RENEWAL32Onyama Limba
1006Aditya P PoquetteItaly2024-06-06King, Christopher A Esq PROPOSAL19Ioni Bowcher
1007Munro I RimAustralia2024-06-07Commercial Press UNQUALIFIED14Ivan Magalhaes
1008Munro W VenereJapan2024-05-25Benton, John B Jr RENEWAL38Asiya Javayant
1009Tony Z IturbideBrazil2024-06-20Truhlar And Truhlar Attys NEW32Onyama Limba
1010Chavez E BriddickSpain2024-06-02Feltz Printing Service UNQUALIFIED79Onyama Limba
1011Ricardo V PerinFrance2024-06-06Commercial Press UNQUALIFIED84Anna Fali
1012Leja W MaletGermany2024-06-15Chanay, Jeffrey A Esq QUALIFIED61Ioni Bowcher
1013Murillo B DarakjyFrance2024-06-21Feiner Bros QUALIFIED79Amy Elsner
1014Nicolas A ChuiJapan2024-06-21Commercial Press QUALIFIED76Elwin Sharvill
1015Wickens V BologniaUnited Kingdom2024-05-25King, Christopher A Esq NEGOTIATION61Amy Elsner
1016Deepesh U NickaUnited Kingdom2024-06-10Rousseaux, Michael Esq NEGOTIATION29Ioni Bowcher
1017David G PoquetteArgentina2024-06-04Printing Dimensions UNQUALIFIED81Bernardo Dominic
1018Ashley V BriddickRussia2024-06-02Buckley Miller Wright NEW91Anna Fali
1019Jeanfrancois B AmigonArgentina2024-06-11King, Christopher A Esq NEGOTIATION43Bernardo Dominic
1020Jeanfrancois F KolmetzGermany2024-06-07Benton, John B Jr NEW58Asiya Javayant
1021Clifford E InouyeCanada2024-06-02Dorl, James J Esq QUALIFIED79Ioni Bowcher
1022Maria A PoquetteArgentina2024-06-14King, Christopher A Esq RENEWAL93Elwin Sharvill
1023Antonio Z AmigonArgentina2024-05-26Morlong Associates NEGOTIATION22Elwin Sharvill
1024Kaitlin S MacleadRussia2024-05-27Printing Dimensions NEGOTIATION58Onyama Limba
1025Faith P RutaAustralia2024-05-23Morlong Associates NEGOTIATION26Anna Fali
1026Cody M MacleadItaly2024-06-02Dorl, James J Esq QUALIFIED49Anna Fali
1027Jennifer B WieserSpain2024-06-13Buckley Miller Wright NEW86Ivan Magalhaes
1028Morrow W DilliardBrazil2024-06-07Morlong Associates UNQUALIFIED75Anna Fali
1029Maisha V PoquetteSpain2024-06-18Chemel, James L Cpa NEW95Ivan Magalhaes
1030Rodrigues V StensethRussia2024-05-23Rangoni Of Florence PROPOSAL23Ioni Bowcher
1031Emily A WieserSpain2024-05-23Rousseaux, Michael Esq NEGOTIATION5Anna Fali
1032Leon C MaletAustralia2024-06-11Feiner Bros PROPOSAL0Stephen Shaw
1033Nicolas Q FerenczJapan2024-06-10Buckley Miller Wright NEW58Ioni Bowcher
1034Claire K SchemmerArgentina2024-06-04Printing Dimensions NEGOTIATION19Bernardo Dominic
1035Greenwood R GillianGermany2024-06-02Truhlar And Truhlar Attys PROPOSAL6Xuxue Feng
1036Aika R StockhamFrance2024-06-03King, Christopher A Esq RENEWAL89Bernardo Dominic
1037Wickens O PoquetteCanada2024-06-14Chapman, Ross E Esq PROPOSAL80Anna Fali
1038Kadeem V FerenczFrance2024-05-29Rangoni Of Florence RENEWAL89Bernardo Dominic
1039Jeanfrancois F AmigonIndia2024-06-11King, Christopher A Esq NEW78Elwin Sharvill
1040Izzy Y ButtBrazil2024-06-14Feiner Bros NEGOTIATION13Amy Elsner
1041Jefferson H CampainSpain2024-06-11Rangoni Of Florence NEGOTIATION38Bernardo Dominic
1042Aditya H NickaGermany2024-05-23Rangoni Of Florence PROPOSAL42Anna Fali
1043Smith K KolmetzIndia2024-06-16Truhlar And Truhlar Attys NEGOTIATION24Asiya Javayant
1044Aditya D SchemmerFrance2024-05-31Buckley Miller Wright UNQUALIFIED69Ivan Magalhaes
1045Mujtaba K DilliardSpain2024-06-15Rousseaux, Michael Esq NEW52Asiya Javayant
1046Greenwood B StockhamFrance2024-05-25Feltz Printing Service QUALIFIED59Anna Fali
1047Jefferson L MorascaBrazil2024-06-21Printing Dimensions UNQUALIFIED50Xuxue Feng
1048Juan C GillianBrazil2024-05-28Chapman, Ross E Esq PROPOSAL78Onyama Limba
1049Kadeem I GarufiSpain2024-06-01Commercial Press NEW77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon W WaycottAustraliaStephen Shaw NEW
Faith V NestleGermanyBernardo Dominic RENEWAL
Cody B BowleyJapanOnyama Limba NEW
Claire F DilliardFranceXuxue Feng QUALIFIED
Chavez F WhobreyCanadaXuxue Feng NEGOTIATION
Adams U GillianUnited KingdomIoni Bowcher NEW
James A SchemmerJapanBernardo Dominic RENEWAL
Rodrigues Q GauchoJapanBernardo Dominic RENEWAL
Nicolas M MorascaFranceXuxue Feng NEGOTIATION
Smith L AmigonJapanElwin Sharvill RENEWAL
Kadeem L BologniaArgentinaStephen Shaw QUALIFIED
Aruna M RutaSpainElwin Sharvill NEGOTIATION
Jeanfrancois B VocelkaSpainIvan Magalhaes RENEWAL
Kaitlin C CaudyGermanyIvan Magalhaes PROPOSAL
Deepesh G WieserRussiaBernardo Dominic UNQUALIFIED
Kaitlin F FigeroaCanadaAnna Fali NEGOTIATION
Claire E GlickJapanAmy Elsner QUALIFIED
David B GauchoItalyElwin Sharvill NEGOTIATION
Mayumi W PaprockiFranceOnyama Limba NEW
Emily F GillianSpainBernardo Dominic PROPOSAL
Ricardo S MaletCanadaAmy Elsner NEGOTIATION
Leon H GarufiArgentinaAmy Elsner RENEWAL
Antonio I SchemmerBrazilAsiya Javayant RENEWAL
Mayumi D PerinGermanyAnna Fali RENEWAL
Silvio I AmigonArgentinaIvan Magalhaes NEW
Rodrigues B SaylorsCanadaAmy Elsner NEW
Chavez H StockhamGermanyBernardo Dominic PROPOSAL
Mujtaba A MaletUnited KingdomStephen Shaw NEGOTIATION
Ricardo G MarrierBrazilBernardo Dominic NEW
Silvio I RimAustraliaElwin Sharvill QUALIFIED
Johnson Y FlosiCanadaXuxue Feng UNQUALIFIED
Claire A GarufiFranceXuxue Feng QUALIFIED
Jones K BriddickFranceIoni Bowcher NEGOTIATION
Cody Z FigeroaSpainBernardo Dominic UNQUALIFIED
Isabel B MaletCanadaElwin Sharvill RENEWAL
Rodrigues A SaylorsCanadaBernardo Dominic RENEWAL
Deepesh O WieserArgentinaAnna Fali QUALIFIED
Kadeem T RulapaughBrazilIvan Magalhaes PROPOSAL
Stacey J KolmetzBrazilOnyama Limba QUALIFIED
Deepesh M WaycottFranceElwin Sharvill QUALIFIED
Sinclair P KolmetzIndiaAnna Fali PROPOSAL
Jones K GauchoIndiaElwin Sharvill RENEWAL
Aditya B StensethFranceXuxue Feng PROPOSAL
Aruna K CampainSpainBernardo Dominic QUALIFIED
Claire G SchemmerCanadaIvan Magalhaes PROPOSAL
Claire I DilliardSpainElwin Sharvill NEGOTIATION
Munro W DoeItalyBernardo Dominic PROPOSAL
Leon P AmigonFranceAnna Fali RENEWAL
Francesco X AlbaresBrazilXuxue Feng UNQUALIFIED
Kaitlin O BologniaCanadaStephen Shaw RENEWAL
Frozen Columns
Name
Isabel Q Stockham
Costa X Poquette
Jeanfrancois L Garufi
Francesco G Waycott
Antonio Q Campain
Izzy U Caudy
Faith R Bowley
Jefferson C Malet
David S Flosi
Antonio H Chui
Octavia H Sergi
Izzy S Ostrosky
Darci I Paprocki
James T Rim
Arvin L Whobrey
Kadeem K Ruta
Leon M Tollner
Cody O Waycott
Silvio C Briddick
Tony V Darakjy
David O Caudy
Jefferson A Paprocki
Jennifer D Gillian
Ricardo Q Royster
Smith N Kolmetz
Wickens D Oldroyd
Tony D Malet
Misaki F Garufi
Jeanfrancois Y Vocelka
Claire M Bolognia
David E Gillian
James Z Ruta
Greenwood M Amigon
Misaki J Vocelka
Kaitlin C Foller
Ivar I Ostrosky
Jennifer V Amigon
Aditya R Stenseth
Kaitlin Q Oldroyd
Rodrigues D Dilliard
Misaki W Garufi
Greenwood A Flosi
Aditya M Flosi
Alejandro D Ferencz
David E Doe
Johnson C Saylors
Cody Q Ostrosky
Costa B Ferencz
Alejandro E Flosi
Costa Z Waycott
IdCountryDate
1000Russia2024-05-28
1001United Kingdom2024-06-20
1002Italy2024-05-31
1003Canada2024-05-31
1004Italy2024-06-21
1005Argentina2024-05-30
1006Brazil2024-06-12
1007United Kingdom2024-06-10
1008Canada2024-05-25
1009Japan2024-05-24
1010Japan2024-06-01
1011Argentina2024-05-25
1012Australia2024-06-13
1013India2024-06-05
1014Japan2024-06-04
1015Spain2024-06-13
1016India2024-06-09
1017Argentina2024-06-05
1018Spain2024-05-25
1019Australia2024-06-02
1020Germany2024-06-02
1021India2024-06-10
1022Brazil2024-06-11
1023France2024-05-31
1024France2024-06-17
1025India2024-06-21
1026Japan2024-05-31
1027France2024-05-28
1028Argentina2024-05-28
1029Brazil2024-05-31
1030Argentina2024-05-29
1031Germany2024-05-27
1032Germany2024-06-15
1033India2024-06-08
1034Germany2024-05-25
1035Japan2024-05-23
1036France2024-06-18
1037Australia2024-06-17
1038United Kingdom2024-06-12
1039Argentina2024-06-19
1040United Kingdom2024-06-18
1041Italy2024-06-20
1042Russia2024-06-21
1043France2024-05-27
1044Russia2024-06-11
1045Japan2024-05-24
1046Spain2024-06-01
1047United Kingdom2024-06-05
1048Canada2024-06-11
1049Germany2024-06-15

On-Demand Data

NameIdCountryDate
Francesco K Amigon1000Japan2024-06-09
Misaki E Bolognia1001Canada2024-05-23
Faith V Chui1002Argentina2024-05-31
Tony N Figeroa1003Spain2024-06-07
Antonio O Marrier1004Spain2024-06-04
Octavia B Nestle1005United Kingdom2024-06-21
Aditya A Waycott1006Canada2024-06-08
Octavia Q Kolmetz1007Canada2024-05-27
Francesco L Perin1008Spain2024-06-04
Morrow B Venere1009Brazil2024-06-10
Jeanfrancois I Schemmer1010Brazil2024-06-09
Darci Q Caldarera1011Argentina2024-06-11
Aika Y Wieser1012Japan2024-06-04
Johnson L Dilliard1013France2024-06-18
Deepesh Q Schemmer1014Brazil2024-06-03
Costa A Royster1015Spain2024-05-28
David L Wieser1016Italy2024-05-23
Smith M Stenseth1017Spain2024-06-06
Octavia U Marrier1018France2024-05-25
Nicolas N Shinko1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin J ShinkoSpainAmy Elsner NEGOTIATION
Arvin O RimCanadaIoni Bowcher NEW
Aika D RoysterItalyIoni Bowcher RENEWAL
Smith T ButtArgentinaAsiya Javayant PROPOSAL
Nicolas A ButtBrazilBernardo Dominic PROPOSAL
Alejandro E GillianItalyXuxue Feng NEGOTIATION
Izzy C DilliardJapanIoni Bowcher UNQUALIFIED
Isabel H GillianIndiaBernardo Dominic PROPOSAL
Johnson F AmigonArgentinaIvan Magalhaes PROPOSAL
Salvatore U TollnerJapanIoni Bowcher NEW
Kadeem S WhobreyArgentinaBernardo Dominic UNQUALIFIED
Munro Y GlickFranceElwin Sharvill RENEWAL
Tony D BologniaIndiaStephen Shaw UNQUALIFIED
Aditya Q VenereArgentinaAnna Fali PROPOSAL
Jefferson Q IturbideSpainIoni Bowcher UNQUALIFIED
Isabel U SaylorsItalyElwin Sharvill RENEWAL
Nicolas U DarakjyFranceBernardo Dominic PROPOSAL
Chavez A WieserBrazilOnyama Limba PROPOSAL
Greenwood P MaletFranceAmy Elsner NEW
Maisha Z IturbideSpainOnyama Limba QUALIFIED
Francesco H IturbideSpainXuxue Feng NEW
Claire U FigeroaGermanyAmy Elsner NEW
Tony D DarakjyRussiaElwin Sharvill NEGOTIATION
Ricardo M PoquetteUnited KingdomBernardo Dominic PROPOSAL
Greenwood K MacleadArgentinaIvan Magalhaes RENEWAL
David J SlusarskiUnited KingdomAnna Fali UNQUALIFIED
David I RutaJapanAnna Fali UNQUALIFIED
Leja H InouyeAustraliaOnyama Limba NEGOTIATION
Jefferson I ButtGermanyOnyama Limba UNQUALIFIED
Aika C RutaBrazilBernardo Dominic NEW
David Y VocelkaIndiaOnyama Limba PROPOSAL
Jones U AmigonJapanIoni Bowcher QUALIFIED
Misaki O CaldareraBrazilOnyama Limba PROPOSAL
Leja M RimUnited KingdomStephen Shaw RENEWAL
Nicolas E RimItalyAmy Elsner QUALIFIED
Arvin U DilliardUnited KingdomAnna Fali NEGOTIATION
Munro P PerinGermanyXuxue Feng PROPOSAL
Aika Y ChuiJapanIoni Bowcher QUALIFIED
Costa I FerenczItalyAsiya Javayant UNQUALIFIED
Johnson E RulapaughRussiaBernardo Dominic 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>