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 X MaletRussiaElwin Sharvill RENEWAL
Silvio L ShinkoIndiaOnyama Limba PROPOSAL
Octavia R AmigonAustraliaStephen Shaw NEW
Emily J CaldareraJapanBernardo Dominic NEGOTIATION
Sinclair I GlickItalyBernardo Dominic NEW
Rodrigues P RimUnited KingdomElwin Sharvill RENEWAL
Tony L StockhamCanadaXuxue Feng QUALIFIED
Clifford A MaletUnited KingdomIoni Bowcher NEW
Mujtaba V GillianAustraliaIvan Magalhaes PROPOSAL
Kaitlin Y MaletCanadaOnyama Limba QUALIFIED
Jones L GauchoJapanElwin Sharvill NEGOTIATION
Arvin Z PerinCanadaAmy Elsner UNQUALIFIED
Emily T WhobreyFranceXuxue Feng NEW
Maria I MorascaIndiaAmy Elsner NEGOTIATION
Cody P BriddickFranceStephen Shaw QUALIFIED
Salvatore U TollnerUnited KingdomStephen Shaw RENEWAL
Munro X AlbaresSpainXuxue Feng PROPOSAL
Aika L OldroydJapanIvan Magalhaes PROPOSAL
Juan Y GillianFranceIoni Bowcher UNQUALIFIED
Munro V VenereGermanyStephen Shaw NEW
Nicolas O GauchoBrazilIoni Bowcher QUALIFIED
Misaki J FerenczJapanIoni Bowcher RENEWAL
Emily B RutaArgentinaBernardo Dominic NEW
Cody M MaletArgentinaAsiya Javayant NEGOTIATION
Emily K FollerAustraliaBernardo Dominic UNQUALIFIED
Izzy G MarrierIndiaElwin Sharvill NEW
Darci K GarufiGermanyBernardo Dominic UNQUALIFIED
Jefferson Y DarakjyAustraliaOnyama Limba PROPOSAL
Johnson V RulapaughRussiaIoni Bowcher NEGOTIATION
Claire L WieserGermanyXuxue Feng UNQUALIFIED
Clifford L CampainUnited KingdomElwin Sharvill RENEWAL
Antonio J AmigonFranceOnyama Limba RENEWAL
Kadeem Z KolmetzGermanyElwin Sharvill UNQUALIFIED
Maria L CaldareraIndiaIvan Magalhaes UNQUALIFIED
Ashley P WaycottIndiaBernardo Dominic PROPOSAL
Francesco T ChuiJapanStephen Shaw NEW
Jefferson J StensethArgentinaBernardo Dominic NEGOTIATION
Faith Q TollnerGermanyIvan Magalhaes QUALIFIED
Wickens G MorascaSpainStephen Shaw NEGOTIATION
Ashley Z MorascaIndiaElwin Sharvill NEGOTIATION
Aruna K FlosiGermanyAsiya Javayant RENEWAL
Cody S InouyeIndiaStephen Shaw UNQUALIFIED
Kadeem W CaudySpainIvan Magalhaes QUALIFIED
James G CampainFranceOnyama Limba NEW
Tony U PoquetteFranceXuxue Feng NEW
Leja E SlusarskiRussiaBernardo Dominic RENEWAL
Ashley W CampainArgentinaOnyama Limba QUALIFIED
Leja V FerenczRussiaXuxue Feng NEW
Izzy F BriddickIndiaElwin Sharvill RENEWAL
Adams N MarrierUnited KingdomStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson L SchemmerFranceAsiya Javayant NEW
Ricardo V InouyeArgentinaElwin Sharvill UNQUALIFIED
Munro P GarufiGermanyOnyama Limba RENEWAL
Kaitlin J MorascaBrazilAmy Elsner NEW
Rodrigues O StockhamArgentinaXuxue Feng QUALIFIED
Isabel J WaycottGermanyIvan Magalhaes UNQUALIFIED
Aruna H BriddickRussiaIoni Bowcher QUALIFIED
Kaitlin E KolmetzSpainXuxue Feng QUALIFIED
Murillo C WaycottFranceIoni Bowcher NEW
Isabel Y PaprockiArgentinaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens R BowleyUnited Kingdom2024-06-12Truhlar And Truhlar Attys NEGOTIATION77Anna Fali
1001Silvio P RoysterUnited Kingdom2024-06-13Feiner Bros QUALIFIED35Onyama Limba
1002Francesco L FlosiRussia2024-06-22Chemel, James L Cpa QUALIFIED30Onyama Limba
1003Julie O AlbaresAustralia2024-06-20Feiner Bros NEW33Anna Fali
1004Greenwood H SchemmerItaly2024-06-20Chemel, James L Cpa RENEWAL8Stephen Shaw
1005Claire K ChuiSpain2024-06-11Chanay, Jeffrey A Esq NEW87Ioni Bowcher
1006Mayumi O WieserItaly2024-06-09Feltz Printing Service NEGOTIATION51Bernardo Dominic
1007Ricardo D FollerAustralia2024-05-27Chemel, James L Cpa QUALIFIED34Ivan Magalhaes
1008Izzy C StensethBrazil2024-06-07King, Christopher A Esq QUALIFIED70Onyama Limba
1009Ivar O MacleadAustralia2024-06-13Rangoni Of Florence UNQUALIFIED30Bernardo Dominic
1010Tony S FigeroaBrazil2024-06-07Morlong Associates RENEWAL91Ivan Magalhaes
1011Claire H WhobreyUnited Kingdom2024-06-10Feiner Bros NEW13Ioni Bowcher
1012Faith R BriddickCanada2024-06-08Chanay, Jeffrey A Esq NEW68Stephen Shaw
1013Ashley Y MacleadRussia2024-06-04Buckley Miller Wright NEW0Bernardo Dominic
1014Munro B AlbaresArgentina2024-06-13Rangoni Of Florence UNQUALIFIED97Xuxue Feng
1015Faith V KuskoBrazil2024-06-01Buckley Miller Wright PROPOSAL14Xuxue Feng
1016Isabel T RulapaughCanada2024-05-29Printing Dimensions NEW66Bernardo Dominic
1017Maria H InouyeAustralia2024-06-05Morlong Associates UNQUALIFIED95Asiya Javayant
1018Rodrigues D FlosiSpain2024-06-03Morlong Associates NEGOTIATION73Xuxue Feng
1019Maisha N SchemmerArgentina2024-06-24Morlong Associates NEGOTIATION2Anna Fali
1020Ricardo V RulapaughGermany2024-05-27Buckley Miller Wright QUALIFIED7Ioni Bowcher
1021Leja V TollnerAustralia2024-06-24Rousseaux, Michael Esq RENEWAL86Stephen Shaw
1022Mujtaba L MorascaSpain2024-06-24Chapman, Ross E Esq RENEWAL26Bernardo Dominic
1023Wickens O IturbideFrance2024-05-31Benton, John B Jr UNQUALIFIED73Elwin Sharvill
1024Deepesh K MacleadArgentina2024-06-14Benton, John B Jr NEGOTIATION62Elwin Sharvill
1025Murillo W AmigonArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION13Anna Fali
1026Deepesh J CaudyFrance2024-05-30Rangoni Of Florence RENEWAL46Ioni Bowcher
1027Rodrigues G StockhamArgentina2024-06-18Chapman, Ross E Esq QUALIFIED34Anna Fali
1028Maisha N ShinkoBrazil2024-06-12Morlong Associates RENEWAL59Elwin Sharvill
1029Jefferson U BologniaRussia2024-06-05Feltz Printing Service QUALIFIED36Bernardo Dominic
1030Ivar P GillianIndia2024-06-17Chemel, James L Cpa NEGOTIATION60Ivan Magalhaes
1031Leon K InouyeRussia2024-06-09Feiner Bros NEGOTIATION90Anna Fali
1032Aika L RulapaughFrance2024-06-06King, Christopher A Esq RENEWAL86Stephen Shaw
1033Ivar K StensethArgentina2024-05-31Morlong Associates PROPOSAL36Stephen Shaw
1034Leon M AlbaresIndia2024-06-05Buckley Miller Wright NEGOTIATION39Xuxue Feng
1035Aruna J InouyeBrazil2024-06-09Chemel, James L Cpa NEW42Anna Fali
1036Silvio A GarufiCanada2024-06-03Truhlar And Truhlar Attys RENEWAL28Bernardo Dominic
1037Silvio K AmigonJapan2024-06-05Rousseaux, Michael Esq QUALIFIED68Ioni Bowcher
1038Emily T SaylorsRussia2024-05-26Chapman, Ross E Esq UNQUALIFIED93Xuxue Feng
1039Aruna F RutaCanada2024-06-16Commercial Press NEW26Ivan Magalhaes
1040Johnson M NickaAustralia2024-06-15Chanay, Jeffrey A Esq QUALIFIED93Elwin Sharvill
1041Antonio D DarakjyJapan2024-06-24Feiner Bros UNQUALIFIED90Elwin Sharvill
1042Munro L OstroskyGermany2024-06-10Commercial Press UNQUALIFIED43Elwin Sharvill
1043Rodrigues M FerenczRussia2024-06-06Dorl, James J Esq NEW14Amy Elsner
1044Jefferson D BologniaJapan2024-05-29Chapman, Ross E Esq NEGOTIATION43Bernardo Dominic
1045Claire P WhobreyBrazil2024-06-10Chemel, James L Cpa PROPOSAL60Elwin Sharvill
1046Leon G InouyeArgentina2024-05-31Chemel, James L Cpa NEGOTIATION91Amy Elsner
1047Claire A SlusarskiJapan2024-06-13Chemel, James L Cpa PROPOSAL36Stephen Shaw
1048Costa O GlickAustralia2024-05-31Feiner Bros RENEWAL35Xuxue Feng
1049Misaki Z CaudyItaly2024-06-09Rousseaux, Michael Esq UNQUALIFIED84Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Costa P TollnerJapanIoni Bowcher NEGOTIATION
Cody A RutaUnited KingdomXuxue Feng UNQUALIFIED
Juan V NestleItalyAmy Elsner QUALIFIED
Sinclair Z OstroskyGermanyStephen Shaw NEGOTIATION
Arvin E IturbideArgentinaBernardo Dominic QUALIFIED
Maisha U PoquetteRussiaIvan Magalhaes NEW
Ricardo E OldroydJapanAmy Elsner UNQUALIFIED
Jefferson X RutaCanadaStephen Shaw QUALIFIED
Julie E RimAustraliaBernardo Dominic NEW
Juan Z OstroskyAustraliaAnna Fali RENEWAL
Clifford X IturbideUnited KingdomStephen Shaw QUALIFIED
Murillo P KuskoFranceAmy Elsner RENEWAL
Munro M FerenczSpainXuxue Feng NEW
Adams F AmigonBrazilBernardo Dominic PROPOSAL
Faith B KuskoArgentinaIoni Bowcher NEW
Mayumi C RutaArgentinaAmy Elsner UNQUALIFIED
Stacey Y WhobreyGermanyOnyama Limba UNQUALIFIED
Octavia C MaletUnited KingdomIoni Bowcher PROPOSAL
Kaitlin I MarrierJapanAsiya Javayant NEW
Aruna I ShinkoGermanyXuxue Feng RENEWAL
Aditya H RimAustraliaIvan Magalhaes NEGOTIATION
Antonio I DilliardRussiaIvan Magalhaes PROPOSAL
Deepesh G OldroydCanadaIvan Magalhaes UNQUALIFIED
Morrow Q WaycottJapanStephen Shaw UNQUALIFIED
Chavez J PaprockiAustraliaXuxue Feng UNQUALIFIED
Deepesh I FollerGermanyAsiya Javayant UNQUALIFIED
Morrow N BriddickBrazilXuxue Feng QUALIFIED
Munro M StockhamSpainIvan Magalhaes RENEWAL
Juan W GauchoArgentinaBernardo Dominic RENEWAL
Stacey N CaudyJapanIvan Magalhaes RENEWAL
Jennifer N WaycottGermanyOnyama Limba RENEWAL
Smith Q TollnerJapanXuxue Feng RENEWAL
Juan Z RoysterItalyAsiya Javayant QUALIFIED
Leja E ShinkoRussiaOnyama Limba RENEWAL
Jefferson G NickaSpainAsiya Javayant PROPOSAL
Claire X ChuiRussiaIvan Magalhaes PROPOSAL
Jennifer O MorascaItalyElwin Sharvill QUALIFIED
Smith F PaprockiAustraliaOnyama Limba PROPOSAL
Octavia B TollnerRussiaIvan Magalhaes NEGOTIATION
Aditya G StensethArgentinaIoni Bowcher QUALIFIED
Mayumi N FerenczArgentinaAsiya Javayant NEW
Cody F MarrierBrazilAsiya Javayant UNQUALIFIED
Clifford B SlusarskiIndiaAsiya Javayant UNQUALIFIED
Maria H OstroskyFranceElwin Sharvill QUALIFIED
Aruna N MarrierArgentinaAmy Elsner QUALIFIED
Stacey S DoeCanadaStephen Shaw UNQUALIFIED
Leja P CampainRussiaXuxue Feng NEW
Tony P StockhamItalyOnyama Limba UNQUALIFIED
Mujtaba C MacleadCanadaAnna Fali QUALIFIED
Julie K SlusarskiSpainXuxue Feng PROPOSAL
Frozen Columns
Name
James A Bowley
Sinclair R Darakjy
Leja B Glick
Greenwood O Rim
Clifford S Ruta
Misaki N Inouye
Morrow B Caudy
Antonio U Garufi
Julie F Glick
Antonio T Nestle
Tony R Schemmer
Izzy J Figeroa
David S Malet
Maria J Chui
Maria T Sergi
Alejandro J Iturbide
Leja H Saylors
Salvatore Z Perin
Mayumi Z Maclead
Stacey V Gaucho
Salvatore C Caldarera
Juan O Rim
Claire A Vocelka
Leon F Bowley
Deepesh G Stockham
Adams W Morasca
Jefferson U Garufi
Jeanfrancois S Chui
Leja Z Paprocki
Silvio B Rulapaugh
Jones V Rim
David B Nicka
Stacey Y Wieser
Chavez H Paprocki
Juan U Rulapaugh
Chavez A Gaucho
Adams O Chui
Leon E Poquette
Jefferson E Nicka
Aruna P Amigon
Misaki E Campain
Johnson M Gaucho
Kadeem X Campain
James B Venere
Arvin D Stockham
Alejandro S Shinko
Murillo D Rim
Jennifer C Oldroyd
Munro D Vocelka
Izzy M Whobrey
IdCountryDate
1000Italy2024-06-13
1001Argentina2024-06-13
1002India2024-06-05
1003Germany2024-06-08
1004Australia2024-06-22
1005India2024-06-15
1006India2024-06-12
1007Canada2024-06-07
1008Italy2024-06-06
1009Germany2024-06-01
1010Russia2024-06-18
1011Brazil2024-06-02
1012Brazil2024-06-13
1013Australia2024-06-02
1014Russia2024-06-04
1015Brazil2024-06-03
1016Italy2024-06-02
1017France2024-06-19
1018Germany2024-05-28
1019India2024-06-07
1020Canada2024-06-11
1021Italy2024-06-02
1022Canada2024-06-05
1023Russia2024-06-14
1024India2024-06-24
1025Japan2024-06-12
1026Russia2024-06-13
1027Canada2024-06-12
1028Brazil2024-06-22
1029Australia2024-06-05
1030Brazil2024-06-04
1031Germany2024-05-27
1032Brazil2024-06-08
1033Italy2024-06-15
1034Germany2024-06-06
1035Australia2024-06-23
1036United Kingdom2024-05-26
1037United Kingdom2024-05-27
1038Spain2024-05-30
1039Argentina2024-05-31
1040Spain2024-06-06
1041Japan2024-05-31
1042Australia2024-06-14
1043Brazil2024-06-04
1044Germany2024-06-08
1045Spain2024-06-09
1046Italy2024-06-07
1047Australia2024-06-17
1048Spain2024-06-07
1049India2024-06-19

