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
Jennifer G TollnerBrazilAmy Elsner QUALIFIED
Stacey I RulapaughCanadaXuxue Feng QUALIFIED
Ivar D CampainItalyAmy Elsner QUALIFIED
Stacey G FollerBrazilOnyama Limba QUALIFIED
Emily C FollerBrazilAmy Elsner NEGOTIATION
Salvatore X PerinRussiaOnyama Limba UNQUALIFIED
Johnson V DarakjyArgentinaElwin Sharvill PROPOSAL
Ashley U FlosiSpainAnna Fali QUALIFIED
Arvin B GlickUnited KingdomAnna Fali QUALIFIED
Rodrigues H MorascaGermanyStephen Shaw QUALIFIED
Aruna B BriddickBrazilBernardo Dominic PROPOSAL
Ashley B CampainBrazilOnyama Limba UNQUALIFIED
Francesco A NickaGermanyIoni Bowcher NEW
Deepesh A NickaSpainAmy Elsner UNQUALIFIED
Francesco C NestleUnited KingdomAsiya Javayant NEGOTIATION
Juan J VocelkaCanadaElwin Sharvill QUALIFIED
Maria X GauchoGermanyAmy Elsner QUALIFIED
Chavez S WhobreyBrazilXuxue Feng QUALIFIED
Leja U WhobreyGermanyElwin Sharvill PROPOSAL
Chavez W GarufiRussiaAnna Fali QUALIFIED
Salvatore W KolmetzGermanyOnyama Limba QUALIFIED
James T DoeGermanyBernardo Dominic PROPOSAL
Mayumi X DoeItalyAnna Fali PROPOSAL
Aruna Y RoysterBrazilXuxue Feng NEGOTIATION
Costa Q SchemmerUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois Z PaprockiRussiaAmy Elsner RENEWAL
Stacey C AlbaresSpainStephen Shaw UNQUALIFIED
Kaitlin Q StockhamGermanyAsiya Javayant RENEWAL
Greenwood M CaldareraSpainBernardo Dominic RENEWAL
Ricardo F OstroskySpainBernardo Dominic RENEWAL
Ivar D VocelkaJapanAnna Fali UNQUALIFIED
Arvin K CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Stacey M PoquetteFranceAsiya Javayant NEW
Faith E WaycottGermanyXuxue Feng PROPOSAL
Nicolas X RoysterIndiaOnyama Limba PROPOSAL
Faith F DarakjyCanadaIoni Bowcher RENEWAL
Maria V WhobreyUnited KingdomBernardo Dominic QUALIFIED
Ivar A SlusarskiGermanyIvan Magalhaes NEW
Maria P KolmetzFranceAnna Fali QUALIFIED
Nicolas H RutaGermanyIoni Bowcher PROPOSAL
Cody L VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Isabel T VocelkaIndiaAsiya Javayant QUALIFIED
Ivar Q StockhamSpainAmy Elsner NEGOTIATION
Julie W RutaGermanyAnna Fali RENEWAL
James T KolmetzRussiaBernardo Dominic QUALIFIED
Stacey O GarufiCanadaIoni Bowcher QUALIFIED
Smith D BowleyAustraliaElwin Sharvill RENEWAL
Cody E DoeBrazilIvan Magalhaes RENEWAL
Leon C AlbaresJapanElwin Sharvill NEW
Tony F CampainFranceOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Johnson G SergiGermanyIvan Magalhaes QUALIFIED
Darci S VocelkaBrazilElwin Sharvill UNQUALIFIED
Rodrigues R DoeGermanyAnna Fali PROPOSAL
Deepesh D RutaCanadaXuxue Feng NEGOTIATION
Juan J TollnerIndiaXuxue Feng RENEWAL
Jones E InouyeRussiaXuxue Feng NEGOTIATION
Julie L TollnerArgentinaIoni Bowcher NEW
Octavia E NestleArgentinaAnna Fali PROPOSAL
Jeanfrancois G TollnerSpainOnyama Limba QUALIFIED
Salvatore X OstroskyGermanyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna L GlickFrance2024-06-09Buckley Miller Wright PROPOSAL56Stephen Shaw
1001Jeanfrancois R ChuiBrazil2024-06-13Chanay, Jeffrey A Esq NEW33Xuxue Feng
1002Aditya V NestleUnited Kingdom2024-05-21Buckley Miller Wright QUALIFIED99Ivan Magalhaes
1003Nicolas F ButtRussia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED71Xuxue Feng
1004Nicolas Y FigeroaCanada2024-06-01Feiner Bros NEGOTIATION82Elwin Sharvill
1005Kaitlin X RimGermany2024-05-27Feltz Printing Service NEGOTIATION8Anna Fali
1006Kadeem G MacleadAustralia2024-05-25Dorl, James J Esq PROPOSAL67Stephen Shaw
1007Chavez Z PerinCanada2024-05-25Rousseaux, Michael Esq UNQUALIFIED72Amy Elsner
1008Chavez N PerinAustralia2024-06-05Benton, John B Jr NEW53Stephen Shaw
1009Kadeem K MacleadRussia2024-06-12Feiner Bros RENEWAL64Anna Fali
1010Juan Y FollerArgentina2024-06-13Commercial Press UNQUALIFIED37Asiya Javayant
1011Nicolas Z MorascaRussia2024-06-13Dorl, James J Esq RENEWAL81Amy Elsner
1012Ricardo B DarakjyBrazil2024-05-30Buckley Miller Wright RENEWAL67Asiya Javayant
1013Rodrigues J FigeroaBrazil2024-05-30Rousseaux, Michael Esq QUALIFIED34Ivan Magalhaes
1014Morrow I ButtItaly2024-06-18Truhlar And Truhlar Attys QUALIFIED31Elwin Sharvill
1015Leon C DilliardGermany2024-05-25Commercial Press QUALIFIED36Anna Fali
1016Nicolas S SchemmerCanada2024-06-05Dorl, James J Esq NEW11Bernardo Dominic
1017Jennifer A DoeUnited Kingdom2024-06-15Buckley Miller Wright NEGOTIATION61Ivan Magalhaes
1018Costa R SaylorsItaly2024-06-16Chanay, Jeffrey A Esq NEGOTIATION3Ivan Magalhaes
1019Mujtaba W WieserAustralia2024-06-01Chemel, James L Cpa NEGOTIATION90Onyama Limba
1020Emily C MaletFrance2024-05-28King, Christopher A Esq QUALIFIED12Ioni Bowcher
1021Jeanfrancois J RimIndia2024-06-08Benton, John B Jr RENEWAL60Bernardo Dominic
1022Wickens Z StensethFrance2024-06-03Chanay, Jeffrey A Esq PROPOSAL61Xuxue Feng
1023Wickens M StockhamSpain2024-06-01Chemel, James L Cpa PROPOSAL93Ivan Magalhaes
1024Morrow B WhobreyFrance2024-05-28Printing Dimensions NEGOTIATION66Ioni Bowcher
1025Mujtaba M MacleadArgentina2024-06-16Benton, John B Jr RENEWAL10Bernardo Dominic
1026Nicolas O FerenczCanada2024-06-14Buckley Miller Wright UNQUALIFIED42Amy Elsner
1027Jones A PaprockiIndia2024-06-13Printing Dimensions RENEWAL94Onyama Limba
1028Greenwood X KolmetzCanada2024-06-06Morlong Associates QUALIFIED34Ivan Magalhaes
1029Mayumi K PaprockiUnited Kingdom2024-05-24Chanay, Jeffrey A Esq PROPOSAL44Asiya Javayant
1030Tony E SchemmerAustralia2024-05-31King, Christopher A Esq NEGOTIATION56Xuxue Feng
1031Kadeem Q GarufiFrance2024-06-02Truhlar And Truhlar Attys RENEWAL94Stephen Shaw
1032Ashley A MacleadBrazil2024-05-27Rangoni Of Florence NEGOTIATION41Anna Fali
1033Ashley Q InouyeFrance2024-05-20Truhlar And Truhlar Attys RENEWAL12Anna Fali
1034Salvatore I MaletFrance2024-06-11Chemel, James L Cpa NEGOTIATION99Anna Fali
1035Aruna Y KolmetzItaly2024-05-25Morlong Associates NEW47Xuxue Feng
1036David S KuskoArgentina2024-05-31Morlong Associates NEW87Anna Fali
1037Chavez N RulapaughIndia2024-05-21Commercial Press NEGOTIATION8Anna Fali
1038Misaki M WhobreyIndia2024-06-18King, Christopher A Esq NEGOTIATION1Onyama Limba
1039Munro L WhobreyUnited Kingdom2024-06-07Morlong Associates RENEWAL3Amy Elsner
1040Octavia G OstroskySpain2024-05-28Chanay, Jeffrey A Esq QUALIFIED17Xuxue Feng
1041Ivar T TollnerAustralia2024-05-30Buckley Miller Wright QUALIFIED22Anna Fali
1042Faith J RulapaughJapan2024-05-22Morlong Associates UNQUALIFIED46Onyama Limba
1043Jones Q PoquetteGermany2024-06-15Morlong Associates NEW96Stephen Shaw
1044Silvio G RulapaughAustralia2024-05-21Benton, John B Jr NEW87Amy Elsner
1045Adams H AmigonFrance2024-06-03Benton, John B Jr UNQUALIFIED55Onyama Limba
1046Aditya S FlosiUnited Kingdom2024-06-11Printing Dimensions QUALIFIED24Elwin Sharvill
1047Nicolas N KuskoItaly2024-06-17Chanay, Jeffrey A Esq NEGOTIATION70Anna Fali
1048Stacey I DilliardSpain2024-06-10Printing Dimensions QUALIFIED46Asiya Javayant
1049Aika Y GauchoBrazil2024-06-05Printing Dimensions NEGOTIATION98Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson Q GillianRussiaAnna Fali PROPOSAL
Cody U SaylorsJapanIoni Bowcher RENEWAL
Jefferson E VenereGermanyStephen Shaw RENEWAL
Misaki M BriddickBrazilElwin Sharvill PROPOSAL
Adams X BriddickSpainIvan Magalhaes QUALIFIED
Deepesh X FerenczIndiaBernardo Dominic QUALIFIED
Aika M MarrierIndiaStephen Shaw NEW
Chavez I ButtCanadaAnna Fali NEGOTIATION
Julie R PaprockiJapanIoni Bowcher NEGOTIATION
Jeanfrancois L NickaAustraliaXuxue Feng PROPOSAL
Deepesh C BologniaJapanAmy Elsner PROPOSAL
Murillo W KuskoCanadaAsiya Javayant RENEWAL
Chavez L SaylorsItalyXuxue Feng NEGOTIATION
Kadeem B SergiCanadaOnyama Limba PROPOSAL
Julie V DarakjyJapanXuxue Feng QUALIFIED
Aruna Z ShinkoRussiaAsiya Javayant QUALIFIED
Arvin G VenereJapanAsiya Javayant UNQUALIFIED
Deepesh D MorascaArgentinaXuxue Feng PROPOSAL
James K BowleyCanadaOnyama Limba PROPOSAL
Jones P GarufiJapanStephen Shaw PROPOSAL
Misaki O SlusarskiJapanAnna Fali NEW
Emily D StockhamRussiaOnyama Limba RENEWAL
Stacey A TollnerIndiaAnna Fali NEGOTIATION
Johnson B DilliardRussiaXuxue Feng QUALIFIED
David T AlbaresSpainIoni Bowcher UNQUALIFIED
Misaki C OldroydItalyAnna Fali NEGOTIATION
Mujtaba C RoysterJapanOnyama Limba NEW
Faith S WhobreySpainAnna Fali NEGOTIATION
Maisha O GarufiItalyBernardo Dominic RENEWAL
Isabel G BologniaRussiaXuxue Feng PROPOSAL
Francesco F AmigonItalyStephen Shaw PROPOSAL
Claire Q CampainCanadaAsiya Javayant QUALIFIED
Deepesh D MacleadBrazilAnna Fali PROPOSAL
Johnson Q PoquetteArgentinaXuxue Feng RENEWAL
Leja C PoquetteAustraliaBernardo Dominic NEGOTIATION
Mujtaba D KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Jones T MaletSpainAnna Fali QUALIFIED
Antonio Y IturbideRussiaStephen Shaw RENEWAL
Jones O CaldareraRussiaAsiya Javayant RENEWAL
Wickens D RimUnited KingdomBernardo Dominic RENEWAL
Misaki R CaudyJapanAmy Elsner QUALIFIED
Octavia P WhobreyArgentinaAsiya Javayant NEGOTIATION
Sinclair V CampainArgentinaAmy Elsner QUALIFIED
Ricardo R PaprockiJapanBernardo Dominic UNQUALIFIED
Leja P BologniaAustraliaElwin Sharvill NEW
Jeanfrancois J PoquetteSpainXuxue Feng UNQUALIFIED
Tony N BriddickRussiaStephen Shaw QUALIFIED
Aditya P PaprockiCanadaElwin Sharvill NEW
Emily H NestleUnited KingdomElwin Sharvill RENEWAL
Aruna A DoeFranceAsiya Javayant NEW
Frozen Columns
Name
Mayumi G Campain
James U Ruta
Adams M Poquette
Ricardo R Whobrey
Izzy H Maclead
Morrow S Slusarski
Jefferson D Caudy
Leja I Perin
Wickens G Waycott
Leon Y Flosi
Leon H Nestle
Costa W Oldroyd
Kadeem U Ruta
Salvatore L Malet
Wickens K Chui
Silvio U Caudy
Mayumi C Gaucho
Leja Y Sergi
Aika F Slusarski
Misaki O Ostrosky
Jennifer Y Stockham
Costa U Kolmetz
Misaki Q Morasca
Stacey M Nestle
Tony R Ostrosky
Rodrigues U Nestle
Darci H Morasca
Munro B Kusko
Salvatore I Kolmetz
Jeanfrancois F Gaucho
Morrow F Figeroa
Smith M Amigon
Alejandro W Maclead
Greenwood E Stockham
David W Nestle
Murillo I Dilliard
Adams L Ferencz
Jefferson G Malet
Johnson N Campain
Izzy V Gillian
Aditya N Perin
Tony D Sergi
Mujtaba H Caldarera
Adams V Morasca
Leja I Ostrosky
Leon Q Perin
Mujtaba P Dilliard
Julie M Bowley
Johnson E Figeroa
Juan I Saylors
IdCountryDate
1000Russia2024-06-07
1001United Kingdom2024-06-14
1002Japan2024-05-24
1003Australia2024-05-23
1004Brazil2024-06-17
1005Russia2024-05-25
1006Argentina2024-06-18
1007France2024-06-07
1008Russia2024-06-09
1009Argentina2024-06-05
1010India2024-05-26
1011Canada2024-06-16
1012Argentina2024-06-12
1013Canada2024-06-07
1014Australia2024-06-02
1015Germany2024-06-02
1016Japan2024-06-17
1017India2024-05-25
1018United Kingdom2024-06-18
1019Argentina2024-05-26
1020Italy2024-05-30
1021Italy2024-06-04
1022Russia2024-05-20
1023France2024-06-01
1024France2024-06-15
1025Australia2024-06-18
1026Japan2024-06-01
1027Australia2024-06-04
1028United Kingdom2024-05-20
1029Germany2024-06-06
1030India2024-06-01
1031India2024-06-03
1032United Kingdom2024-06-05
1033France2024-06-16
1034France2024-05-31
1035India2024-06-01
1036Brazil2024-06-16
1037Italy2024-06-02
1038Canada2024-05-25
1039Brazil2024-05-30
1040Canada2024-06-13
1041United Kingdom2024-06-07
1042France2024-06-10
1043Australia2024-05-31
1044Germany2024-06-18
1045Australia2024-06-05
1046Canada2024-06-17
1047Italy2024-05-29
1048United Kingdom2024-05-29
1049Australia2024-06-07

