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 F DarakjyJapanAmy Elsner RENEWAL
Faith U VenereArgentinaOnyama Limba RENEWAL
Mayumi D DilliardJapanAmy Elsner PROPOSAL
Maisha H OstroskyArgentinaXuxue Feng NEGOTIATION
Kadeem X MacleadSpainBernardo Dominic PROPOSAL
Faith P DarakjyFranceOnyama Limba NEW
Arvin K StensethAustraliaAsiya Javayant RENEWAL
Rodrigues A OldroydJapanIvan Magalhaes UNQUALIFIED
Aditya P FollerItalyOnyama Limba NEW
Sinclair R DarakjyIndiaElwin Sharvill PROPOSAL
Jeanfrancois P GauchoSpainAnna Fali NEGOTIATION
Ricardo I MaletJapanIvan Magalhaes UNQUALIFIED
Jefferson N DarakjyArgentinaElwin Sharvill QUALIFIED
Darci P CaldareraUnited KingdomStephen Shaw NEGOTIATION
Emily G IturbideRussiaIvan Magalhaes RENEWAL
Jefferson R OldroydSpainAnna Fali RENEWAL
Greenwood B FerenczAustraliaAsiya Javayant NEGOTIATION
Adams D FerenczUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois K VocelkaCanadaStephen Shaw NEGOTIATION
Claire P MaletBrazilXuxue Feng QUALIFIED
Munro M VocelkaUnited KingdomAnna Fali RENEWAL
Adams V TollnerUnited KingdomStephen Shaw RENEWAL
Claire Y DilliardJapanBernardo Dominic UNQUALIFIED
Alejandro O NestleJapanAmy Elsner UNQUALIFIED
Aika F RutaRussiaOnyama Limba NEGOTIATION
Ashley U CaudyIndiaBernardo Dominic UNQUALIFIED
Izzy A ButtUnited KingdomAnna Fali RENEWAL
Leja Q WaycottBrazilOnyama Limba QUALIFIED
Adams V ChuiUnited KingdomStephen Shaw NEGOTIATION
Greenwood Y BologniaGermanyIvan Magalhaes NEW
Mujtaba O ButtFranceIoni Bowcher PROPOSAL
Ashley V RutaFranceOnyama Limba QUALIFIED
Tony T CaldareraRussiaOnyama Limba PROPOSAL
Salvatore R SlusarskiJapanIoni Bowcher PROPOSAL
Jennifer P DarakjyCanadaIoni Bowcher NEGOTIATION
Maria Z RulapaughRussiaIoni Bowcher NEGOTIATION
Johnson U MacleadFranceBernardo Dominic PROPOSAL
Alejandro P AmigonUnited KingdomXuxue Feng UNQUALIFIED
Antonio F MaletItalyBernardo Dominic RENEWAL
Sinclair R OstroskyRussiaStephen Shaw PROPOSAL
Juan L RutaSpainAmy Elsner UNQUALIFIED
Maria E MacleadArgentinaStephen Shaw UNQUALIFIED
Smith Q BriddickArgentinaAnna Fali UNQUALIFIED
Kaitlin D BriddickBrazilElwin Sharvill NEGOTIATION
Murillo B MaletArgentinaXuxue Feng QUALIFIED
Maisha I SaylorsFranceIvan Magalhaes RENEWAL
Darci Y MarrierJapanAmy Elsner RENEWAL
Ricardo B KolmetzSpainXuxue Feng QUALIFIED
Munro G GauchoArgentinaAmy Elsner QUALIFIED
Faith M PerinSpainStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony A ButtBrazilIvan Magalhaes NEGOTIATION
Jeanfrancois D GarufiGermanyOnyama Limba UNQUALIFIED
Wickens E WhobreyIndiaXuxue Feng RENEWAL
Aika F GillianBrazilElwin Sharvill PROPOSAL
Leja L VocelkaGermanyStephen Shaw NEGOTIATION
Jones F WaycottGermanyAnna Fali QUALIFIED
Murillo C NickaJapanElwin Sharvill NEGOTIATION
Claire F SchemmerItalyAsiya Javayant PROPOSAL
Mayumi Q RimSpainAmy Elsner PROPOSAL
Murillo G KuskoSpainAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith H GillianIndia2026-07-07Chemel, James L Cpa NEGOTIATION68Amy Elsner
1001James U TollnerUnited Kingdom2026-07-04Printing Dimensions NEGOTIATION7Bernardo Dominic
1002Salvatore H GillianAustralia2026-06-24Morlong Associates PROPOSAL88Amy Elsner
1003Johnson V PaprockiCanada2026-07-01Dorl, James J Esq NEW15Anna Fali
1004Jefferson F DoeArgentina2026-06-14King, Christopher A Esq NEW46Anna Fali
1005Deepesh A BologniaFrance2026-06-17Commercial Press NEGOTIATION67Bernardo Dominic
1006Kaitlin R CaudyJapan2026-06-25Chapman, Ross E Esq NEW43Ivan Magalhaes
1007David O WieserFrance2026-07-04Truhlar And Truhlar Attys UNQUALIFIED54Stephen Shaw
1008Jeanfrancois J ShinkoAustralia2026-07-03Benton, John B Jr PROPOSAL10Stephen Shaw
1009Aika A InouyeRussia2026-06-30Buckley Miller Wright NEW15Elwin Sharvill
1010Munro G AlbaresFrance2026-06-26Rousseaux, Michael Esq QUALIFIED86Bernardo Dominic
1011Maria N StockhamArgentina2026-07-04Chanay, Jeffrey A Esq NEW2Ioni Bowcher
1012Maisha U DoeArgentina2026-06-25Rousseaux, Michael Esq NEW80Elwin Sharvill
1013Sinclair B GarufiJapan2026-06-27Chemel, James L Cpa QUALIFIED18Bernardo Dominic
1014James F VenereFrance2026-06-26Morlong Associates NEW21Bernardo Dominic
1015David F RimIndia2026-06-13Chanay, Jeffrey A Esq NEGOTIATION9Xuxue Feng
1016Faith T VocelkaCanada2026-06-15Benton, John B Jr NEGOTIATION74Amy Elsner
1017Ashley Z KolmetzArgentina2026-06-15Rousseaux, Michael Esq PROPOSAL67Stephen Shaw
1018Julie H RimBrazil2026-06-10Morlong Associates UNQUALIFIED79Elwin Sharvill
1019Nicolas N VocelkaRussia2026-06-16Morlong Associates PROPOSAL96Stephen Shaw
1020Ricardo X PoquetteSpain2026-06-29Feltz Printing Service NEW0Xuxue Feng
1021Deepesh D WieserRussia2026-06-26Morlong Associates RENEWAL89Anna Fali
1022Jefferson N FollerJapan2026-06-19Rousseaux, Michael Esq RENEWAL49Xuxue Feng
1023Tony C NestleFrance2026-06-30Chapman, Ross E Esq PROPOSAL47Amy Elsner
1024Murillo H TollnerArgentina2026-06-16Rangoni Of Florence UNQUALIFIED7Stephen Shaw
1025Alejandro Q SlusarskiFrance2026-07-06Rousseaux, Michael Esq PROPOSAL88Amy Elsner
1026Julie B MaletJapan2026-07-07Feltz Printing Service PROPOSAL84Bernardo Dominic
1027Johnson K CaldareraRussia2026-06-18Morlong Associates PROPOSAL33Onyama Limba
1028Maria K BologniaUnited Kingdom2026-06-19King, Christopher A Esq RENEWAL52Bernardo Dominic
1029Greenwood U ChuiUnited Kingdom2026-06-10Morlong Associates QUALIFIED5Amy Elsner
1030Leon G MacleadRussia2026-06-30Truhlar And Truhlar Attys NEGOTIATION91Amy Elsner
1031Morrow A GlickCanada2026-06-18Truhlar And Truhlar Attys PROPOSAL80Amy Elsner
1032Claire Y GarufiAustralia2026-06-13Chanay, Jeffrey A Esq NEW83Asiya Javayant
1033David Y MorascaSpain2026-06-28Chapman, Ross E Esq UNQUALIFIED95Anna Fali
1034Ashley G MarrierSpain2026-06-14Feltz Printing Service PROPOSAL41Bernardo Dominic
1035Maisha C FerenczFrance2026-06-24Benton, John B Jr NEW12Xuxue Feng
1036Octavia V PoquetteAustralia2026-07-03Dorl, James J Esq QUALIFIED64Stephen Shaw
1037Murillo Q KolmetzAustralia2026-06-28King, Christopher A Esq NEGOTIATION89Bernardo Dominic
1038Deepesh V RimJapan2026-07-03Chapman, Ross E Esq QUALIFIED75Bernardo Dominic
1039Antonio U DoeRussia2026-07-09King, Christopher A Esq PROPOSAL76Onyama Limba
1040Deepesh D ChuiFrance2026-06-10Truhlar And Truhlar Attys NEW71Bernardo Dominic
1041Mayumi B DilliardFrance2026-06-10Rousseaux, Michael Esq NEW55Bernardo Dominic
1042Jefferson I SlusarskiJapan2026-06-24Commercial Press UNQUALIFIED74Ioni Bowcher
1043Alejandro A FerenczBrazil2026-06-27Truhlar And Truhlar Attys PROPOSAL17Anna Fali
1044Mujtaba M IturbideGermany2026-07-07Rousseaux, Michael Esq QUALIFIED75Xuxue Feng
1045Wickens H OldroydJapan2026-06-30Chanay, Jeffrey A Esq NEW29Elwin Sharvill
1046Kaitlin X AlbaresGermany2026-06-11Buckley Miller Wright NEW55Onyama Limba
1047Ivar H MaletSpain2026-06-17Printing Dimensions PROPOSAL48Ioni Bowcher
1048Sinclair Y RimArgentina2026-06-10King, Christopher A Esq RENEWAL64Asiya Javayant
1049Adams N StensethItaly2026-06-10Feltz Printing Service QUALIFIED31Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Arvin M WieserUnited KingdomAmy Elsner NEW
Mujtaba A TollnerIndiaStephen Shaw QUALIFIED
Octavia A FollerAustraliaXuxue Feng RENEWAL
Aruna E WaycottAustraliaIvan Magalhaes PROPOSAL
Johnson L MaletAustraliaXuxue Feng RENEWAL
Izzy O MorascaAustraliaStephen Shaw UNQUALIFIED
Mayumi F BriddickBrazilXuxue Feng UNQUALIFIED
Adams I RoysterBrazilIvan Magalhaes PROPOSAL
Ivar K BologniaFranceStephen Shaw PROPOSAL
David F ChuiGermanyOnyama Limba PROPOSAL
Ivar B MacleadUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois U MaletGermanyAmy Elsner PROPOSAL
Deepesh K PoquetteJapanAsiya Javayant QUALIFIED
Morrow B SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba W SergiRussiaIoni Bowcher QUALIFIED
Alejandro K ButtFranceAsiya Javayant QUALIFIED
Morrow T RutaUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi T StensethItalyOnyama Limba UNQUALIFIED
Sinclair L WaycottIndiaAsiya Javayant UNQUALIFIED
Jefferson N SaylorsItalyAsiya Javayant QUALIFIED
Adams A RimFranceStephen Shaw NEW
Ashley F WhobreyIndiaAsiya Javayant PROPOSAL
Faith V AmigonRussiaElwin Sharvill RENEWAL
Julie Z DarakjyGermanyOnyama Limba UNQUALIFIED
Mayumi Y StockhamBrazilIoni Bowcher RENEWAL
Misaki N CaudyBrazilXuxue Feng NEW
Deepesh D SergiIndiaAmy Elsner NEGOTIATION
David N MaletFranceAsiya Javayant NEGOTIATION
Claire V NestleFranceBernardo Dominic PROPOSAL
Jefferson B GlickIndiaIoni Bowcher NEGOTIATION
Salvatore U ButtArgentinaBernardo Dominic NEGOTIATION
Cody I BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Arvin I BriddickUnited KingdomAnna Fali RENEWAL
James L WaycottBrazilElwin Sharvill RENEWAL
Nicolas X ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Misaki O TollnerBrazilOnyama Limba NEGOTIATION
Jeanfrancois P PoquetteSpainElwin Sharvill NEGOTIATION
Isabel Z AlbaresIndiaAsiya Javayant NEW
Octavia A AmigonArgentinaAnna Fali QUALIFIED
Isabel K MaletAustraliaBernardo Dominic NEGOTIATION
Claire O BowleyCanadaAmy Elsner PROPOSAL
Julie K DarakjyRussiaOnyama Limba NEW
Tony C InouyeRussiaIvan Magalhaes NEGOTIATION
Claire B StockhamAustraliaOnyama Limba QUALIFIED
Costa T BowleySpainOnyama Limba PROPOSAL
Isabel X RoysterCanadaAmy Elsner NEGOTIATION
Salvatore P InouyeJapanOnyama Limba NEGOTIATION
Octavia C StockhamGermanyAsiya Javayant QUALIFIED
Costa I WieserCanadaAnna Fali RENEWAL
Deepesh U FollerIndiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Clifford Z Slusarski
Ashley M Garufi
Octavia R Maclead
Jones L Nicka
Aika P Caldarera
Salvatore R Garufi
Murillo U Caldarera
Aruna O Venere
Mayumi M Venere
James A Caldarera
Mayumi K Stenseth
Munro N Ostrosky
Arvin L Perin
Clifford X Paprocki
Greenwood O Amigon
Jones Q Whobrey
Isabel C Figeroa
Maria M Albares
Alejandro M Albares
Ivar O Malet
Leon D Morasca
Clifford F Inouye
Leon Q Kusko
Jeanfrancois O Poquette
Johnson B Bolognia
Antonio A Gillian
Juan C Figeroa
Deepesh Q Nestle
Julie N Shinko
Antonio I Shinko
Jefferson V Whobrey
Rodrigues C Malet
James F Paprocki
Juan B Oldroyd
Darci K Maclead
Johnson O Iturbide
Murillo Z Whobrey
Jennifer K Bowley
Nicolas X Ferencz
Tony K Bowley
Julie X Marrier
David W Flosi
Murillo D Wieser
Maria T Iturbide
Jennifer M Sergi
Francesco R Ruta
Stacey I Inouye
Ivar R Rim
Ivar Z Stockham
Smith W Inouye
IdCountryDate
1000Japan2026-07-09
1001Spain2026-06-27
1002Argentina2026-06-12
1003Australia2026-06-30
1004Canada2026-06-20
1005Canada2026-07-03
1006Australia2026-07-05
1007India2026-07-07
1008Russia2026-06-19
1009Russia2026-06-24
1010United Kingdom2026-06-30
1011Brazil2026-06-19
1012Canada2026-07-07
1013Russia2026-07-07
1014Italy2026-06-11
1015India2026-06-30
1016Brazil2026-06-10
1017United Kingdom2026-07-04
1018Spain2026-06-18
1019Japan2026-06-30
1020Australia2026-07-05
1021Spain2026-06-24
1022Russia2026-06-20
1023India2026-06-22
1024Germany2026-06-15
1025United Kingdom2026-07-05
1026Spain2026-07-01
1027India2026-06-25
1028Germany2026-07-09
1029Italy2026-06-21
1030Japan2026-06-30
1031Russia2026-07-09
1032Russia2026-06-15
1033Canada2026-06-22
1034Canada2026-06-16
1035Germany2026-06-12
1036Argentina2026-06-12
1037United Kingdom2026-06-17
1038Spain2026-06-20
1039Japan2026-06-30
1040Japan2026-06-20
1041Canada2026-07-01
1042Canada2026-07-09
1043Argentina2026-06-17
1044Canada2026-06-29
1045Canada2026-06-12
1046India2026-07-01
1047India2026-06-28
1048Japan2026-06-11
1049Argentina2026-07-08