On-Demand Data

NameIdCountryDate
Murillo X Morasca1000Australia2024-06-04
Wickens G Albares1001Australia2024-06-09
Leon K Ostrosky1002Germany2024-06-01
Munro W Malet1003Italy2024-06-23
Emily Q Stockham1004Italy2024-06-08
Wickens N Butt1005Russia2024-06-20
Kaitlin I Gaucho1006Canada2024-06-19
Cody G Ostrosky1007United Kingdom2024-05-29
Chavez E Inouye1008Russia2024-06-17
Clifford P Oldroyd1009Spain2024-06-04
Julie Q Ostrosky1010Germany2024-06-13
Wickens E Kolmetz1011United Kingdom2024-06-03
Ashley Q Rim1012Italy2024-06-13
Adams T Bowley1013Japan2024-06-11
Kaitlin Z Paprocki1014United Kingdom2024-05-27
Antonio Y Doe1015Argentina2024-06-08
James K Nestle1016India2024-06-01
Julie Z Shinko1017Argentina2024-05-29
Antonio W Marrier1018France2024-06-24
Ashley E Caldarera1019Japan2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo N RimUnited KingdomXuxue Feng PROPOSAL
Octavia B IturbideCanadaAsiya Javayant QUALIFIED
Sinclair B RutaCanadaXuxue Feng NEGOTIATION
Sinclair T AlbaresRussiaAnna Fali NEW
Murillo E GlickIndiaBernardo Dominic QUALIFIED
Octavia J AmigonJapanStephen Shaw NEW
Murillo F VocelkaArgentinaAnna Fali PROPOSAL
Mujtaba H MarrierFranceAnna Fali UNQUALIFIED
Octavia Y ShinkoItalyIoni Bowcher RENEWAL
Isabel P GillianCanadaIvan Magalhaes RENEWAL
Kadeem I FigeroaItalyOnyama Limba UNQUALIFIED
Claire G FerenczGermanyElwin Sharvill RENEWAL
Deepesh Z RimBrazilIvan Magalhaes NEGOTIATION
Rodrigues I RulapaughGermanyXuxue Feng NEW
Francesco F GlickJapanXuxue Feng NEGOTIATION
Jefferson B ButtFranceAnna Fali NEW
Salvatore R FigeroaIndiaAmy Elsner NEGOTIATION
James W BriddickUnited KingdomBernardo Dominic RENEWAL
Emily P MacleadAustraliaBernardo Dominic NEGOTIATION
Mayumi A InouyeBrazilAsiya Javayant QUALIFIED
Juan N CaldareraIndiaAsiya Javayant QUALIFIED
Darci F AlbaresCanadaStephen Shaw NEW
Clifford H ButtJapanBernardo Dominic NEW
Adams D WhobreyGermanyIoni Bowcher PROPOSAL
David A MaletArgentinaAsiya Javayant NEGOTIATION
Aruna O GillianIndiaAnna Fali UNQUALIFIED
Jones E SchemmerItalyBernardo Dominic RENEWAL
Morrow L MacleadIndiaElwin Sharvill NEGOTIATION
Rodrigues C CaldareraRussiaElwin Sharvill PROPOSAL
Johnson D FigeroaSpainAmy Elsner NEW
Salvatore Z ButtJapanAmy Elsner UNQUALIFIED
Johnson D OldroydArgentinaOnyama Limba QUALIFIED
Aika O SergiAustraliaAnna Fali QUALIFIED
Juan F CaldareraRussiaOnyama Limba PROPOSAL
Nicolas Q RimItalyOnyama Limba PROPOSAL
Murillo U FigeroaAustraliaBernardo Dominic UNQUALIFIED
Izzy Q SlusarskiSpainAmy Elsner PROPOSAL
Rodrigues W PoquetteSpainXuxue Feng RENEWAL
Aika C InouyeBrazilAsiya Javayant QUALIFIED
Claire L CaudyBrazilAmy Elsner PROPOSAL

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