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
Mujtaba C WieserFranceOnyama Limba RENEWAL
James V PerinBrazilBernardo Dominic NEW
Tony O WieserJapanXuxue Feng NEW
Tony V WaycottRussiaOnyama Limba UNQUALIFIED
Smith H OldroydSpainIoni Bowcher RENEWAL
Leon O TollnerArgentinaOnyama Limba RENEWAL
Silvio R VocelkaBrazilElwin Sharvill NEW
Isabel J PoquetteRussiaAsiya Javayant UNQUALIFIED
Munro R PoquetteUnited KingdomBernardo Dominic QUALIFIED
Cody U FollerGermanyStephen Shaw NEGOTIATION
Izzy G StockhamUnited KingdomOnyama Limba QUALIFIED
Chavez W GlickItalyIoni Bowcher RENEWAL
Darci M AmigonCanadaOnyama Limba QUALIFIED
Maria F WhobreyCanadaStephen Shaw RENEWAL
Aruna G GlickItalyElwin Sharvill NEW
Darci C SergiJapanOnyama Limba QUALIFIED
Costa C IturbideJapanIvan Magalhaes PROPOSAL
Maria V RulapaughItalyOnyama Limba UNQUALIFIED
Darci P WhobreyJapanElwin Sharvill RENEWAL
Claire S ShinkoIndiaAsiya Javayant UNQUALIFIED
Clifford D OldroydIndiaIoni Bowcher PROPOSAL
Jefferson G FollerAustraliaIoni Bowcher NEW
Salvatore D DilliardUnited KingdomAnna Fali NEW
Stacey U OldroydFranceIoni Bowcher QUALIFIED
Ashley N PaprockiBrazilAnna Fali UNQUALIFIED
Izzy D NickaFranceBernardo Dominic QUALIFIED
Jennifer G SergiArgentinaIoni Bowcher PROPOSAL
Silvio Z MaletItalyAmy Elsner UNQUALIFIED
Murillo G ButtItalyOnyama Limba NEW
Darci M SaylorsArgentinaIoni Bowcher PROPOSAL
Isabel A SchemmerGermanyAsiya Javayant RENEWAL
Aika I ShinkoUnited KingdomElwin Sharvill NEW
Maria N InouyeJapanIoni Bowcher RENEWAL
Mayumi H FlosiItalyElwin Sharvill PROPOSAL
Mujtaba J VenereCanadaXuxue Feng QUALIFIED
Aditya M MaletIndiaStephen Shaw NEW
Jeanfrancois F NickaBrazilAmy Elsner QUALIFIED
Mujtaba O ShinkoFranceAnna Fali PROPOSAL
Faith E MarrierIndiaIvan Magalhaes NEGOTIATION
Chavez A SaylorsArgentinaXuxue Feng QUALIFIED
Leon G DilliardGermanyAsiya Javayant NEW
Nicolas T DoeIndiaAnna Fali NEW
Faith V BriddickJapanStephen Shaw NEW
Octavia X OldroydItalyAsiya Javayant NEGOTIATION
Adams E WaycottFranceAmy Elsner NEW
Ricardo P DarakjyBrazilIvan Magalhaes PROPOSAL
Chavez R CaudySpainAsiya Javayant UNQUALIFIED
Aika T GlickCanadaStephen Shaw QUALIFIED
Murillo N WieserUnited KingdomIvan Magalhaes NEW
Kadeem P InouyeBrazilXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James N OldroydBrazilBernardo Dominic PROPOSAL
Ashley P IturbideCanadaIvan Magalhaes PROPOSAL
Ricardo C NickaCanadaBernardo Dominic NEW
Ivar P StensethGermanyAnna Fali NEW
Silvio A DoeBrazilIvan Magalhaes NEGOTIATION
Clifford A CaudyItalyIoni Bowcher PROPOSAL
Arvin I MaletJapanIvan Magalhaes QUALIFIED
David R StensethArgentinaAnna Fali NEW
Sinclair H MaletGermanyIvan Magalhaes NEGOTIATION
Claire G SlusarskiIndiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio X GlickSpain2024-06-19Truhlar And Truhlar Attys UNQUALIFIED58Ivan Magalhaes
1001Darci L SlusarskiFrance2024-06-20King, Christopher A Esq NEW60Stephen Shaw
1002Aika F FerenczIndia2024-06-08Printing Dimensions UNQUALIFIED9Ivan Magalhaes
1003David G SlusarskiUnited Kingdom2024-05-27Truhlar And Truhlar Attys PROPOSAL52Amy Elsner
1004Ricardo Q OstroskyFrance2024-06-20Feiner Bros NEW33Asiya Javayant
1005Izzy N KolmetzItaly2024-06-03Chemel, James L Cpa PROPOSAL7Stephen Shaw
1006Ricardo E AmigonJapan2024-06-08Truhlar And Truhlar Attys UNQUALIFIED30Amy Elsner
1007Salvatore X SergiJapan2024-06-11Chanay, Jeffrey A Esq QUALIFIED19Ioni Bowcher
1008Aika U AlbaresSpain2024-06-09Feltz Printing Service NEW94Bernardo Dominic
1009Adams T CampainFrance2024-06-02Chemel, James L Cpa QUALIFIED39Bernardo Dominic
1010Ivar R GauchoGermany2024-06-05Buckley Miller Wright QUALIFIED9Anna Fali
1011Rodrigues A MorascaFrance2024-06-12Rangoni Of Florence QUALIFIED47Onyama Limba
1012Kaitlin V GauchoItaly2024-06-09Commercial Press PROPOSAL52Ivan Magalhaes
1013Adams P MorascaJapan2024-05-26Printing Dimensions UNQUALIFIED56Onyama Limba
1014Wickens X AlbaresBrazil2024-06-15Morlong Associates QUALIFIED58Bernardo Dominic
1015Ashley P CampainFrance2024-06-18Commercial Press UNQUALIFIED60Onyama Limba
1016Munro C BologniaIndia2024-06-06Benton, John B Jr NEGOTIATION82Ioni Bowcher
1017Salvatore L MarrierIndia2024-06-16Chemel, James L Cpa UNQUALIFIED6Xuxue Feng
1018David B FollerJapan2024-06-19Truhlar And Truhlar Attys NEGOTIATION59Bernardo Dominic
1019Francesco K FlosiJapan2024-06-16Morlong Associates RENEWAL34Stephen Shaw
1020Mayumi O CaudyAustralia2024-05-26Truhlar And Truhlar Attys NEW9Bernardo Dominic
1021Clifford R PerinItaly2024-05-30Truhlar And Truhlar Attys QUALIFIED69Ioni Bowcher
1022Nicolas F PaprockiUnited Kingdom2024-05-26Chapman, Ross E Esq NEGOTIATION12Elwin Sharvill
1023Greenwood F GillianAustralia2024-05-28Chemel, James L Cpa QUALIFIED84Onyama Limba
1024Ricardo A AlbaresCanada2024-06-22Truhlar And Truhlar Attys NEGOTIATION69Xuxue Feng
1025Salvatore O GarufiUnited Kingdom2024-06-17Printing Dimensions QUALIFIED98Asiya Javayant
1026Maria I InouyeFrance2024-06-11Morlong Associates UNQUALIFIED74Stephen Shaw
1027Julie P MaletAustralia2024-06-06Printing Dimensions NEGOTIATION63Amy Elsner
1028Octavia L KolmetzAustralia2024-05-24Truhlar And Truhlar Attys PROPOSAL66Anna Fali
1029Maisha F RimBrazil2024-05-25Feltz Printing Service PROPOSAL55Elwin Sharvill
1030Jeanfrancois I FlosiFrance2024-05-30Truhlar And Truhlar Attys UNQUALIFIED52Bernardo Dominic
1031Mayumi P WaycottBrazil2024-06-17Truhlar And Truhlar Attys PROPOSAL28Anna Fali
1032Rodrigues Q FlosiSpain2024-06-02Dorl, James J Esq RENEWAL29Onyama Limba
1033Sinclair C InouyeRussia2024-06-06Dorl, James J Esq NEW6Asiya Javayant
1034Tony P ShinkoBrazil2024-06-04Chapman, Ross E Esq QUALIFIED89Ivan Magalhaes
1035Octavia V StensethArgentina2024-05-30Feltz Printing Service NEGOTIATION57Amy Elsner
1036Leon D SchemmerBrazil2024-06-02Morlong Associates QUALIFIED69Asiya Javayant
1037Emily L MaletCanada2024-06-21Rousseaux, Michael Esq RENEWAL7Bernardo Dominic
1038Tony Y KolmetzAustralia2024-06-11Chemel, James L Cpa PROPOSAL23Ioni Bowcher
1039David X DilliardArgentina2024-05-29Truhlar And Truhlar Attys PROPOSAL42Asiya Javayant
1040Claire T BologniaGermany2024-05-25Morlong Associates NEW74Amy Elsner
1041Jefferson Q SaylorsIndia2024-06-08Dorl, James J Esq QUALIFIED38Ioni Bowcher
1042Aruna X FollerFrance2024-05-26Benton, John B Jr PROPOSAL61Amy Elsner
1043David A ButtCanada2024-06-06Truhlar And Truhlar Attys RENEWAL47Anna Fali
1044Kadeem N MaletAustralia2024-06-11Truhlar And Truhlar Attys RENEWAL63Elwin Sharvill
1045Munro E InouyeJapan2024-06-17Rangoni Of Florence UNQUALIFIED4Ivan Magalhaes
1046Aditya R BologniaArgentina2024-06-18Buckley Miller Wright RENEWAL79Asiya Javayant
1047Smith K WieserBrazil2024-06-05King, Christopher A Esq NEGOTIATION24Asiya Javayant
1048Izzy K MaletRussia2024-06-08Rangoni Of Florence NEW22Ioni Bowcher
1049Claire P OldroydAustralia2024-06-18Truhlar And Truhlar Attys PROPOSAL65Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Smith Y KolmetzItalyOnyama Limba PROPOSAL
Mayumi L IturbideRussiaBernardo Dominic NEW
Costa G StensethBrazilAsiya Javayant NEGOTIATION
Antonio A ButtSpainAsiya Javayant NEW
Costa Q KuskoJapanIvan Magalhaes RENEWAL
Cody F SlusarskiGermanyAnna Fali QUALIFIED
Clifford D BologniaCanadaOnyama Limba RENEWAL
Deepesh E FigeroaSpainIoni Bowcher NEW
Adams T StockhamAustraliaAmy Elsner RENEWAL
Kaitlin M GarufiItalyBernardo Dominic QUALIFIED
Johnson O KuskoCanadaXuxue Feng NEW
Johnson J SaylorsIndiaIvan Magalhaes RENEWAL
Kadeem A OldroydIndiaIoni Bowcher NEGOTIATION
Kadeem X IturbideCanadaAsiya Javayant QUALIFIED
Rodrigues E SchemmerUnited KingdomStephen Shaw RENEWAL
Murillo U VocelkaSpainAsiya Javayant RENEWAL
Aika W InouyeAustraliaStephen Shaw NEW
Juan T WhobreySpainIoni Bowcher NEW
Emily M FigeroaFranceIvan Magalhaes PROPOSAL
Claire R MaletRussiaXuxue Feng NEGOTIATION
Costa W ButtGermanyStephen Shaw PROPOSAL
Misaki R OldroydIndiaIvan Magalhaes UNQUALIFIED
Emily Q InouyeSpainOnyama Limba NEW
Sinclair R SlusarskiCanadaAmy Elsner QUALIFIED
Ashley Y VocelkaBrazilElwin Sharvill PROPOSAL
Wickens I CaudyRussiaAnna Fali NEW
Murillo M BologniaGermanyAnna Fali PROPOSAL
Deepesh R MaletItalyOnyama Limba PROPOSAL
Salvatore S TollnerUnited KingdomIoni Bowcher PROPOSAL
Aditya O RimIndiaStephen Shaw UNQUALIFIED
Nicolas T TollnerIndiaBernardo Dominic QUALIFIED
Greenwood F GillianFranceBernardo Dominic NEW
Mujtaba L SergiSpainIvan Magalhaes PROPOSAL
Ivar R FlosiGermanyIvan Magalhaes RENEWAL
Sinclair D OstroskySpainElwin Sharvill UNQUALIFIED
Wickens T PoquetteFranceIoni Bowcher NEW
Chavez X CaldareraAustraliaAmy Elsner UNQUALIFIED
Morrow V SlusarskiJapanAnna Fali RENEWAL
Aditya O FollerFranceAnna Fali UNQUALIFIED
Maisha W SlusarskiJapanElwin Sharvill NEW
Stacey J FerenczIndiaXuxue Feng NEGOTIATION
Smith V StensethJapanAnna Fali NEGOTIATION
Francesco S ButtAustraliaStephen Shaw UNQUALIFIED
Octavia F GarufiSpainStephen Shaw RENEWAL
Leon M TollnerSpainAnna Fali UNQUALIFIED
Mayumi S GarufiAustraliaIvan Magalhaes RENEWAL
Kaitlin P SaylorsAustraliaAnna Fali PROPOSAL
Salvatore W MorascaUnited KingdomIvan Magalhaes NEW
Stacey O SchemmerFranceElwin Sharvill NEGOTIATION
Maria F MaletCanadaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Johnson Q Bolognia
David F Morasca
Salvatore Q Sergi
Julie L Nicka
Aditya N Stockham
Jones R Vocelka
Nicolas I Amigon
Claire Y Venere
Aditya A Royster
Costa W Wieser
Sinclair R Poquette
Antonio I Malet
Jeanfrancois D Doe
Morrow P Tollner
Ashley B Morasca
Faith K Paprocki
Clifford S Nestle
Stacey B Maclead
Aditya E Gillian
Rodrigues Q Schemmer
Smith D Ruta
Clifford A Rim
Aruna C Iturbide
Leja M Gaucho
Tony I Ostrosky
Mujtaba A Ostrosky
Ivar Q Sergi
Aruna U Maclead
Cody H Morasca
Mayumi U Ferencz
Francesco E Campain
Jeanfrancois P Kusko
Munro C Bowley
Johnson T Royster
Morrow H Oldroyd
Wickens Y Poquette
Antonio K Doe
Alejandro E Paprocki
Faith T Kolmetz
Maria E Kolmetz
Darci N Briddick
Clifford X Campain
Ashley T Ferencz
Darci S Gillian
Chavez S Maclead
Johnson F Nicka
Smith B Wieser
Cody J Flosi
Faith Z Ferencz
Ricardo J Amigon
IdCountryDate
1000Japan2024-06-11
1001Japan2024-05-26
1002Russia2024-06-15
1003Japan2024-06-09
1004Spain2024-05-31
1005India2024-06-09
1006Japan2024-06-06
1007Germany2024-05-25
1008France2024-06-07
1009Argentina2024-05-27
1010Canada2024-05-26
1011United Kingdom2024-06-08
1012France2024-06-16
1013Canada2024-05-28
1014Argentina2024-06-05
1015Brazil2024-06-07
1016Japan2024-06-02
1017Canada2024-06-02
1018Spain2024-06-14
1019Canada2024-06-05
1020Germany2024-06-03
1021France2024-06-18
1022India2024-05-24
1023France2024-06-21
1024Spain2024-06-13
1025Spain2024-06-09
1026India2024-06-17
1027Japan2024-05-30
1028Russia2024-06-14
1029Italy2024-06-01
1030Brazil2024-05-27
1031Australia2024-06-17
1032Argentina2024-06-21
1033Russia2024-06-08
1034Argentina2024-05-31
1035Japan2024-06-01
1036Germany2024-05-30
1037India2024-06-19
1038Germany2024-06-05
1039Brazil2024-06-05
1040India2024-05-26
1041France2024-05-30
1042Argentina2024-06-15
1043Canada2024-05-24
1044France2024-05-31
1045France2024-05-28
1046Japan2024-06-20
1047Australia2024-06-09
1048Germany2024-06-11
1049Brazil2024-06-14

