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
Julie D CampainUnited KingdomAnna Fali NEW
Stacey J ChuiRussiaOnyama Limba NEW
Mayumi A GlickArgentinaAnna Fali NEGOTIATION
Ashley Y TollnerJapanIoni Bowcher PROPOSAL
Morrow L PoquetteCanadaBernardo Dominic PROPOSAL
Tony E KuskoSpainAnna Fali NEGOTIATION
Sinclair T ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson I BologniaItalyXuxue Feng UNQUALIFIED
Kaitlin S MacleadIndiaAsiya Javayant NEW
Emily A FlosiArgentinaIoni Bowcher RENEWAL
Ivar Q AlbaresArgentinaIoni Bowcher NEGOTIATION
Julie K FerenczCanadaIvan Magalhaes RENEWAL
Kaitlin C SchemmerArgentinaElwin Sharvill NEGOTIATION
Octavia J AmigonIndiaIvan Magalhaes PROPOSAL
Stacey H ChuiFranceXuxue Feng NEW
Aditya M InouyeGermanyElwin Sharvill PROPOSAL
Kadeem D CampainIndiaIvan Magalhaes NEGOTIATION
James Y DilliardBrazilAmy Elsner RENEWAL
Kaitlin C FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin G BologniaBrazilAnna Fali PROPOSAL
Adams O PaprockiIndiaIvan Magalhaes RENEWAL
Alejandro B RulapaughAustraliaStephen Shaw NEGOTIATION
Aditya N SchemmerIndiaElwin Sharvill UNQUALIFIED
Wickens Q GillianCanadaIvan Magalhaes UNQUALIFIED
Octavia Z GillianIndiaBernardo Dominic RENEWAL
Alejandro F StensethJapanIoni Bowcher PROPOSAL
Ashley Q FerenczAustraliaXuxue Feng UNQUALIFIED
Salvatore W OldroydItalyXuxue Feng QUALIFIED
Tony Z GarufiItalyXuxue Feng PROPOSAL
Clifford Q RulapaughItalyBernardo Dominic RENEWAL
Ivar X GlickSpainAmy Elsner NEW
Morrow K VocelkaBrazilOnyama Limba NEGOTIATION
Maisha J CaudyUnited KingdomAnna Fali QUALIFIED
Arvin W IturbideFranceIoni Bowcher PROPOSAL
Ivar H PaprockiJapanIvan Magalhaes QUALIFIED
Claire Y VocelkaArgentinaOnyama Limba NEW
Tony B SlusarskiJapanOnyama Limba NEGOTIATION
Mayumi H StockhamItalyStephen Shaw PROPOSAL
Tony V StensethArgentinaXuxue Feng NEGOTIATION
Antonio K MorascaCanadaXuxue Feng PROPOSAL
Jeanfrancois N SaylorsJapanOnyama Limba RENEWAL
Johnson V SergiJapanAsiya Javayant RENEWAL
Rodrigues P BowleyItalyIoni Bowcher NEGOTIATION
Arvin L DilliardItalyAnna Fali UNQUALIFIED
Salvatore R SlusarskiRussiaAsiya Javayant UNQUALIFIED
Nicolas G BowleyBrazilOnyama Limba RENEWAL
Jeanfrancois Y OldroydGermanyAnna Fali RENEWAL
Isabel E AmigonGermanyXuxue Feng NEW
Salvatore O GlickCanadaOnyama Limba NEW
Kaitlin W SlusarskiSpainIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas K RimBrazilIvan Magalhaes RENEWAL
Johnson L KuskoItalyIvan Magalhaes UNQUALIFIED
Julie M DilliardFranceXuxue Feng NEGOTIATION
Salvatore L ButtAustraliaIoni Bowcher UNQUALIFIED
Maria Q DilliardBrazilIvan Magalhaes PROPOSAL
Jefferson V NestleFranceOnyama Limba NEGOTIATION
Juan M WaycottIndiaIvan Magalhaes UNQUALIFIED
Cody G WaycottBrazilStephen Shaw RENEWAL
Clifford U SergiRussiaXuxue Feng RENEWAL
Rodrigues G GillianIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa J SchemmerIndia2024-05-14Dorl, James J Esq PROPOSAL17Anna Fali
1001Silvio A PoquetteIndia2024-05-04Printing Dimensions NEW26Ivan Magalhaes
1002Ricardo C SchemmerSpain2024-05-24King, Christopher A Esq PROPOSAL63Ivan Magalhaes
1003Izzy M OstroskyAustralia2024-05-12King, Christopher A Esq PROPOSAL80Asiya Javayant
1004Rodrigues S MaletJapan2024-05-20Rangoni Of Florence RENEWAL91Xuxue Feng
1005Jefferson S MaletGermany2024-05-08Benton, John B Jr NEGOTIATION49Ivan Magalhaes
1006Francesco T ShinkoCanada2024-05-09Chanay, Jeffrey A Esq NEGOTIATION50Ioni Bowcher
1007Morrow G SaylorsBrazil2024-05-11King, Christopher A Esq UNQUALIFIED65Ioni Bowcher
1008Misaki Z FigeroaAustralia2024-05-17Chemel, James L Cpa NEW13Xuxue Feng
1009Jefferson W MaletArgentina2024-05-10Benton, John B Jr NEGOTIATION20Amy Elsner
1010Salvatore K VenereBrazil2024-04-29Commercial Press NEW23Amy Elsner
1011Greenwood P WaycottUnited Kingdom2024-05-20Chanay, Jeffrey A Esq PROPOSAL43Asiya Javayant
1012Claire Z PoquetteSpain2024-05-03Buckley Miller Wright PROPOSAL47Bernardo Dominic
1013Jennifer C GillianItaly2024-04-29Dorl, James J Esq UNQUALIFIED48Stephen Shaw
1014Darci U SergiSpain2024-05-05Benton, John B Jr UNQUALIFIED59Ivan Magalhaes
1015Mujtaba I SchemmerAustralia2024-05-10Printing Dimensions NEW76Amy Elsner
1016Maria O ShinkoIndia2024-05-18Morlong Associates NEGOTIATION9Amy Elsner
1017Smith G WaycottGermany2024-05-15Morlong Associates QUALIFIED14Asiya Javayant
1018Jeanfrancois E DoeGermany2024-05-21King, Christopher A Esq UNQUALIFIED18Amy Elsner
1019Nicolas U SlusarskiArgentina2024-05-12Rousseaux, Michael Esq UNQUALIFIED42Onyama Limba
1020Salvatore K FigeroaGermany2024-05-01Benton, John B Jr RENEWAL46Amy Elsner
1021Ashley R PoquetteBrazil2024-05-04Buckley Miller Wright UNQUALIFIED69Bernardo Dominic
1022Izzy H PaprockiAustralia2024-05-24King, Christopher A Esq QUALIFIED38Ivan Magalhaes
1023Chavez P ShinkoJapan2024-05-10Feiner Bros RENEWAL28Elwin Sharvill
1024Johnson C KolmetzGermany2024-05-18Dorl, James J Esq UNQUALIFIED95Stephen Shaw
1025Murillo M PaprockiItaly2024-05-03Truhlar And Truhlar Attys NEW46Stephen Shaw
1026Aruna G BowleySpain2024-05-16Chemel, James L Cpa NEW83Ivan Magalhaes
1027Kaitlin J MaletItaly2024-05-01King, Christopher A Esq PROPOSAL45Anna Fali
1028Rodrigues G MaletRussia2024-05-18Truhlar And Truhlar Attys PROPOSAL18Ivan Magalhaes
1029Rodrigues C NickaArgentina2024-05-04Morlong Associates RENEWAL12Stephen Shaw
1030Silvio T SchemmerArgentina2024-04-25Chanay, Jeffrey A Esq PROPOSAL62Xuxue Feng
1031Maria T PerinJapan2024-05-05Feiner Bros RENEWAL35Asiya Javayant
1032Jeanfrancois I VenereUnited Kingdom2024-04-30King, Christopher A Esq PROPOSAL96Onyama Limba
1033Rodrigues G ChuiRussia2024-05-23Chapman, Ross E Esq PROPOSAL39Ivan Magalhaes
1034Morrow Z MarrierFrance2024-05-12Rangoni Of Florence RENEWAL28Elwin Sharvill
1035Clifford I WaycottItaly2024-04-29Printing Dimensions NEGOTIATION31Anna Fali
1036Francesco V CampainArgentina2024-04-30Feiner Bros NEW75Xuxue Feng
1037Greenwood A MaletFrance2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED90Ivan Magalhaes
1038Kadeem M WaycottCanada2024-05-01Rousseaux, Michael Esq NEGOTIATION34Ivan Magalhaes
1039Jefferson K MaletFrance2024-05-24Rangoni Of Florence NEGOTIATION44Amy Elsner
1040Emily A KolmetzIndia2024-05-14Benton, John B Jr RENEWAL24Xuxue Feng
1041Alejandro V RimJapan2024-04-29Truhlar And Truhlar Attys NEGOTIATION99Amy Elsner
1042Ivar L ChuiUnited Kingdom2024-05-09Chanay, Jeffrey A Esq RENEWAL63Anna Fali
1043Jones B SaylorsGermany2024-05-08Chanay, Jeffrey A Esq PROPOSAL67Bernardo Dominic
1044Wickens O PerinSpain2024-05-22King, Christopher A Esq UNQUALIFIED73Bernardo Dominic
1045Smith F FerenczArgentina2024-05-12Rousseaux, Michael Esq NEW19Ioni Bowcher
1046Stacey G KuskoIndia2024-04-26King, Christopher A Esq NEW29Amy Elsner
1047Juan N FollerIndia2024-05-17Rangoni Of Florence UNQUALIFIED84Xuxue Feng
1048David A StensethSpain2024-05-18Chanay, Jeffrey A Esq QUALIFIED70Asiya Javayant
1049Ivar N RimJapan2024-05-08King, Christopher A Esq NEGOTIATION58Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Y BowleyCanadaAnna Fali QUALIFIED
Wickens C KuskoIndiaAnna Fali PROPOSAL
Clifford L MorascaArgentinaIvan Magalhaes QUALIFIED
Morrow O StockhamGermanyXuxue Feng RENEWAL
James Z FerenczIndiaOnyama Limba NEW
Deepesh F KuskoUnited KingdomAsiya Javayant QUALIFIED
Ivar G NickaItalyAnna Fali PROPOSAL
James E VenereGermanyStephen Shaw PROPOSAL
Maria S DilliardIndiaAnna Fali RENEWAL
Leon L GauchoAustraliaStephen Shaw QUALIFIED
Antonio J BowleyRussiaElwin Sharvill QUALIFIED
Faith R GlickAustraliaOnyama Limba NEGOTIATION
Johnson L RoysterJapanIoni Bowcher RENEWAL
Leja S RoysterSpainAnna Fali NEGOTIATION
Francesco D MorascaRussiaAsiya Javayant UNQUALIFIED
Juan Q DoeFranceAsiya Javayant RENEWAL
Greenwood N FerenczUnited KingdomBernardo Dominic RENEWAL
Faith N RutaCanadaIoni Bowcher QUALIFIED
Adams P GillianItalyIvan Magalhaes UNQUALIFIED
Aika X BowleyCanadaOnyama Limba NEGOTIATION
Leon B FigeroaAustraliaAmy Elsner NEGOTIATION
Isabel A TollnerCanadaXuxue Feng QUALIFIED
Misaki M AmigonGermanyIoni Bowcher NEW
Ashley E OstroskyArgentinaIoni Bowcher QUALIFIED
Alejandro H WaycottUnited KingdomOnyama Limba UNQUALIFIED
Claire F NestleRussiaElwin Sharvill RENEWAL
Antonio A SergiFranceBernardo Dominic QUALIFIED
Wickens U GauchoBrazilBernardo Dominic PROPOSAL
Deepesh H FollerGermanyXuxue Feng NEGOTIATION
David U NickaBrazilAsiya Javayant NEGOTIATION
Murillo T KolmetzIndiaXuxue Feng PROPOSAL
Nicolas T TollnerSpainIvan Magalhaes NEGOTIATION
Cody W WaycottAustraliaIoni Bowcher UNQUALIFIED
Stacey V BriddickBrazilIvan Magalhaes NEGOTIATION
Jefferson T GarufiArgentinaOnyama Limba PROPOSAL
Munro O WieserGermanyIvan Magalhaes UNQUALIFIED
Stacey B InouyeItalyElwin Sharvill RENEWAL
Maisha N OldroydUnited KingdomXuxue Feng RENEWAL
Rodrigues B TollnerItalyAmy Elsner QUALIFIED
Alejandro J BowleyItalyIvan Magalhaes QUALIFIED
Mayumi M BologniaCanadaStephen Shaw RENEWAL
Tony N BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Silvio A RutaAustraliaIoni Bowcher NEW
Isabel D MaletFranceAmy Elsner NEGOTIATION
Ivar C SlusarskiItalyAmy Elsner NEW
Mujtaba N OldroydBrazilStephen Shaw NEGOTIATION
Ashley F InouyeCanadaStephen Shaw QUALIFIED
Murillo U MorascaBrazilElwin Sharvill NEW
James X AlbaresArgentinaAmy Elsner NEGOTIATION
Claire N FerenczBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Clifford Q Rulapaugh
Jefferson J Briddick
Smith R Stockham
Mujtaba G Caldarera
Mayumi U Bolognia
Ashley M Garufi
Francesco D Waycott
Clifford X Nicka
Jeanfrancois F Gaucho
Izzy F Flosi
Stacey A Ferencz
Morrow C Stenseth
Murillo J Chui
Jefferson L Shinko
David M Caldarera
Murillo I Morasca
Aditya R Briddick
Faith B Rim
Mujtaba S Doe
Ricardo S Tollner
Adams D Amigon
Darci N Campain
Isabel W Nestle
Johnson D Gaucho
Costa G Venere
David B Poquette
Juan S Tollner
Alejandro J Oldroyd
Silvio H Maclead
Mayumi T Maclead
Chavez D Waycott
Jennifer K Whobrey
Greenwood O Malet
Ashley E Flosi
Antonio M Morasca
Maisha X Gillian
Ashley W Slusarski
Claire Y Malet
Emily C Rulapaugh
Mayumi R Stenseth
Izzy J Caudy
Rodrigues S Whobrey
Maisha C Briddick
Ivar Y Stockham
Chavez G Garufi
Munro W Caudy
Jeanfrancois A Amigon
Jennifer B Ruta
Juan E Bolognia
Julie B Ferencz
IdCountryDate
1000United Kingdom2024-05-10
1001India2024-05-03
1002France2024-05-03
1003Germany2024-05-12
1004France2024-04-30
1005Japan2024-04-30
1006Australia2024-05-09
1007Germany2024-04-26
1008Canada2024-05-07
1009Italy2024-05-09
1010Germany2024-05-13
1011Spain2024-05-05
1012Argentina2024-05-06
1013Canada2024-05-05
1014Australia2024-05-08
1015Germany2024-04-30
1016Brazil2024-05-01
1017Japan2024-05-04
1018Australia2024-05-10
1019Russia2024-05-24
1020Russia2024-05-23
1021Australia2024-05-03
1022Spain2024-05-15
1023Italy2024-05-10
1024India2024-05-04
1025France2024-04-29
1026Japan2024-05-12
1027Canada2024-04-29
1028France2024-05-23
1029Japan2024-05-15
1030Canada2024-05-14
1031India2024-04-29
1032United Kingdom2024-05-01
1033Germany2024-05-08
1034Brazil2024-05-21
1035Germany2024-05-05
1036Japan2024-05-12
1037Canada2024-05-05
1038Australia2024-05-07
1039United Kingdom2024-05-22
1040Australia2024-05-01
1041Japan2024-05-17
1042Brazil2024-05-01
1043Japan2024-05-15
1044Japan2024-05-18
1045Japan2024-05-01
1046Brazil2024-05-09
1047Japan2024-04-30
1048Italy2024-05-11
1049Italy2024-05-04

