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
Juan U PaprockiGermanyXuxue Feng NEW
Clifford T SlusarskiSpainAnna Fali RENEWAL
Silvio Z MaletBrazilAsiya Javayant PROPOSAL
Jefferson M KolmetzArgentinaStephen Shaw PROPOSAL
Aruna Z InouyeRussiaAmy Elsner RENEWAL
Murillo M MorascaIndiaAmy Elsner PROPOSAL
Jeanfrancois K RutaArgentinaAmy Elsner NEW
Izzy A FollerBrazilElwin Sharvill UNQUALIFIED
Leon A InouyeIndiaIvan Magalhaes NEW
Francesco S SaylorsRussiaAsiya Javayant RENEWAL
Jennifer U VenereUnited KingdomOnyama Limba NEW
Greenwood S IturbideUnited KingdomXuxue Feng QUALIFIED
Kadeem G KolmetzUnited KingdomOnyama Limba NEGOTIATION
Kaitlin D RimIndiaAsiya Javayant RENEWAL
Tony Q StockhamCanadaAsiya Javayant UNQUALIFIED
Maria R RimAustraliaOnyama Limba QUALIFIED
Silvio H IturbideIndiaIvan Magalhaes PROPOSAL
Aruna D CampainAustraliaAsiya Javayant NEGOTIATION
Deepesh H RoysterBrazilIoni Bowcher QUALIFIED
Murillo U PaprockiItalyAsiya Javayant NEW
Wickens W GlickItalyIvan Magalhaes UNQUALIFIED
Aruna I RulapaughSpainStephen Shaw UNQUALIFIED
Maisha Q FigeroaJapanIvan Magalhaes NEW
Antonio U TollnerSpainIvan Magalhaes PROPOSAL
Sinclair Z GlickSpainIoni Bowcher PROPOSAL
Francesco C FigeroaAustraliaAnna Fali UNQUALIFIED
Jennifer X StensethAustraliaAsiya Javayant RENEWAL
Maisha F FerenczItalyAnna Fali UNQUALIFIED
Jeanfrancois C DilliardBrazilIoni Bowcher RENEWAL
Johnson Z RutaIndiaStephen Shaw QUALIFIED
Leja W VenereCanadaElwin Sharvill PROPOSAL
Greenwood Z StensethUnited KingdomAmy Elsner QUALIFIED
Nicolas D BriddickJapanBernardo Dominic QUALIFIED
Aruna S WieserJapanAsiya Javayant UNQUALIFIED
Mayumi Y VocelkaJapanIvan Magalhaes RENEWAL
Cody Z ButtAustraliaOnyama Limba NEW
Kaitlin A RulapaughFranceXuxue Feng RENEWAL
Munro O BriddickUnited KingdomAnna Fali QUALIFIED
Adams E StensethBrazilStephen Shaw NEGOTIATION
Mujtaba Q NickaRussiaOnyama Limba NEW
Ashley I AlbaresCanadaElwin Sharvill RENEWAL
Alejandro Z WhobreyGermanyAmy Elsner UNQUALIFIED
Sinclair W OstroskyGermanyXuxue Feng RENEWAL
Morrow V VenereGermanyOnyama Limba QUALIFIED
Maisha R OldroydSpainXuxue Feng NEGOTIATION
Isabel I FollerJapanOnyama Limba PROPOSAL
Izzy W FigeroaRussiaAnna Fali RENEWAL
Greenwood E FerenczFranceAnna Fali QUALIFIED
Isabel H ButtUnited KingdomStephen Shaw PROPOSAL
Salvatore P MacleadSpainIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon X VocelkaUnited KingdomIvan Magalhaes NEW
Murillo X FigeroaRussiaIoni Bowcher RENEWAL
Mayumi K GillianIndiaAmy Elsner UNQUALIFIED
Ivar X NestleJapanBernardo Dominic QUALIFIED
Kadeem Q IturbideFranceStephen Shaw NEGOTIATION
David K ChuiSpainOnyama Limba NEGOTIATION
Mujtaba M MaletGermanyElwin Sharvill RENEWAL
Deepesh M AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Leja P OldroydArgentinaElwin Sharvill NEGOTIATION
Greenwood S IturbideUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair A IturbideSpain2024-06-14Feiner Bros NEW51Asiya Javayant
1001Isabel Q MorascaArgentina2024-05-19Rousseaux, Michael Esq NEW78Stephen Shaw
1002Murillo J RoysterIndia2024-05-28Buckley Miller Wright RENEWAL51Xuxue Feng
1003Greenwood X MorascaIndia2024-06-17Feltz Printing Service RENEWAL43Onyama Limba
1004Francesco I MorascaArgentina2024-05-20Chapman, Ross E Esq UNQUALIFIED65Elwin Sharvill
1005Kaitlin L MarrierArgentina2024-06-10Chemel, James L Cpa PROPOSAL60Asiya Javayant
1006Wickens M WhobreyFrance2024-05-19Rangoni Of Florence UNQUALIFIED1Bernardo Dominic
1007Wickens N GarufiGermany2024-06-16Chapman, Ross E Esq NEW21Ivan Magalhaes
1008Izzy F WieserGermany2024-05-23Printing Dimensions NEW33Asiya Javayant
1009Juan R GarufiArgentina2024-05-26Truhlar And Truhlar Attys RENEWAL32Bernardo Dominic
1010Claire M MarrierJapan2024-05-31Commercial Press PROPOSAL74Ivan Magalhaes
1011Leja T PaprockiBrazil2024-05-24Truhlar And Truhlar Attys NEGOTIATION20Stephen Shaw
1012Clifford J IturbideRussia2024-05-20Dorl, James J Esq NEGOTIATION57Asiya Javayant
1013Maisha C PaprockiJapan2024-05-19Dorl, James J Esq NEGOTIATION45Elwin Sharvill
1014Costa J ButtFrance2024-06-17Feltz Printing Service QUALIFIED48Asiya Javayant
1015Greenwood W ChuiBrazil2024-06-08Feltz Printing Service RENEWAL25Xuxue Feng
1016Sinclair N BriddickIndia2024-06-06Benton, John B Jr RENEWAL46Ioni Bowcher
1017Tony L GlickArgentina2024-05-30Feltz Printing Service PROPOSAL49Anna Fali
1018Nicolas T MorascaGermany2024-06-10Feiner Bros UNQUALIFIED94Bernardo Dominic
1019Leja N DarakjyAustralia2024-05-25Feiner Bros UNQUALIFIED3Asiya Javayant
1020Adams C StockhamAustralia2024-06-04Morlong Associates NEGOTIATION62Anna Fali
1021Tony X GillianItaly2024-05-25Rousseaux, Michael Esq RENEWAL68Stephen Shaw
1022Ivar Y GillianSpain2024-05-26Printing Dimensions RENEWAL62Amy Elsner
1023Ricardo U RutaFrance2024-05-23Feltz Printing Service QUALIFIED16Xuxue Feng
1024Johnson L TollnerSpain2024-06-08Truhlar And Truhlar Attys NEW40Xuxue Feng
1025Mayumi Y PoquetteJapan2024-06-06Truhlar And Truhlar Attys PROPOSAL45Bernardo Dominic
1026Jones V RoysterArgentina2024-06-17Feiner Bros NEGOTIATION12Asiya Javayant
1027Maisha L ShinkoFrance2024-06-12Printing Dimensions NEW10Xuxue Feng
1028Maisha Q WhobreyFrance2024-06-16Morlong Associates QUALIFIED28Anna Fali
1029Octavia U DoeCanada2024-05-25Morlong Associates NEGOTIATION65Stephen Shaw
1030Leon V KuskoFrance2024-05-23Rangoni Of Florence NEW84Onyama Limba
1031Costa V KuskoItaly2024-06-04Commercial Press NEW68Bernardo Dominic
1032Juan U MorascaArgentina2024-06-12Buckley Miller Wright UNQUALIFIED18Xuxue Feng
1033Munro J VenereCanada2024-05-28Truhlar And Truhlar Attys UNQUALIFIED80Elwin Sharvill
1034Jones I InouyeBrazil2024-06-16Rousseaux, Michael Esq UNQUALIFIED16Asiya Javayant
1035Morrow B SlusarskiSpain2024-06-08Commercial Press RENEWAL33Amy Elsner
1036Isabel V AmigonCanada2024-06-14Printing Dimensions RENEWAL25Ioni Bowcher
1037Leja D MarrierCanada2024-06-16Dorl, James J Esq NEW38Ioni Bowcher
1038Chavez P CampainUnited Kingdom2024-05-19Morlong Associates UNQUALIFIED96Anna Fali
1039Claire Q CampainBrazil2024-06-13Morlong Associates PROPOSAL61Elwin Sharvill
1040Clifford T DarakjyJapan2024-05-21Chemel, James L Cpa QUALIFIED23Xuxue Feng
1041Juan V IturbideItaly2024-06-03Printing Dimensions RENEWAL75Bernardo Dominic
1042Ivar Z SaylorsItaly2024-05-23Commercial Press PROPOSAL55Amy Elsner
1043Izzy Q BowleyFrance2024-06-13Feiner Bros NEGOTIATION4Amy Elsner
1044Ivar F WhobreyRussia2024-06-17King, Christopher A Esq RENEWAL50Ioni Bowcher
1045Smith J RimJapan2024-05-24Dorl, James J Esq PROPOSAL2Stephen Shaw
1046Munro K FlosiFrance2024-06-12King, Christopher A Esq NEW27Ivan Magalhaes
1047Izzy E MaletUnited Kingdom2024-06-12Commercial Press NEGOTIATION16Ivan Magalhaes
1048Ashley C KolmetzIndia2024-06-13Feiner Bros NEW93Anna Fali
1049Ricardo N BriddickIndia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED95Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Nicolas C RulapaughAustraliaIoni Bowcher NEW
Faith A RimIndiaXuxue Feng NEW
Ivar D GauchoGermanyXuxue Feng UNQUALIFIED
Arvin W FollerCanadaStephen Shaw NEW
Nicolas S NickaAustraliaAmy Elsner NEGOTIATION
Juan D VocelkaJapanBernardo Dominic UNQUALIFIED
Deepesh H CampainSpainBernardo Dominic NEGOTIATION
Mayumi X BologniaArgentinaOnyama Limba NEW
Ivar O BologniaSpainOnyama Limba UNQUALIFIED
Sinclair J SaylorsIndiaAnna Fali UNQUALIFIED
Jones Q SergiArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois Y MarrierArgentinaAsiya Javayant PROPOSAL
Deepesh V OstroskyBrazilAnna Fali UNQUALIFIED
Rodrigues E BriddickSpainAnna Fali PROPOSAL
Jones Q BowleyArgentinaBernardo Dominic UNQUALIFIED
Costa O IturbideGermanyAnna Fali PROPOSAL
Jefferson A FigeroaAustraliaElwin Sharvill NEW
Sinclair B SaylorsBrazilOnyama Limba RENEWAL
Adams E WaycottRussiaOnyama Limba QUALIFIED
Maria Q InouyeSpainIoni Bowcher RENEWAL
Morrow V MorascaAustraliaOnyama Limba NEGOTIATION
Leon B PerinBrazilIoni Bowcher PROPOSAL
Jones H NickaGermanyXuxue Feng RENEWAL
Greenwood N PaprockiCanadaXuxue Feng PROPOSAL
Maria R PoquetteItalyElwin Sharvill NEW
Isabel I DilliardUnited KingdomAmy Elsner QUALIFIED
Kaitlin W BriddickArgentinaXuxue Feng NEW
Ricardo V PoquetteBrazilAmy Elsner PROPOSAL
Darci H BologniaRussiaIvan Magalhaes NEW
Juan L PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Julie V ChuiAustraliaElwin Sharvill UNQUALIFIED
Leon W RulapaughAustraliaIoni Bowcher RENEWAL
Ricardo F TollnerBrazilBernardo Dominic RENEWAL
Maria M CaudyIndiaAsiya Javayant NEGOTIATION
Cody V WieserBrazilOnyama Limba PROPOSAL
Clifford S BriddickRussiaAsiya Javayant QUALIFIED
Stacey Q DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford N WaycottArgentinaElwin Sharvill NEGOTIATION
David L SlusarskiFranceAnna Fali NEGOTIATION
Adams I BowleyFranceStephen Shaw NEW
Aditya H FerenczRussiaXuxue Feng UNQUALIFIED
Jeanfrancois M OstroskyGermanyOnyama Limba NEGOTIATION
Ashley U WaycottFranceIvan Magalhaes RENEWAL
Kaitlin M BologniaIndiaBernardo Dominic RENEWAL
Ivar R StensethItalyIoni Bowcher NEW
Claire Y FlosiItalyAnna Fali NEW
Aika K ChuiSpainIoni Bowcher NEGOTIATION
Juan B NickaArgentinaAnna Fali NEW
Smith J CaldareraArgentinaOnyama Limba PROPOSAL
Chavez H KolmetzIndiaOnyama Limba NEW
Frozen Columns
Name
Nicolas W Dilliard
Aditya Y Campain
Mayumi Y Doe
Francesco O Foller
Smith I Gaucho
Faith Z Paprocki
Leja U Malet
Julie U Caldarera
Stacey Y Flosi
Sinclair E Rulapaugh
Leon B Stockham
Jefferson B Morasca
Darci K Ostrosky
Jennifer W Gillian
Emily T Darakjy
Isabel W Kusko
Kadeem I Stockham
Maisha R Nestle
Juan E Nicka
Jefferson H Malet
Deepesh H Wieser
Misaki N Darakjy
Deepesh F Stockham
Silvio O Nicka
Johnson S Slusarski
Darci D Garufi
Smith O Venere
Leon T Flosi
Deepesh M Foller
Mayumi O Briddick
Juan A Dilliard
Stacey T Vocelka
Izzy I Darakjy
Jones M Wieser
Arvin E Venere
Murillo L Garufi
Johnson U Whobrey
Octavia F Flosi
Emily L Inouye
Ivar N Poquette
Tony Q Tollner
Morrow A Sergi
Misaki K Gaucho
Clifford A Dilliard
Ricardo S Rulapaugh
Silvio C Slusarski
Ashley O Oldroyd
Tony Y Iturbide
Julie R Albares
Ashley Z Sergi
IdCountryDate
1000India2024-06-17
1001Argentina2024-06-14
1002Japan2024-06-15
1003United Kingdom2024-06-06
1004Italy2024-06-17
1005Spain2024-05-25
1006Germany2024-06-05
1007Argentina2024-06-03
1008Russia2024-06-12
1009Australia2024-06-11
1010India2024-06-03
1011Germany2024-05-20
1012India2024-06-14
1013Brazil2024-06-13
1014France2024-06-02
1015Germany2024-05-29
1016Russia2024-05-19
1017Brazil2024-05-22
1018Argentina2024-05-28
1019Canada2024-06-15
1020United Kingdom2024-06-13
1021Italy2024-06-09
1022India2024-06-01
1023Argentina2024-06-03
1024Australia2024-06-16
1025France2024-05-27
1026Spain2024-06-12
1027India2024-06-17
1028Argentina2024-05-23
1029Spain2024-06-09
1030Canada2024-05-19
1031Australia2024-06-01
1032Germany2024-05-20
1033Australia2024-06-16
1034Canada2024-06-11
1035Japan2024-05-27
1036Canada2024-05-25
1037Italy2024-06-07
1038Germany2024-05-30
1039Canada2024-05-27
1040Italy2024-06-12
1041Canada2024-05-29
1042Canada2024-06-04
1043Italy2024-05-22
1044Brazil2024-05-24
1045United Kingdom2024-06-07
1046United Kingdom2024-06-09
1047India2024-05-29
1048Australia2024-06-01
1049Japan2024-05-21