On-Demand Data

NameIdCountryDate
Nicolas C Ostrosky1000Argentina2024-06-22
Sinclair O Dilliard1001India2024-05-31
Aruna W Ostrosky1002Germany2024-06-22
Izzy I Chui1003Argentina2024-05-25
Izzy V Sergi1004France2024-06-09
Munro I Iturbide1005Japan2024-05-25
Mujtaba X Marrier1006Brazil2024-06-09
Octavia D Inouye1007Brazil2024-06-14
Kadeem E Nicka1008Argentina2024-05-28
Rodrigues U Chui1009Italy2024-06-13
Jones J Malet1010Japan2024-06-17
Murillo F Whobrey1011Italy2024-06-12
Murillo T Sergi1012Brazil2024-06-01
David V Perin1013Argentina2024-05-31
Jefferson W Figeroa1014Canada2024-06-21
Tony C Gillian1015Russia2024-06-10
Ivar G Marrier1016United Kingdom2024-06-08
Maria C Darakjy1017Argentina2024-06-11
Deepesh Q Tollner1018India2024-06-03
Jones T Oldroyd1019Japan2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo P NickaJapanAsiya Javayant NEGOTIATION
Aditya Y BriddickCanadaAsiya Javayant NEW
Misaki O SchemmerAustraliaAsiya Javayant RENEWAL
Francesco P FigeroaBrazilAsiya Javayant NEGOTIATION
Murillo S SchemmerItalyIvan Magalhaes NEGOTIATION
Alejandro Q WhobreyArgentinaXuxue Feng RENEWAL
Darci L MorascaItalyBernardo Dominic UNQUALIFIED
Rodrigues X KuskoItalyIoni Bowcher RENEWAL
Deepesh P FollerItalyAnna Fali RENEWAL
Aika C BriddickAustraliaIvan Magalhaes NEW
Deepesh I MarrierSpainXuxue Feng RENEWAL
Aditya V VenereUnited KingdomStephen Shaw UNQUALIFIED
Maisha O VocelkaCanadaElwin Sharvill UNQUALIFIED
David I PoquetteCanadaAmy Elsner NEGOTIATION
Clifford W BowleyFranceAmy Elsner QUALIFIED
Cody R VocelkaArgentinaOnyama Limba UNQUALIFIED
Greenwood L ChuiGermanyIvan Magalhaes UNQUALIFIED
Tony Q DoeIndiaIvan Magalhaes QUALIFIED
Mujtaba I WaycottRussiaIoni Bowcher PROPOSAL
Leon C FollerArgentinaAsiya Javayant NEW
Darci F FollerRussiaIoni Bowcher RENEWAL
Rodrigues W GillianArgentinaIvan Magalhaes NEW
Ivar V DoeFranceAsiya Javayant RENEWAL
Maria M CaudyBrazilStephen Shaw UNQUALIFIED
Munro Z CaldareraBrazilStephen Shaw NEGOTIATION
Leja G StensethAustraliaBernardo Dominic NEW
Claire L WieserArgentinaXuxue Feng PROPOSAL
Wickens B WieserFranceAmy Elsner QUALIFIED
Ashley M MorascaItalyElwin Sharvill PROPOSAL
Morrow C CaldareraBrazilIoni Bowcher PROPOSAL
Francesco B TollnerUnited KingdomAsiya Javayant PROPOSAL
Darci Q VenereIndiaIoni Bowcher NEGOTIATION
Greenwood A MaletGermanyAsiya Javayant UNQUALIFIED
Nicolas H NickaSpainIvan Magalhaes PROPOSAL
Jennifer V NestleSpainIvan Magalhaes NEGOTIATION
Adams N RutaBrazilBernardo Dominic QUALIFIED
Arvin Y FollerArgentinaAnna Fali UNQUALIFIED
Jones T WaycottUnited KingdomAnna Fali NEGOTIATION
Tony W MaletBrazilXuxue Feng PROPOSAL
Rodrigues W CaldareraArgentinaElwin Sharvill 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>