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
Costa J MacleadFranceIvan Magalhaes RENEWAL
Octavia Z FollerRussiaOnyama Limba UNQUALIFIED
Jefferson F CaudyCanadaIvan Magalhaes UNQUALIFIED
Mayumi J MacleadJapanElwin Sharvill NEW
Juan W WieserUnited KingdomAsiya Javayant NEGOTIATION
Maria W KuskoIndiaIvan Magalhaes RENEWAL
James O WhobreyGermanyBernardo Dominic NEGOTIATION
Antonio Z ButtCanadaIvan Magalhaes UNQUALIFIED
Aika W GarufiBrazilOnyama Limba UNQUALIFIED
Jeanfrancois B KolmetzArgentinaStephen Shaw PROPOSAL
Adams S MaletUnited KingdomIoni Bowcher QUALIFIED
Ivar T CampainJapanAsiya Javayant RENEWAL
Jeanfrancois O StensethSpainOnyama Limba NEGOTIATION
Kadeem K IturbideGermanyAmy Elsner PROPOSAL
Adams Q RutaFranceAsiya Javayant UNQUALIFIED
Smith Z BologniaJapanIoni Bowcher UNQUALIFIED
Misaki D MaletBrazilElwin Sharvill QUALIFIED
Kaitlin Z FollerSpainAnna Fali UNQUALIFIED
Jeanfrancois L ChuiArgentinaElwin Sharvill RENEWAL
Smith T ButtRussiaOnyama Limba RENEWAL
Clifford W FerenczSpainElwin Sharvill RENEWAL
Jeanfrancois Y BologniaRussiaBernardo Dominic QUALIFIED
Maisha S TollnerAustraliaAsiya Javayant NEW
Antonio Y CampainSpainBernardo Dominic NEW
Julie L VocelkaAustraliaIoni Bowcher RENEWAL
Alejandro I RutaRussiaIoni Bowcher UNQUALIFIED
Sinclair K GillianAustraliaElwin Sharvill NEGOTIATION
Cody H VocelkaSpainAsiya Javayant RENEWAL
Francesco L KolmetzArgentinaIvan Magalhaes RENEWAL
Faith X NestleFranceOnyama Limba UNQUALIFIED
Darci S GarufiItalyElwin Sharvill NEGOTIATION
Maisha O BriddickArgentinaBernardo Dominic UNQUALIFIED
Izzy K FlosiItalyAnna Fali QUALIFIED
Isabel L VenereRussiaBernardo Dominic NEW
Jeanfrancois K StockhamGermanyBernardo Dominic NEGOTIATION
David Y KolmetzJapanAmy Elsner NEW
Stacey X CaldareraFranceOnyama Limba NEW
Costa H SlusarskiRussiaStephen Shaw QUALIFIED
Faith J ButtFranceXuxue Feng UNQUALIFIED
Claire G FigeroaArgentinaAnna Fali NEW
Julie E KolmetzIndiaIvan Magalhaes NEGOTIATION
Mayumi R FollerArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois X RoysterAustraliaAmy Elsner RENEWAL
Ashley B PoquetteCanadaAmy Elsner NEGOTIATION
Ashley H BriddickGermanyXuxue Feng QUALIFIED
Aika B DarakjyIndiaIvan Magalhaes UNQUALIFIED
Salvatore O AlbaresItalyElwin Sharvill NEW
Mujtaba G SaylorsCanadaBernardo Dominic UNQUALIFIED
Alejandro P AlbaresItalyIvan Magalhaes RENEWAL
Julie X GarufiFranceAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony A FigeroaArgentinaIvan Magalhaes RENEWAL
Alejandro K FlosiIndiaStephen Shaw RENEWAL
Isabel F FollerFranceIoni Bowcher RENEWAL
Rodrigues X GlickFranceAsiya Javayant RENEWAL
Misaki L KolmetzAustraliaBernardo Dominic QUALIFIED
Morrow D DoeFranceAmy Elsner UNQUALIFIED
Darci X ButtRussiaAmy Elsner QUALIFIED
Smith R SlusarskiAustraliaIoni Bowcher PROPOSAL
Johnson X FollerCanadaBernardo Dominic QUALIFIED
Ivar S NestleItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily W MarrierFrance2024-06-08King, Christopher A Esq UNQUALIFIED97Stephen Shaw
1001Darci J PerinAustralia2024-06-16Printing Dimensions RENEWAL88Bernardo Dominic
1002Isabel O PoquetteFrance2024-06-11Rangoni Of Florence PROPOSAL25Ivan Magalhaes
1003Chavez W WhobreyGermany2024-06-08Morlong Associates RENEWAL20Onyama Limba
1004Aika M RulapaughArgentina2024-06-13Buckley Miller Wright RENEWAL87Ivan Magalhaes
1005Juan B AmigonRussia2024-06-15Morlong Associates PROPOSAL23Bernardo Dominic
1006Kaitlin L WhobreyArgentina2024-05-28Chemel, James L Cpa QUALIFIED29Ivan Magalhaes
1007Emily U PoquetteCanada2024-05-27Dorl, James J Esq UNQUALIFIED93Asiya Javayant
1008Deepesh S ButtUnited Kingdom2024-06-11Morlong Associates UNQUALIFIED0Bernardo Dominic
1009Julie T InouyeSpain2024-06-23Truhlar And Truhlar Attys PROPOSAL57Xuxue Feng
1010Deepesh O SchemmerIndia2024-06-02Rangoni Of Florence RENEWAL26Bernardo Dominic
1011Costa E GarufiFrance2024-05-28Chapman, Ross E Esq RENEWAL9Amy Elsner
1012Maria P DilliardIndia2024-05-31Feiner Bros UNQUALIFIED81Bernardo Dominic
1013Smith V GauchoGermany2024-05-31Feltz Printing Service NEW21Bernardo Dominic
1014Alejandro P VenereItaly2024-06-15King, Christopher A Esq RENEWAL94Ioni Bowcher
1015Clifford P DarakjyAustralia2024-06-19Feltz Printing Service PROPOSAL63Stephen Shaw
1016Isabel C GarufiJapan2024-06-04Printing Dimensions UNQUALIFIED30Ivan Magalhaes
1017Chavez N KuskoIndia2024-06-10Rangoni Of Florence RENEWAL4Onyama Limba
1018Julie Z ChuiJapan2024-06-04Benton, John B Jr UNQUALIFIED43Ioni Bowcher
1019Antonio W PoquetteUnited Kingdom2024-06-01Rousseaux, Michael Esq NEGOTIATION43Amy Elsner
1020Antonio W RutaRussia2024-05-30Dorl, James J Esq QUALIFIED0Elwin Sharvill
1021Emily T ChuiCanada2024-06-02King, Christopher A Esq QUALIFIED20Asiya Javayant
1022Chavez B GarufiBrazil2024-06-02Feltz Printing Service NEGOTIATION56Ioni Bowcher
1023Leja I OldroydRussia2024-06-06King, Christopher A Esq QUALIFIED83Anna Fali
1024Isabel E WhobreyBrazil2024-05-31Truhlar And Truhlar Attys UNQUALIFIED41Ivan Magalhaes
1025Arvin G GillianJapan2024-06-05Truhlar And Truhlar Attys RENEWAL13Amy Elsner
1026Alejandro S BowleyArgentina2024-05-28Benton, John B Jr UNQUALIFIED83Ioni Bowcher
1027Kaitlin O CaudyCanada2024-06-12King, Christopher A Esq NEW11Ioni Bowcher
1028Stacey K CampainIndia2024-06-12Buckley Miller Wright QUALIFIED36Bernardo Dominic
1029Maisha S DoeUnited Kingdom2024-05-29Benton, John B Jr RENEWAL68Xuxue Feng
1030Nicolas S CaldareraArgentina2024-06-08Dorl, James J Esq UNQUALIFIED41Asiya Javayant
1031Clifford L RulapaughIndia2024-06-20Buckley Miller Wright RENEWAL90Anna Fali
1032Ivar A GillianBrazil2024-06-13Rangoni Of Florence PROPOSAL41Ivan Magalhaes
1033Darci Z MarrierUnited Kingdom2024-06-20Morlong Associates RENEWAL90Xuxue Feng
1034Antonio R IturbideArgentina2024-05-30Feltz Printing Service PROPOSAL43Ioni Bowcher
1035Izzy Z AmigonArgentina2024-06-09Rousseaux, Michael Esq RENEWAL93Stephen Shaw
1036Ivar Y VocelkaIndia2024-06-24Chapman, Ross E Esq RENEWAL7Elwin Sharvill
1037Leja N IturbideGermany2024-06-10Truhlar And Truhlar Attys QUALIFIED90Ivan Magalhaes
1038Wickens J CampainJapan2024-06-11Feiner Bros NEGOTIATION52Ioni Bowcher
1039Misaki F GarufiAustralia2024-06-06Chanay, Jeffrey A Esq RENEWAL73Anna Fali
1040Salvatore Y OstroskyFrance2024-06-23Commercial Press UNQUALIFIED4Stephen Shaw
1041Stacey D FollerArgentina2024-06-10Chapman, Ross E Esq NEGOTIATION21Xuxue Feng
1042Munro N GarufiGermany2024-05-27Buckley Miller Wright QUALIFIED90Ioni Bowcher
1043Juan I GlickJapan2024-06-11Feiner Bros NEGOTIATION69Elwin Sharvill
1044Izzy L GillianAustralia2024-06-06Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1045Adams Z KuskoGermany2024-05-28Benton, John B Jr RENEWAL54Xuxue Feng
1046Antonio R MaletItaly2024-06-18Dorl, James J Esq NEW80Stephen Shaw
1047Mayumi S GauchoItaly2024-05-26Buckley Miller Wright PROPOSAL20Anna Fali
1048Wickens E RulapaughFrance2024-06-09Feiner Bros NEW35Ioni Bowcher
1049Stacey E FigeroaRussia2024-06-15Truhlar And Truhlar Attys PROPOSAL20Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro V PerinArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois B DarakjyItalyAnna Fali NEW
Alejandro K RulapaughRussiaAsiya Javayant PROPOSAL
Jennifer O KolmetzSpainAnna Fali NEW
Faith M PaprockiCanadaIvan Magalhaes RENEWAL
Aika F IturbideRussiaIoni Bowcher QUALIFIED
Maisha R RutaJapanStephen Shaw QUALIFIED
Jefferson C GillianFranceXuxue Feng QUALIFIED
Rodrigues R VenereFranceIoni Bowcher QUALIFIED
Johnson E VenereBrazilAmy Elsner QUALIFIED
Costa B TollnerCanadaAnna Fali UNQUALIFIED
Mujtaba X StockhamGermanyIoni Bowcher NEW
Izzy C KuskoFranceElwin Sharvill QUALIFIED
Rodrigues H SergiItalyOnyama Limba NEGOTIATION
Jeanfrancois S NestleItalyIvan Magalhaes NEW
Mujtaba Z CaudyItalyAmy Elsner NEW
Maisha R RutaGermanyAmy Elsner PROPOSAL
Ivar Q CaudyIndiaAsiya Javayant UNQUALIFIED
Mayumi F TollnerJapanStephen Shaw PROPOSAL
Julie E RoysterGermanyIvan Magalhaes UNQUALIFIED
Maisha B MacleadJapanXuxue Feng QUALIFIED
Kadeem F CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Leon R StockhamAustraliaElwin Sharvill UNQUALIFIED
Emily Y TollnerUnited KingdomAmy Elsner RENEWAL
Jennifer H PaprockiItalyIoni Bowcher UNQUALIFIED
Leon F WaycottGermanyAsiya Javayant NEW
Ivar N DoeBrazilOnyama Limba NEGOTIATION
Morrow K NickaArgentinaOnyama Limba QUALIFIED
Clifford H BowleyRussiaAnna Fali RENEWAL
Leon F ShinkoAustraliaIvan Magalhaes RENEWAL
Jefferson R SchemmerSpainAmy Elsner QUALIFIED
Alejandro A FerenczGermanyAnna Fali PROPOSAL
Faith Y DarakjyBrazilAsiya Javayant PROPOSAL
Clifford M RoysterFranceBernardo Dominic PROPOSAL
Antonio T CampainIndiaBernardo Dominic NEGOTIATION
Izzy K CaudyGermanyStephen Shaw NEW
Salvatore B BriddickAustraliaXuxue Feng NEGOTIATION
Clifford Z BriddickSpainOnyama Limba UNQUALIFIED
Mayumi B BriddickCanadaAnna Fali UNQUALIFIED
Alejandro E PoquetteIndiaAmy Elsner UNQUALIFIED
Silvio W SlusarskiJapanAmy Elsner RENEWAL
Mayumi Y InouyeFranceIvan Magalhaes NEW
Faith E BowleyRussiaAnna Fali PROPOSAL
Kaitlin A BologniaFranceIvan Magalhaes RENEWAL
Izzy X GauchoSpainBernardo Dominic RENEWAL
Claire H AlbaresFranceAnna Fali NEGOTIATION
Ricardo S RoysterSpainIvan Magalhaes NEGOTIATION
Faith C RimArgentinaElwin Sharvill RENEWAL
Izzy U ShinkoArgentinaOnyama Limba QUALIFIED
Izzy K RulapaughRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Ivar V Schemmer
Tony G Malet
Costa B Doe
Stacey W Rim
Maria F Perin
Jennifer B Flosi
Mayumi S Morasca
David W Ostrosky
Rodrigues C Doe
Murillo R Kusko
Ashley J Kusko
Leja T Doe
Morrow A Briddick
Jefferson X Schemmer
Francesco Z Waycott
Jones B Ostrosky
Antonio A Kolmetz
Jennifer C Darakjy
Stacey J Inouye
Misaki Z Royster
Morrow D Campain
Rodrigues J Stockham
Cody W Wieser
Mujtaba N Whobrey
Munro U Caudy
Jefferson X Schemmer
Leon G Ostrosky
Clifford L Stenseth
Alejandro F Sergi
Aruna W Albares
Francesco C Malet
Rodrigues Y Sergi
Leja O Caudy
Octavia U Perin
Maria J Wieser
Greenwood I Rulapaugh
Jefferson A Poquette
Julie N Stenseth
Aditya K Kusko
Sinclair P Caldarera
Octavia M Chui
Jeanfrancois F Albares
Smith C Nestle
Cody Y Malet
Greenwood Z Doe
Claire Y Royster
David G Glick
Smith T Stockham
Tony W Malet
Ivar S Saylors
IdCountryDate
1000Argentina2024-06-17
1001Russia2024-06-20
1002Italy2024-05-30
1003Australia2024-06-01
1004Brazil2024-06-04
1005Italy2024-06-02
1006France2024-06-10
1007Brazil2024-05-31
1008Canada2024-05-30
1009Italy2024-05-31
1010Russia2024-06-12
1011Germany2024-05-28
1012Japan2024-05-31
1013India2024-06-19
1014Italy2024-05-28
1015India2024-06-06
1016Brazil2024-06-15
1017Argentina2024-06-04
1018Canada2024-06-02
1019United Kingdom2024-06-03
1020Spain2024-05-29
1021Japan2024-06-14
1022India2024-05-26
1023Argentina2024-06-02
1024Spain2024-06-16
1025Argentina2024-05-26
1026Italy2024-05-29
1027Russia2024-06-10
1028Japan2024-06-19
1029Italy2024-05-26
1030Spain2024-06-05
1031Spain2024-06-08
1032Russia2024-05-30
1033Italy2024-06-01
1034Canada2024-06-13
1035Australia2024-06-17
1036Brazil2024-06-15
1037Canada2024-06-10
1038Canada2024-06-04
1039France2024-06-21
1040Canada2024-06-02
1041India2024-05-29
1042Brazil2024-06-18
1043Brazil2024-06-13
1044France2024-05-29
1045India2024-06-22
1046Russia2024-06-24
1047France2024-06-06
1048France2024-05-30
1049Australia2024-05-26