On-Demand Data

NameIdCountryDate
Stacey T Briddick1000Russia2024-06-14
Nicolas W Slusarski1001United Kingdom2024-05-24
Clifford R Morasca1002Japan2024-06-15
Leja G Caldarera1003Russia2024-05-27
Leon S Bowley1004Australia2024-05-25
Leja U Rulapaugh1005India2024-06-16
Izzy N Butt1006Russia2024-05-22
Mayumi T Caudy1007Brazil2024-06-16
Aika Q Poquette1008Spain2024-06-05
Tony L Oldroyd1009India2024-06-10
Ivar F Darakjy1010Argentina2024-06-05
Alejandro S Butt1011India2024-05-23
Maria C Whobrey1012Brazil2024-05-28
Johnson L Caldarera1013Japan2024-06-09
Silvio V Darakjy1014United Kingdom2024-06-03
Claire G Oldroyd1015France2024-06-13
Misaki S Stenseth1016Australia2024-05-23
Aruna Y Caudy1017Australia2024-05-23
Ricardo I Briddick1018Russia2024-06-02
Arvin U Nestle1019Canada2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel R SchemmerCanadaOnyama Limba NEW
Isabel N OldroydFranceOnyama Limba QUALIFIED
Francesco O SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Ivar Y DoeAustraliaBernardo Dominic QUALIFIED
Ashley U DarakjyCanadaXuxue Feng NEW
Cody U TollnerSpainElwin Sharvill NEW
Faith O MarrierBrazilIvan Magalhaes NEGOTIATION
Mayumi M IturbideGermanyAsiya Javayant UNQUALIFIED
Arvin A StockhamGermanyElwin Sharvill PROPOSAL
Ivar N VocelkaAustraliaAsiya Javayant RENEWAL
Smith X SlusarskiSpainXuxue Feng NEW
Nicolas V VocelkaRussiaStephen Shaw NEGOTIATION
Ricardo O KuskoUnited KingdomAmy Elsner NEW
Mayumi P PoquetteRussiaOnyama Limba NEGOTIATION
Ricardo K MaletUnited KingdomAsiya Javayant QUALIFIED
Silvio P PoquetteGermanyElwin Sharvill UNQUALIFIED
Alejandro Y SlusarskiUnited KingdomIoni Bowcher RENEWAL
Johnson Q PoquetteGermanyStephen Shaw PROPOSAL
Darci R OldroydGermanyIoni Bowcher UNQUALIFIED
Ivar Z WhobreyArgentinaBernardo Dominic NEW
Cody N WaycottIndiaIoni Bowcher UNQUALIFIED
Costa P GarufiGermanyAmy Elsner PROPOSAL
Misaki V StensethAustraliaAmy Elsner PROPOSAL
Leon I DilliardJapanXuxue Feng NEGOTIATION
Jefferson F WhobreyGermanyAmy Elsner UNQUALIFIED
Julie E ShinkoArgentinaAnna Fali NEGOTIATION
Greenwood X DilliardJapanAsiya Javayant QUALIFIED
Misaki S VenereFranceXuxue Feng UNQUALIFIED
Claire B WaycottUnited KingdomAsiya Javayant NEW
Mujtaba X FlosiUnited KingdomAnna Fali NEW
Aika U RutaFranceStephen Shaw UNQUALIFIED
Tony Y PaprockiUnited KingdomBernardo Dominic NEW
Juan Z FigeroaGermanyAnna Fali NEW
Jennifer H InouyeFranceIvan Magalhaes NEW
Kadeem Q AlbaresIndiaXuxue Feng PROPOSAL
Greenwood D AlbaresFranceStephen Shaw PROPOSAL
Rodrigues U AlbaresItalyStephen Shaw UNQUALIFIED
Jefferson U OstroskyRussiaAmy Elsner QUALIFIED
Emily S SergiCanadaXuxue Feng NEW
Rodrigues I DarakjyCanadaIoni Bowcher NEGOTIATION

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