On-Demand Data

NameIdCountryDate
Aditya Q Butt1000Russia2026-06-19
Murillo C Royster1001United Kingdom2026-07-02
Adams S Albares1002Germany2026-06-29
Morrow D Marrier1003India2026-06-23
Smith T Morasca1004United Kingdom2026-07-03
Mayumi L Bolognia1005Canada2026-06-10
Darci E Inouye1006Russia2026-06-11
Rodrigues E Gillian1007United Kingdom2026-06-26
Maria L Amigon1008Argentina2026-06-10
Jones S Wieser1009Argentina2026-06-24
Leon A Poquette1010India2026-07-04
Jeanfrancois Z Bolognia1011Brazil2026-06-14
Morrow G Waycott1012Spain2026-06-20
Isabel Z Nicka1013Japan2026-06-27
Juan K Waycott1014France2026-06-11
Leon F Flosi1015France2026-06-24
Clifford D Venere1016France2026-06-12
Alejandro F Saylors1017Russia2026-07-02
Cody J Malet1018Australia2026-06-14
Octavia G Schemmer1019Russia2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria B RulapaughRussiaOnyama Limba PROPOSAL
Mayumi U MaletJapanBernardo Dominic NEW
Nicolas M WaycottCanadaStephen Shaw NEGOTIATION
Claire U StensethJapanXuxue Feng RENEWAL
Alejandro U StockhamFranceAnna Fali NEGOTIATION
Antonio C FlosiItalyIoni Bowcher NEW
Smith C FerenczBrazilXuxue Feng PROPOSAL
James I DarakjySpainAmy Elsner UNQUALIFIED
Mayumi Z OldroydCanadaXuxue Feng RENEWAL
David V KuskoJapanBernardo Dominic NEGOTIATION
James S RulapaughItalyElwin Sharvill RENEWAL
Johnson E MaletUnited KingdomXuxue Feng RENEWAL
Francesco V ChuiBrazilAnna Fali QUALIFIED
Clifford C SergiBrazilAsiya Javayant PROPOSAL
Morrow S PaprockiSpainIvan Magalhaes PROPOSAL
Isabel O GillianArgentinaXuxue Feng QUALIFIED
Mayumi G GlickCanadaXuxue Feng NEW
Faith O MaletSpainIoni Bowcher NEGOTIATION
Francesco M FerenczItalyElwin Sharvill PROPOSAL
Clifford C SergiGermanyXuxue Feng QUALIFIED
Arvin N FlosiArgentinaElwin Sharvill PROPOSAL
Cody F VocelkaJapanOnyama Limba QUALIFIED
Leon D RoysterSpainIoni Bowcher RENEWAL
Misaki M DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues P StockhamIndiaIoni Bowcher NEGOTIATION
Alejandro R ButtItalyStephen Shaw NEW
Aditya S InouyeRussiaElwin Sharvill PROPOSAL
Sinclair J KuskoItalyIoni Bowcher RENEWAL
Jefferson T BologniaFranceOnyama Limba QUALIFIED
Emily Q MarrierRussiaStephen Shaw QUALIFIED
Johnson Y BriddickJapanAmy Elsner NEW
Darci E BowleyUnited KingdomStephen Shaw RENEWAL
Claire D MacleadBrazilIoni Bowcher NEGOTIATION
Morrow H WhobreyBrazilXuxue Feng UNQUALIFIED
Chavez A BologniaUnited KingdomAnna Fali UNQUALIFIED
Julie T FigeroaAustraliaXuxue Feng PROPOSAL
Jeanfrancois G PaprockiAustraliaStephen Shaw NEW
Francesco Q DoeSpainStephen Shaw PROPOSAL
Alejandro Y SergiSpainAsiya Javayant NEGOTIATION
Costa X PoquetteAustraliaElwin Sharvill 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>