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
Emily L InouyeIndiaAmy Elsner UNQUALIFIED
Tony W DilliardCanadaStephen Shaw QUALIFIED
Sinclair W OstroskySpainAsiya Javayant NEGOTIATION
Leon I FollerUnited KingdomBernardo Dominic PROPOSAL
Ivar Z ShinkoCanadaXuxue Feng NEW
David A DoeCanadaIvan Magalhaes RENEWAL
Kaitlin X KuskoArgentinaStephen Shaw UNQUALIFIED
Aika E StensethItalyOnyama Limba NEW
Jennifer A RulapaughCanadaBernardo Dominic QUALIFIED
Maisha H KuskoCanadaXuxue Feng QUALIFIED
Aika G InouyeItalyAsiya Javayant UNQUALIFIED
Francesco S ButtBrazilAmy Elsner PROPOSAL
Ivar X MaletGermanyBernardo Dominic QUALIFIED
Mujtaba L DarakjyIndiaIoni Bowcher NEGOTIATION
Cody P AmigonGermanyAsiya Javayant PROPOSAL
Johnson Q AlbaresUnited KingdomOnyama Limba NEGOTIATION
Tony V StockhamCanadaIoni Bowcher NEGOTIATION
Clifford I PerinItalyStephen Shaw NEW
James F InouyeRussiaXuxue Feng QUALIFIED
David I VocelkaAustraliaXuxue Feng UNQUALIFIED
Jones L ButtAustraliaAsiya Javayant RENEWAL
Tony D FollerRussiaIoni Bowcher PROPOSAL
Adams J RutaFranceIoni Bowcher PROPOSAL
Greenwood W VenereArgentinaXuxue Feng QUALIFIED
Darci M VenereRussiaAnna Fali UNQUALIFIED
Sinclair P DoeSpainOnyama Limba UNQUALIFIED
Jennifer L OstroskyRussiaElwin Sharvill UNQUALIFIED
Julie I DoeIndiaStephen Shaw PROPOSAL
Maisha S OldroydSpainAnna Fali RENEWAL
Izzy G ButtItalyBernardo Dominic UNQUALIFIED
Morrow D SergiJapanBernardo Dominic RENEWAL
Alejandro W BriddickAustraliaXuxue Feng NEW
Jefferson P MorascaCanadaXuxue Feng QUALIFIED
Tony K RoysterGermanyAsiya Javayant QUALIFIED
Kaitlin D MaletJapanAnna Fali QUALIFIED
Misaki P StockhamJapanAnna Fali QUALIFIED
Darci A FerenczCanadaElwin Sharvill RENEWAL
Deepesh X WaycottArgentinaIvan Magalhaes PROPOSAL
Cody O OstroskyUnited KingdomAmy Elsner NEW
Jennifer U RimJapanAsiya Javayant UNQUALIFIED
Ashley G AlbaresUnited KingdomXuxue Feng PROPOSAL
Aika B PerinArgentinaBernardo Dominic UNQUALIFIED
Deepesh D StockhamArgentinaAsiya Javayant UNQUALIFIED
Adams A IturbideUnited KingdomOnyama Limba UNQUALIFIED
Misaki U StensethFranceAsiya Javayant UNQUALIFIED
Misaki B PoquetteArgentinaElwin Sharvill UNQUALIFIED
Nicolas X DarakjyUnited KingdomAnna Fali PROPOSAL
Jennifer N ShinkoItalyStephen Shaw UNQUALIFIED
Clifford I KolmetzBrazilAsiya Javayant UNQUALIFIED
Rodrigues T WhobreyCanadaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer G ButtAustraliaStephen Shaw NEW
Jones Z IturbideIndiaOnyama Limba RENEWAL
Emily R FerenczRussiaOnyama Limba QUALIFIED
Alejandro F SaylorsUnited KingdomAsiya Javayant RENEWAL
Isabel R AlbaresArgentinaAnna Fali PROPOSAL
Wickens U PoquetteJapanOnyama Limba PROPOSAL
Tony M KuskoBrazilIvan Magalhaes UNQUALIFIED
Jefferson N SchemmerArgentinaOnyama Limba UNQUALIFIED
Silvio X ChuiFranceStephen Shaw NEGOTIATION
Misaki G PaprockiJapanBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya P FollerGermany2024-05-29Rangoni Of Florence QUALIFIED88Elwin Sharvill
1001Smith G WhobreyFrance2024-05-27Feltz Printing Service UNQUALIFIED59Xuxue Feng
1002Aditya P OstroskyArgentina2024-06-08Feltz Printing Service PROPOSAL24Anna Fali
1003Murillo Y RulapaughGermany2024-06-09Rangoni Of Florence NEW96Xuxue Feng
1004Wickens E KolmetzItaly2024-06-06Chemel, James L Cpa RENEWAL68Onyama Limba
1005Smith H FollerCanada2024-06-11Printing Dimensions NEGOTIATION27Stephen Shaw
1006David R MaletCanada2024-05-19Printing Dimensions PROPOSAL85Anna Fali
1007Faith B VenereAustralia2024-06-07Buckley Miller Wright PROPOSAL51Amy Elsner
1008Munro D OldroydArgentina2024-06-11Chapman, Ross E Esq NEGOTIATION5Amy Elsner
1009Nicolas F MarrierBrazil2024-05-31Chapman, Ross E Esq NEW30Ioni Bowcher
1010Arvin D ChuiGermany2024-05-27Rousseaux, Michael Esq UNQUALIFIED21Anna Fali
1011Leon D InouyeBrazil2024-06-11Chemel, James L Cpa RENEWAL44Asiya Javayant
1012Jennifer G MorascaIndia2024-05-25Benton, John B Jr RENEWAL83Ivan Magalhaes
1013Wickens E BologniaArgentina2024-06-03King, Christopher A Esq NEW79Bernardo Dominic
1014Leja X GauchoArgentina2024-05-29Rangoni Of Florence NEW57Xuxue Feng
1015Misaki L PaprockiJapan2024-06-02Morlong Associates RENEWAL43Anna Fali
1016Smith N GlickRussia2024-06-05Truhlar And Truhlar Attys PROPOSAL9Elwin Sharvill
1017Silvio P OstroskyIndia2024-06-01Benton, John B Jr QUALIFIED43Onyama Limba
1018Tony P DoeUnited Kingdom2024-06-05Chanay, Jeffrey A Esq PROPOSAL38Onyama Limba
1019Stacey N AlbaresItaly2024-05-29Morlong Associates QUALIFIED43Bernardo Dominic
1020Wickens Z GauchoItaly2024-05-28Printing Dimensions UNQUALIFIED72Onyama Limba
1021Costa Y GarufiGermany2024-05-27Feiner Bros PROPOSAL53Ioni Bowcher
1022Kadeem F CaldareraGermany2024-05-22Truhlar And Truhlar Attys NEGOTIATION4Xuxue Feng
1023Juan I DarakjyAustralia2024-06-16Feltz Printing Service NEW76Amy Elsner
1024James Z DilliardArgentina2024-05-22Morlong Associates RENEWAL44Ivan Magalhaes
1025Aruna H NestleIndia2024-05-21Rangoni Of Florence NEGOTIATION35Onyama Limba
1026Tony K RoysterJapan2024-06-01Dorl, James J Esq PROPOSAL58Ivan Magalhaes
1027Antonio J WaycottJapan2024-05-22Chemel, James L Cpa NEW83Amy Elsner
1028Deepesh Y NickaUnited Kingdom2024-05-31Dorl, James J Esq NEW59Onyama Limba
1029Adams Y WaycottJapan2024-05-26Buckley Miller Wright UNQUALIFIED83Asiya Javayant
1030Alejandro W OstroskyCanada2024-06-09Chapman, Ross E Esq QUALIFIED27Asiya Javayant
1031Deepesh B OldroydRussia2024-05-18Rangoni Of Florence RENEWAL42Amy Elsner
1032Ivar K GlickIndia2024-05-20Morlong Associates PROPOSAL86Xuxue Feng
1033Leon B CaudyFrance2024-05-22Chanay, Jeffrey A Esq QUALIFIED74Stephen Shaw
1034Jones W ChuiArgentina2024-05-22Truhlar And Truhlar Attys QUALIFIED68Ioni Bowcher
1035Smith J WaycottSpain2024-05-31Chanay, Jeffrey A Esq PROPOSAL8Elwin Sharvill
1036Misaki Y GillianItaly2024-05-31Feiner Bros NEGOTIATION84Onyama Limba
1037Cody S DilliardJapan2024-05-30Chemel, James L Cpa NEGOTIATION78Anna Fali
1038Chavez B VenereAustralia2024-06-09Commercial Press QUALIFIED61Elwin Sharvill
1039Adams D GillianSpain2024-05-20Truhlar And Truhlar Attys PROPOSAL48Ioni Bowcher
1040Alejandro D StockhamSpain2024-06-13Commercial Press NEGOTIATION98Elwin Sharvill
1041Isabel L SlusarskiFrance2024-06-16Benton, John B Jr QUALIFIED92Xuxue Feng
1042Costa D SergiGermany2024-06-14Benton, John B Jr UNQUALIFIED4Onyama Limba
1043David P AlbaresSpain2024-06-09Rousseaux, Michael Esq RENEWAL35Amy Elsner
1044Cody A CaldareraBrazil2024-06-04Feiner Bros RENEWAL72Xuxue Feng
1045Izzy T ButtGermany2024-05-29Dorl, James J Esq QUALIFIED90Asiya Javayant
1046Sinclair Q DilliardJapan2024-06-04Chapman, Ross E Esq UNQUALIFIED87Onyama Limba
1047Deepesh R DoeAustralia2024-05-27Buckley Miller Wright QUALIFIED97Onyama Limba
1048Salvatore O GauchoRussia2024-06-16Rangoni Of Florence NEGOTIATION72Anna Fali
1049Leja O VenereRussia2024-05-24Feiner Bros QUALIFIED29Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody B AlbaresBrazilBernardo Dominic NEGOTIATION
Maisha F SlusarskiAustraliaIoni Bowcher RENEWAL
Rodrigues F KolmetzJapanStephen Shaw RENEWAL
Aika G GillianItalyIoni Bowcher UNQUALIFIED
Silvio D KolmetzFranceElwin Sharvill NEW
Ricardo Q StockhamFranceElwin Sharvill PROPOSAL
Wickens U RutaAustraliaStephen Shaw PROPOSAL
Emily I FerenczCanadaAsiya Javayant NEGOTIATION
Cody X RulapaughGermanyAnna Fali NEGOTIATION
Faith M RimAustraliaAsiya Javayant NEGOTIATION
Johnson P RutaCanadaXuxue Feng PROPOSAL
James V RulapaughJapanElwin Sharvill PROPOSAL
Murillo Z AlbaresItalyXuxue Feng QUALIFIED
James U GauchoBrazilAsiya Javayant RENEWAL
Darci B FlosiSpainBernardo Dominic NEW
Ricardo G RutaAustraliaStephen Shaw NEGOTIATION
Adams N CampainCanadaAsiya Javayant NEGOTIATION
Leja I InouyeJapanXuxue Feng QUALIFIED
Antonio G FollerJapanBernardo Dominic UNQUALIFIED
Francesco G InouyeIndiaXuxue Feng NEGOTIATION
Leon B FigeroaGermanyAmy Elsner QUALIFIED
Munro J MorascaBrazilIvan Magalhaes NEW
Cody G RutaSpainIoni Bowcher NEW
Leja I ShinkoBrazilAsiya Javayant RENEWAL
Mujtaba N MorascaBrazilElwin Sharvill NEGOTIATION
Murillo G InouyeJapanIoni Bowcher PROPOSAL
Kadeem Z KuskoRussiaAnna Fali RENEWAL
Misaki M KuskoUnited KingdomXuxue Feng PROPOSAL
Aika O SchemmerArgentinaStephen Shaw NEW
Aruna I BowleyUnited KingdomIoni Bowcher PROPOSAL
Cody H DilliardBrazilAsiya Javayant RENEWAL
Jennifer S NestleUnited KingdomElwin Sharvill PROPOSAL
Darci P CampainUnited KingdomAnna Fali UNQUALIFIED
David U MacleadFranceAnna Fali NEW
Octavia E MaletGermanyAnna Fali UNQUALIFIED
Jones Q NestleItalyElwin Sharvill PROPOSAL
Octavia P GarufiFranceXuxue Feng PROPOSAL
Kaitlin A PoquetteJapanXuxue Feng NEW
Juan D OstroskyAustraliaStephen Shaw RENEWAL
Sinclair F MaletSpainXuxue Feng UNQUALIFIED
Maria A CampainJapanOnyama Limba UNQUALIFIED
Juan G PerinAustraliaIoni Bowcher PROPOSAL
Kadeem N SaylorsCanadaElwin Sharvill NEW
Deepesh U DilliardIndiaAsiya Javayant NEW
Rodrigues E InouyeUnited KingdomAsiya Javayant NEW
Munro X MaletBrazilIoni Bowcher NEW
Salvatore D WhobreyGermanyIoni Bowcher RENEWAL
Darci F KuskoArgentinaIoni Bowcher NEW
Aditya Y ButtCanadaStephen Shaw UNQUALIFIED
Nicolas B VenereUnited KingdomOnyama Limba RENEWAL
Frozen Columns
Name
Sinclair C Whobrey
Mujtaba C Dilliard
Mujtaba B Malet
Johnson Z Inouye
Jefferson R Gaucho
Jones L Venere
Silvio V Stenseth
Morrow M Caudy
Francesco D Marrier
James A Kusko
Cody W Iturbide
Misaki U Stenseth
Morrow W Chui
Julie Z Foller
Izzy X Caudy
Darci Z Kusko
Chavez O Shinko
Emily R Stenseth
Deepesh A Ruta
Nicolas Z Figeroa
Cody P Ruta
Wickens M Rim
Stacey W Garufi
Octavia D Figeroa
Misaki I Iturbide
Claire N Dilliard
Salvatore E Briddick
David C Briddick
Tony S Kolmetz
Misaki U Butt
Izzy C Rim
Johnson A Stenseth
Aika B Shinko
Claire N Glick
Aika U Venere
Ashley E Ostrosky
Deepesh G Schemmer
Salvatore B Schemmer
Clifford Q Whobrey
Jones X Shinko
Emily K Rulapaugh
Aruna R Oldroyd
Emily G Gillian
Wickens L Saylors
Julie T Iturbide
Aruna C Malet
Mayumi C Rulapaugh
Jones D Figeroa
Izzy E Morasca
Morrow T Schemmer
IdCountryDate
1000Russia2024-06-11
1001France2024-06-02
1002France2024-05-29
1003India2024-06-15
1004Spain2024-05-18
1005Australia2024-05-27
1006India2024-05-18
1007Canada2024-06-13
1008Brazil2024-05-28
1009Argentina2024-05-22
1010United Kingdom2024-06-15
1011United Kingdom2024-05-22
1012France2024-06-14
1013Brazil2024-05-24
1014Russia2024-05-26
1015Brazil2024-06-10
1016India2024-05-23
1017Spain2024-06-09
1018Italy2024-05-23
1019United Kingdom2024-06-02
1020Australia2024-05-19
1021Australia2024-06-01
1022India2024-05-18
1023Brazil2024-05-27
1024India2024-05-27
1025France2024-05-23
1026Brazil2024-05-31
1027Germany2024-06-13
1028Australia2024-05-23
1029United Kingdom2024-05-21
1030United Kingdom2024-06-05
1031India2024-05-20
1032Canada2024-06-13
1033Australia2024-05-21
1034India2024-05-20
1035India2024-06-16
1036Canada2024-05-25
1037Brazil2024-05-30
1038Argentina2024-06-12
1039Argentina2024-05-20
1040Russia2024-06-03
1041Australia2024-06-16
1042India2024-06-11
1043United Kingdom2024-06-14
1044Germany2024-06-08
1045United Kingdom2024-06-07
1046Germany2024-05-26
1047Argentina2024-06-05
1048France2024-06-15
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
David O Bowley1000Germany2024-05-30
Ashley U Stenseth1001Russia2024-05-31
Chavez A Rulapaugh1002Russia2024-06-01
Antonio J Wieser1003Russia2024-05-19
Alejandro R Amigon1004India2024-06-16
Mayumi S Iturbide1005Japan2024-05-24
Nicolas R Saylors1006Spain2024-06-13
Wickens B Garufi1007Italy2024-06-07
Misaki O Ostrosky1008United Kingdom2024-05-26
James O Nestle1009Canada2024-05-23
Antonio Z Poquette1010Canada2024-05-20
Johnson N Chui1011Canada2024-05-26
Antonio T Poquette1012Italy2024-06-16
Aditya I Briddick1013Brazil2024-06-06
Silvio X Flosi1014Japan2024-05-22
Maria B Schemmer1015Italy2024-05-18
Alejandro Q Ostrosky1016Germany2024-06-10
Maisha G Venere1017India2024-06-02
Aika Z Nicka1018Spain2024-06-06
Jeanfrancois V Glick1019Russia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James W WhobreyUnited KingdomOnyama Limba NEGOTIATION
Maria P WieserUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem I FigeroaItalyAnna Fali NEW
Johnson C MaletFranceBernardo Dominic NEW
Izzy L WhobreySpainOnyama Limba UNQUALIFIED
Faith K ShinkoFranceElwin Sharvill UNQUALIFIED
Kadeem X GauchoCanadaIvan Magalhaes RENEWAL
Leon P VocelkaRussiaBernardo Dominic UNQUALIFIED
Maisha N WieserIndiaAsiya Javayant QUALIFIED
Leja C SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Octavia J VenereIndiaBernardo Dominic NEGOTIATION
Costa T VocelkaArgentinaBernardo Dominic NEGOTIATION
Maisha S GillianSpainOnyama Limba NEGOTIATION
Francesco V GauchoArgentinaOnyama Limba NEW
Adams M DoeUnited KingdomOnyama Limba NEW
Aditya W FerenczIndiaAnna Fali NEW
Chavez Q VenereCanadaOnyama Limba RENEWAL
Rodrigues Z KolmetzRussiaElwin Sharvill NEW
Maisha C ShinkoIndiaIoni Bowcher PROPOSAL
James X FigeroaRussiaIoni Bowcher QUALIFIED
Leja Q MaletIndiaStephen Shaw NEW
Wickens M DoeSpainStephen Shaw NEGOTIATION
Johnson H GlickSpainStephen Shaw NEW
Maisha X WaycottGermanyStephen Shaw NEGOTIATION
Clifford E AmigonRussiaOnyama Limba QUALIFIED
Octavia T RulapaughGermanyAmy Elsner NEGOTIATION
Nicolas Y IturbideFranceStephen Shaw RENEWAL
Octavia O InouyeGermanyStephen Shaw QUALIFIED
Ricardo H BriddickSpainBernardo Dominic NEW
Ivar F InouyeCanadaOnyama Limba NEGOTIATION
Juan K ChuiGermanyStephen Shaw UNQUALIFIED
Aruna U WieserGermanyIoni Bowcher PROPOSAL
Wickens M KolmetzItalyAnna Fali PROPOSAL
Munro Y BriddickArgentinaIvan Magalhaes NEGOTIATION
Wickens S BologniaAustraliaAsiya Javayant NEGOTIATION
Jefferson M MaletFranceAnna Fali NEGOTIATION
Jeanfrancois G PaprockiAustraliaOnyama Limba QUALIFIED
Emily R PaprockiItalyStephen Shaw RENEWAL
Juan G GlickUnited KingdomAmy Elsner RENEWAL
Kaitlin Y DoeJapanAnna Fali UNQUALIFIED

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