On-Demand Data

NameIdCountryDate
Johnson U Saylors1000Australia2024-06-13
Juan M Glick1001Italy2024-05-26
Julie H Rim1002Japan2024-05-26
Aika V Ferencz1003Russia2024-06-09
Deepesh B Slusarski1004Japan2024-05-20
Murillo G Sergi1005Italy2024-06-04
Maisha I Caldarera1006Australia2024-06-10
Smith D Iturbide1007Brazil2024-05-28
Arvin H Maclead1008Argentina2024-05-21
Emily Y Foller1009Germany2024-05-22
Ricardo F Stockham1010Germany2024-05-25
Clifford L Malet1011India2024-06-11
Murillo A Malet1012France2024-06-09
Smith P Malet1013India2024-05-24
Salvatore E Stockham1014United Kingdom2024-06-02
Salvatore D Campain1015Japan2024-05-31
Darci G Saylors1016Japan2024-06-13
Greenwood Y Ruta1017Italy2024-05-24
Isabel Z Saylors1018Australia2024-05-27
David G Paprocki1019United Kingdom2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith W SaylorsGermanyAnna Fali NEW
Ivar R MarrierFranceBernardo Dominic UNQUALIFIED
Cody S StensethArgentinaBernardo Dominic NEW
Ricardo M DilliardIndiaAnna Fali NEGOTIATION
Chavez W SchemmerFranceOnyama Limba NEGOTIATION
Salvatore C CaudyCanadaIvan Magalhaes PROPOSAL
Maisha K MacleadArgentinaStephen Shaw NEW
Chavez T WhobreyItalyAnna Fali QUALIFIED
Juan H ChuiJapanElwin Sharvill NEW
Sinclair H NickaRussiaIoni Bowcher QUALIFIED
Maisha R FigeroaRussiaBernardo Dominic RENEWAL
Faith P RulapaughBrazilStephen Shaw NEW
Wickens F CaudyBrazilAnna Fali PROPOSAL
Juan C DarakjyRussiaAnna Fali QUALIFIED
Aika N AmigonSpainXuxue Feng NEGOTIATION
Adams G CaldareraJapanXuxue Feng NEGOTIATION
Adams W RimAustraliaAnna Fali UNQUALIFIED
Salvatore A IturbideRussiaElwin Sharvill NEGOTIATION
Jones S OldroydCanadaAsiya Javayant PROPOSAL
Stacey H WhobreySpainAnna Fali NEW
Emily R DoeJapanAmy Elsner UNQUALIFIED
Cody M ChuiArgentinaIoni Bowcher NEGOTIATION
Kadeem E FlosiCanadaOnyama Limba UNQUALIFIED
Antonio M MacleadCanadaAsiya Javayant QUALIFIED
Isabel A FlosiSpainOnyama Limba UNQUALIFIED
Jennifer M WhobreyCanadaIoni Bowcher NEGOTIATION
Leon B SlusarskiBrazilAmy Elsner RENEWAL
Leja S WieserJapanIvan Magalhaes PROPOSAL
Faith Y OldroydIndiaElwin Sharvill UNQUALIFIED
Aruna G PaprockiSpainAmy Elsner PROPOSAL
Kadeem L VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Isabel Y RulapaughBrazilIoni Bowcher PROPOSAL
Salvatore Q FigeroaRussiaElwin Sharvill QUALIFIED
Smith R DoeItalyAsiya Javayant QUALIFIED
Claire P OldroydFranceElwin Sharvill NEW
Ivar R KuskoBrazilIoni Bowcher NEGOTIATION
Faith V WaycottRussiaAsiya Javayant UNQUALIFIED
Nicolas P CaudyItalyStephen Shaw UNQUALIFIED
Arvin T GillianGermanyXuxue Feng PROPOSAL
Munro E WieserItalyAnna Fali 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>