On-Demand Data

NameIdCountryDate
Adams O Waycott1000Brazil2024-06-19
Morrow Y Ferencz1001Brazil2024-06-04
Antonio C Chui1002France2024-06-21
Murillo K Stenseth1003Argentina2024-06-04
Octavia E Nicka1004Spain2024-05-26
Jefferson A Morasca1005Australia2024-05-30
Emily U Maclead1006Russia2024-05-28
Aruna Y Maclead1007India2024-06-01
Deepesh G Inouye1008France2024-06-24
Kaitlin Z Bowley1009Germany2024-06-17
Julie M Foller1010Spain2024-06-24
Costa Q Amigon1011Brazil2024-06-01
Izzy U Stenseth1012France2024-06-20
Mayumi X Venere1013Italy2024-06-23
Alejandro L Nestle1014United Kingdom2024-06-06
Antonio S Saylors1015India2024-06-21
Johnson P Rulapaugh1016Russia2024-05-27
Costa G Bowley1017France2024-06-03
Emily X Bowley1018France2024-06-16
Jefferson P Figeroa1019France2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh C FerenczFranceAsiya Javayant NEGOTIATION
Alejandro Z NestleJapanOnyama Limba QUALIFIED
Costa E MaletAustraliaAsiya Javayant QUALIFIED
Aruna H ShinkoCanadaAnna Fali NEGOTIATION
Ricardo O NestleItalyAsiya Javayant NEW
Aditya F RimIndiaAsiya Javayant UNQUALIFIED
Julie M GillianCanadaElwin Sharvill NEW
Leja A BowleyJapanIoni Bowcher UNQUALIFIED
Ricardo A BologniaIndiaIoni Bowcher UNQUALIFIED
Faith C BologniaJapanXuxue Feng NEGOTIATION
Salvatore Z NestleItalyElwin Sharvill NEGOTIATION
Faith J InouyeIndiaAsiya Javayant RENEWAL
Jeanfrancois S CampainJapanAmy Elsner PROPOSAL
Adams F PoquetteBrazilXuxue Feng RENEWAL
Deepesh G PoquetteIndiaAmy Elsner RENEWAL
Munro D ButtIndiaIoni Bowcher UNQUALIFIED
Misaki J OstroskyUnited KingdomBernardo Dominic QUALIFIED
Jefferson J IturbideRussiaAsiya Javayant NEW
Isabel D RoysterItalyAmy Elsner PROPOSAL
Adams I SaylorsGermanyBernardo Dominic QUALIFIED
Silvio F WhobreyRussiaOnyama Limba QUALIFIED
Ashley Z WhobreyAustraliaIoni Bowcher RENEWAL
Ashley N OldroydRussiaElwin Sharvill NEW
Leja X AmigonIndiaIoni Bowcher NEGOTIATION
Alejandro U RulapaughIndiaAsiya Javayant NEGOTIATION
Nicolas J MacleadIndiaAmy Elsner QUALIFIED
Rodrigues J IturbideBrazilOnyama Limba NEGOTIATION
Jennifer C FlosiJapanStephen Shaw RENEWAL
Maria U ChuiAustraliaIoni Bowcher RENEWAL
Aika I MaletJapanIvan Magalhaes NEGOTIATION
Jones A RoysterIndiaIoni Bowcher RENEWAL
Claire B PerinRussiaAsiya Javayant UNQUALIFIED
Wickens Z RoysterUnited KingdomXuxue Feng QUALIFIED
Costa M SaylorsFranceBernardo Dominic PROPOSAL
Leon L WieserIndiaIoni Bowcher QUALIFIED
Deepesh B MaletFranceAmy Elsner NEGOTIATION
Mayumi O CaudyFranceAsiya Javayant NEW
Silvio P PaprockiFranceAmy Elsner NEGOTIATION
Stacey T RutaCanadaElwin Sharvill RENEWAL
Leja O FerenczJapanStephen Shaw 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>