On-Demand Data

NameIdCountryDate
Stacey T Caldarera1000Canada2024-05-24
James X Maclead1001Germany2024-05-13
Costa M Schemmer1002France2024-05-03
Murillo L Maclead1003Russia2024-05-03
Jeanfrancois J Iturbide1004United Kingdom2024-05-15
David H Venere1005Germany2024-05-17
Leon N Dilliard1006Canada2024-05-15
Misaki Y Whobrey1007France2024-05-12
Aruna H Ferencz1008Brazil2024-05-24
Izzy Q Royster1009Canada2024-05-09
Tony A Albares1010Brazil2024-05-05
Faith G Campain1011France2024-05-13
Isabel W Gillian1012Spain2024-05-05
Cody F Nicka1013Russia2024-05-03
Clifford B Albares1014Canada2024-05-07
Adams K Gaucho1015Australia2024-05-18
Darci Y Rulapaugh1016Russia2024-05-06
Ashley T Doe1017France2024-05-03
Nicolas W Stenseth1018Canada2024-05-07
Cody Y Oldroyd1019Italy2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro T StensethRussiaOnyama Limba NEGOTIATION
Nicolas E SlusarskiItalyAmy Elsner NEGOTIATION
Sinclair W WhobreyAustraliaIoni Bowcher QUALIFIED
Adams C RulapaughCanadaStephen Shaw RENEWAL
Faith B DilliardRussiaOnyama Limba NEGOTIATION
Francesco K RulapaughRussiaAsiya Javayant NEW
Greenwood U NestleAustraliaIvan Magalhaes PROPOSAL
Tony A ShinkoIndiaAnna Fali RENEWAL
Ricardo G GillianFranceIvan Magalhaes QUALIFIED
Aika Q BowleyArgentinaAmy Elsner NEGOTIATION
Wickens L GarufiItalyIoni Bowcher RENEWAL
Salvatore H BologniaCanadaIoni Bowcher QUALIFIED
Jennifer Q OstroskyBrazilBernardo Dominic UNQUALIFIED
Tony T CampainGermanyIoni Bowcher NEW
David V KuskoIndiaOnyama Limba QUALIFIED
Tony A CampainIndiaOnyama Limba RENEWAL
Clifford M DoeAustraliaXuxue Feng QUALIFIED
Johnson G StensethCanadaElwin Sharvill NEGOTIATION
Julie U SchemmerAustraliaIvan Magalhaes NEGOTIATION
Aditya D BologniaGermanyAsiya Javayant QUALIFIED
Ashley L StockhamJapanXuxue Feng PROPOSAL
Silvio R RulapaughSpainAnna Fali QUALIFIED
Ashley O IturbideAustraliaStephen Shaw PROPOSAL
Johnson C GarufiCanadaStephen Shaw RENEWAL
Costa O RutaUnited KingdomStephen Shaw RENEWAL
Morrow D PerinJapanAmy Elsner NEW
Leon D ShinkoBrazilAsiya Javayant NEGOTIATION
Wickens Q WaycottUnited KingdomAmy Elsner UNQUALIFIED
David J KuskoJapanBernardo Dominic RENEWAL
Mujtaba G NickaItalyAmy Elsner NEW
Aditya M RutaRussiaXuxue Feng NEW
Smith N SergiSpainOnyama Limba RENEWAL
Francesco A RoysterItalyIoni Bowcher NEW
Cody T PoquetteJapanIoni Bowcher NEW
Stacey K IturbideRussiaElwin Sharvill NEGOTIATION
Jefferson B SchemmerCanadaXuxue Feng PROPOSAL
Chavez S KuskoSpainElwin Sharvill NEGOTIATION
Leon A SlusarskiArgentinaAsiya Javayant RENEWAL
Rodrigues F RulapaughSpainStephen Shaw QUALIFIED
Octavia C OstroskyRussiaAsiya Javayant QUALIFIED

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