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
Morrow O OldroydItalyIoni Bowcher QUALIFIED
Mayumi V ChuiArgentinaOnyama Limba NEW
Antonio S IturbideJapanOnyama Limba RENEWAL
Aruna Z SlusarskiCanadaOnyama Limba NEW
Francesco B BriddickAustraliaAsiya Javayant NEW
Jefferson F WhobreyAustraliaXuxue Feng UNQUALIFIED
Wickens C KolmetzRussiaBernardo Dominic UNQUALIFIED
Julie H FollerItalyIvan Magalhaes RENEWAL
Wickens L ShinkoFranceXuxue Feng NEGOTIATION
Ivar U PerinSpainElwin Sharvill UNQUALIFIED
Maria S CaldareraAustraliaBernardo Dominic NEGOTIATION
Leon N MaletItalyXuxue Feng PROPOSAL
Isabel P MacleadFranceStephen Shaw PROPOSAL
Emily F ButtIndiaAnna Fali PROPOSAL
Smith M FerenczArgentinaElwin Sharvill UNQUALIFIED
Isabel E IturbideRussiaIoni Bowcher QUALIFIED
Wickens Q DilliardBrazilOnyama Limba NEGOTIATION
Adams E NestleGermanyAsiya Javayant UNQUALIFIED
Kadeem Y CaudyCanadaOnyama Limba NEW
Octavia E OstroskyRussiaAnna Fali NEW
Silvio G KolmetzIndiaAsiya Javayant NEGOTIATION
Salvatore P DoeGermanyIoni Bowcher RENEWAL
Maria J CaldareraGermanyAmy Elsner NEGOTIATION
Maisha D RoysterSpainElwin Sharvill QUALIFIED
Alejandro H FlosiItalyXuxue Feng UNQUALIFIED
Aruna L CaldareraBrazilStephen Shaw NEGOTIATION
Sinclair I AmigonJapanXuxue Feng NEGOTIATION
Leon X ButtRussiaElwin Sharvill NEW
Julie J FigeroaIndiaIvan Magalhaes NEGOTIATION
David C SaylorsGermanyIvan Magalhaes NEGOTIATION
Smith Y TollnerJapanIvan Magalhaes NEW
Nicolas B BriddickRussiaXuxue Feng PROPOSAL
Murillo U FigeroaIndiaElwin Sharvill PROPOSAL
Kadeem H SchemmerGermanyIoni Bowcher UNQUALIFIED
Leon H DilliardFranceIvan Magalhaes NEW
Ashley V InouyeRussiaXuxue Feng RENEWAL
Wickens L IturbideBrazilAmy Elsner QUALIFIED
Deepesh N CaldareraSpainAmy Elsner QUALIFIED
Ivar Z CaldareraItalyAsiya Javayant RENEWAL
Faith L CaudySpainBernardo Dominic PROPOSAL
Cody Q PaprockiGermanyXuxue Feng PROPOSAL
Wickens C RimBrazilElwin Sharvill UNQUALIFIED
Aika T ShinkoRussiaXuxue Feng PROPOSAL
Smith O BowleyGermanyStephen Shaw NEGOTIATION
Juan T CaudySpainBernardo Dominic QUALIFIED
Jefferson I SergiAustraliaAsiya Javayant NEGOTIATION
Deepesh E StockhamRussiaIoni Bowcher UNQUALIFIED
Salvatore H MaletItalyBernardo Dominic NEGOTIATION
Sinclair K SchemmerAustraliaAsiya Javayant PROPOSAL
Aruna Z BologniaAustraliaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Antonio S VocelkaItalyOnyama Limba UNQUALIFIED
Faith L GlickCanadaAmy Elsner QUALIFIED
Tony X KuskoFranceXuxue Feng NEGOTIATION
Ashley C OldroydUnited KingdomAnna Fali NEGOTIATION
Darci N SlusarskiGermanyOnyama Limba PROPOSAL
Rodrigues D BriddickJapanXuxue Feng QUALIFIED
Clifford U RimArgentinaXuxue Feng PROPOSAL
Greenwood Q MarrierGermanyAnna Fali RENEWAL
Jeanfrancois A FerenczRussiaBernardo Dominic NEGOTIATION
Jefferson Q SlusarskiFranceOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo Z SaylorsAustralia2024-06-12Chanay, Jeffrey A Esq NEW23Amy Elsner
1001Greenwood M DarakjySpain2024-06-04King, Christopher A Esq RENEWAL17Stephen Shaw
1002Greenwood M WaycottBrazil2024-06-08Benton, John B Jr PROPOSAL99Anna Fali
1003Emily D BologniaAustralia2024-05-27Chapman, Ross E Esq PROPOSAL43Ioni Bowcher
1004Mujtaba W GillianRussia2024-06-11Chapman, Ross E Esq NEW6Amy Elsner
1005Costa N SergiCanada2024-05-17Printing Dimensions QUALIFIED90Bernardo Dominic
1006Arvin V NestleBrazil2024-05-25Chemel, James L Cpa NEGOTIATION19Stephen Shaw
1007Kaitlin E DilliardFrance2024-06-03Truhlar And Truhlar Attys NEW0Xuxue Feng
1008Tony F StockhamGermany2024-05-28Benton, John B Jr RENEWAL10Asiya Javayant
1009Julie F MaletFrance2024-05-26Printing Dimensions PROPOSAL75Onyama Limba
1010Izzy U StockhamCanada2024-06-01Benton, John B Jr NEGOTIATION85Anna Fali
1011Izzy D BriddickCanada2024-05-21Chanay, Jeffrey A Esq NEGOTIATION83Ivan Magalhaes
1012Chavez U VocelkaJapan2024-05-27Chemel, James L Cpa QUALIFIED37Anna Fali
1013Faith T NestleItaly2024-06-11Rangoni Of Florence NEGOTIATION58Bernardo Dominic
1014Francesco G SlusarskiBrazil2024-05-30Chemel, James L Cpa NEW91Stephen Shaw
1015Emily C NickaArgentina2024-06-05Buckley Miller Wright QUALIFIED2Onyama Limba
1016Aditya I FollerFrance2024-05-27Dorl, James J Esq NEGOTIATION68Ioni Bowcher
1017Julie V ButtArgentina2024-06-10Printing Dimensions PROPOSAL96Ivan Magalhaes
1018Alejandro C SaylorsAustralia2024-05-30King, Christopher A Esq NEW56Ioni Bowcher
1019Silvio K PaprockiFrance2024-05-25Rousseaux, Michael Esq NEGOTIATION61Stephen Shaw
1020Salvatore X SaylorsGermany2024-05-24Rangoni Of Florence NEW48Ioni Bowcher
1021Maria N CaudySpain2024-05-18Rousseaux, Michael Esq NEGOTIATION15Amy Elsner
1022Ricardo W DilliardJapan2024-06-07Morlong Associates QUALIFIED25Bernardo Dominic
1023Adams I FerenczAustralia2024-06-13Printing Dimensions QUALIFIED67Ioni Bowcher
1024Maisha R RulapaughJapan2024-05-15Feiner Bros NEW70Stephen Shaw
1025Smith I ButtJapan2024-05-19Buckley Miller Wright QUALIFIED85Elwin Sharvill
1026Jefferson Y GlickItaly2024-06-06Dorl, James J Esq PROPOSAL11Bernardo Dominic
1027Kadeem H VenereCanada2024-05-16Feiner Bros QUALIFIED28Bernardo Dominic
1028Faith D OstroskySpain2024-05-17Commercial Press NEGOTIATION84Asiya Javayant
1029Mayumi H TollnerBrazil2024-05-27Printing Dimensions NEW54Elwin Sharvill
1030Smith T GarufiArgentina2024-06-02Buckley Miller Wright RENEWAL8Bernardo Dominic
1031Julie X WieserAustralia2024-06-09Rousseaux, Michael Esq NEW29Asiya Javayant
1032Munro T OstroskyJapan2024-06-03Rousseaux, Michael Esq PROPOSAL71Elwin Sharvill
1033David V AmigonUnited Kingdom2024-06-06Benton, John B Jr PROPOSAL38Bernardo Dominic
1034Tony D InouyeRussia2024-06-02Rangoni Of Florence QUALIFIED95Elwin Sharvill
1035Kadeem U OstroskyItaly2024-05-20Printing Dimensions PROPOSAL80Ivan Magalhaes
1036Ashley P WhobreyJapan2024-05-22Chanay, Jeffrey A Esq PROPOSAL91Xuxue Feng
1037Kaitlin M SlusarskiRussia2024-06-08King, Christopher A Esq RENEWAL46Ivan Magalhaes
1038Izzy N SlusarskiSpain2024-05-16Dorl, James J Esq NEW24Xuxue Feng
1039Maisha E BologniaFrance2024-05-18Chemel, James L Cpa UNQUALIFIED71Ivan Magalhaes
1040Jeanfrancois U AmigonSpain2024-05-23Feltz Printing Service QUALIFIED99Ioni Bowcher
1041Chavez Q GillianBrazil2024-05-16Chemel, James L Cpa NEGOTIATION83Anna Fali
1042Munro W WaycottIndia2024-06-10Feltz Printing Service RENEWAL91Ioni Bowcher
1043James Q InouyeBrazil2024-06-03Buckley Miller Wright RENEWAL27Xuxue Feng
1044Ivar Y OldroydBrazil2024-06-07Printing Dimensions UNQUALIFIED0Stephen Shaw
1045Leja O MorascaBrazil2024-06-04Feltz Printing Service NEW89Onyama Limba
1046Deepesh G CaldareraFrance2024-06-06Feiner Bros RENEWAL72Xuxue Feng
1047Tony U CaudyItaly2024-05-24Chanay, Jeffrey A Esq PROPOSAL43Ioni Bowcher
1048Sinclair R RimBrazil2024-05-26Printing Dimensions QUALIFIED9Onyama Limba
1049Aika B BriddickArgentina2024-06-13Morlong Associates RENEWAL7Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jennifer C IturbideFranceIvan Magalhaes PROPOSAL
Izzy Z FollerAustraliaBernardo Dominic QUALIFIED
Darci K PaprockiAustraliaIvan Magalhaes RENEWAL
Darci X DoeCanadaAsiya Javayant PROPOSAL
Claire Y RutaBrazilBernardo Dominic RENEWAL
Johnson J OstroskyCanadaIvan Magalhaes NEW
Nicolas E CaudyItalyIoni Bowcher QUALIFIED
Isabel S BologniaIndiaAsiya Javayant PROPOSAL
Morrow L BologniaIndiaBernardo Dominic RENEWAL
Nicolas O AmigonIndiaAnna Fali NEW
Munro T NickaFranceIoni Bowcher RENEWAL
James T GarufiRussiaBernardo Dominic NEGOTIATION
Ricardo Y RoysterCanadaIoni Bowcher UNQUALIFIED
Salvatore I RulapaughSpainBernardo Dominic NEGOTIATION
Johnson F InouyeGermanyIvan Magalhaes UNQUALIFIED
Greenwood G AlbaresUnited KingdomAnna Fali UNQUALIFIED
Alejandro P MacleadBrazilBernardo Dominic NEW
Cody Y WieserJapanAsiya Javayant NEGOTIATION
Salvatore M ChuiRussiaXuxue Feng RENEWAL
Kaitlin D StockhamSpainElwin Sharvill QUALIFIED
Clifford F TollnerJapanStephen Shaw PROPOSAL
Salvatore T RulapaughItalyXuxue Feng PROPOSAL
Aditya D GarufiIndiaAnna Fali RENEWAL
Ivar T OstroskyJapanOnyama Limba PROPOSAL
Antonio Y MarrierGermanyStephen Shaw PROPOSAL
Silvio F SaylorsArgentinaOnyama Limba UNQUALIFIED
Greenwood Z FigeroaBrazilIvan Magalhaes UNQUALIFIED
Arvin E AlbaresSpainElwin Sharvill NEGOTIATION
David M InouyeItalyAnna Fali UNQUALIFIED
Adams V RulapaughItalyAnna Fali QUALIFIED
Aruna K SergiFranceAsiya Javayant UNQUALIFIED
Mujtaba G RulapaughArgentinaXuxue Feng PROPOSAL
Clifford O TollnerBrazilIoni Bowcher NEGOTIATION
Salvatore X MaletItalyAsiya Javayant QUALIFIED
Clifford D PoquetteBrazilAsiya Javayant NEGOTIATION
Munro O MaletBrazilAnna Fali QUALIFIED
Jones Z CaudyGermanyElwin Sharvill PROPOSAL
Johnson K ChuiFranceBernardo Dominic NEGOTIATION
Greenwood X NickaRussiaAsiya Javayant RENEWAL
Smith G RulapaughItalyBernardo Dominic QUALIFIED
Ricardo B SlusarskiRussiaAsiya Javayant PROPOSAL
Misaki F WieserAustraliaAmy Elsner PROPOSAL
Johnson I DilliardIndiaOnyama Limba NEGOTIATION
Maisha F AmigonItalyXuxue Feng RENEWAL
Greenwood B OstroskyArgentinaAmy Elsner RENEWAL
Chavez J NestleItalyElwin Sharvill RENEWAL
Alejandro C ShinkoBrazilStephen Shaw QUALIFIED
Juan T MaletArgentinaIvan Magalhaes QUALIFIED
Julie L DilliardFranceOnyama Limba PROPOSAL
Salvatore G SlusarskiArgentinaAsiya Javayant QUALIFIED
Frozen Columns
Name
Munro X Vocelka
Sinclair T Gillian
Aruna G Ruta
Emily V Nestle
Clifford L Inouye
Greenwood C Venere
Leon M Vocelka
David F Butt
Maisha H Nestle
Costa D Albares
Julie H Garufi
Juan U Rulapaugh
Deepesh P Morasca
Misaki P Dilliard
Darci D Whobrey
Leon T Sergi
Sinclair C Tollner
Jones S Rulapaugh
Darci X Perin
Silvio K Caudy
Ashley B Poquette
Leon I Wieser
Jones J Glick
Arvin Z Chui
Cody P Waycott
Antonio X Ostrosky
Jeanfrancois A Stenseth
Cody J Caldarera
Munro U Bolognia
Alejandro B Nicka
Nicolas Z Amigon
Clifford O Chui
Francesco U Oldroyd
Stacey Q Albares
Emily F Albares
Stacey E Slusarski
Leon U Royster
Cody J Bolognia
Octavia K Butt
Murillo X Kusko
Aditya K Dilliard
Mayumi I Venere
Ivar E Tollner
Mayumi P Caldarera
Chavez B Nicka
Kadeem D Albares
Kaitlin O Sergi
Costa W Paprocki
Misaki Y Inouye
Clifford W Doe
IdCountryDate
1000Argentina2024-05-21
1001Brazil2024-06-05
1002Brazil2024-05-17
1003Australia2024-05-27
1004France2024-05-20
1005Australia2024-05-25
1006France2024-05-24
1007Canada2024-05-30
1008Spain2024-05-31
1009Canada2024-05-19
1010India2024-06-11
1011Argentina2024-05-30
1012Italy2024-05-31
1013Spain2024-05-23
1014France2024-05-16
1015Canada2024-05-21
1016Italy2024-05-15
1017Australia2024-05-25
1018Japan2024-06-10
1019Brazil2024-06-04
1020Russia2024-06-07
1021Canada2024-05-23
1022Spain2024-05-28
1023France2024-05-21
1024Italy2024-05-31
1025India2024-05-29
1026Argentina2024-05-15
1027France2024-06-12
1028Italy2024-05-19
1029United Kingdom2024-05-16
1030Australia2024-06-12
1031Australia2024-06-02
1032India2024-06-05
1033Italy2024-06-11
1034Japan2024-05-17
1035Russia2024-05-22
1036India2024-05-27
1037Germany2024-05-25
1038United Kingdom2024-06-01
1039India2024-05-31
1040Canada2024-06-06
1041Canada2024-05-23
1042France2024-05-29
1043Argentina2024-05-27
1044Australia2024-05-23
1045Japan2024-06-10
1046Canada2024-05-25
1047India2024-06-11
1048Italy2024-05-26
1049Brazil2024-05-21

On-Demand Data

NameIdCountryDate
Rodrigues N Ruta1000Canada2024-05-17
Salvatore S Albares1001United Kingdom2024-05-23
Mujtaba G Rulapaugh1002Japan2024-05-18
Smith X Foller1003Argentina2024-05-17
Murillo P Rim1004United Kingdom2024-05-30
Rodrigues K Perin1005Italy2024-06-13
Stacey P Albares1006Japan2024-05-17
Munro T Perin1007Argentina2024-06-11
Ricardo P Rim1008France2024-06-04
Sinclair C Waycott1009France2024-06-06
Ashley R Venere1010United Kingdom2024-05-22
Francesco V Doe1011Australia2024-06-13
Smith Y Ruta1012India2024-06-12
Wickens U Malet1013Russia2024-05-30
Aruna H Garufi1014United Kingdom2024-05-25
Ricardo T Malet1015France2024-06-02
Misaki Z Stenseth1016Russia2024-06-10
Nicolas D Caldarera1017Argentina2024-05-29
Cody T Marrier1018Italy2024-06-13
Maisha H Ferencz1019Italy2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow K OstroskyFranceXuxue Feng NEGOTIATION
Costa S BriddickJapanBernardo Dominic NEGOTIATION
Maria V OstroskyRussiaAsiya Javayant NEW
Smith D CaudyJapanAnna Fali NEGOTIATION
Octavia I NickaItalyXuxue Feng NEGOTIATION
Nicolas A GarufiUnited KingdomAmy Elsner UNQUALIFIED
Chavez K AlbaresJapanXuxue Feng UNQUALIFIED
David F ButtAustraliaAsiya Javayant NEGOTIATION
Claire R ChuiRussiaIvan Magalhaes PROPOSAL
Chavez Y AlbaresFranceXuxue Feng NEW
Nicolas L StockhamIndiaIvan Magalhaes RENEWAL
Leja A WhobreyCanadaBernardo Dominic PROPOSAL
Cody I CaudyAustraliaStephen Shaw QUALIFIED
Silvio X PaprockiSpainAmy Elsner NEW
Nicolas K CaudyCanadaAsiya Javayant NEW
Julie Z TollnerJapanBernardo Dominic RENEWAL
Sinclair F StensethCanadaXuxue Feng NEW
Alejandro Y IturbideJapanXuxue Feng NEW
Murillo Y InouyeGermanyOnyama Limba NEW
Jeanfrancois L WhobreyAustraliaIoni Bowcher QUALIFIED
Aika R FigeroaBrazilStephen Shaw NEGOTIATION
Arvin Q GauchoAustraliaBernardo Dominic UNQUALIFIED
Aika S CaldareraJapanElwin Sharvill NEW
Chavez L SergiItalyAmy Elsner UNQUALIFIED
Darci K MorascaArgentinaXuxue Feng NEGOTIATION
Ricardo P WhobreyUnited KingdomAnna Fali UNQUALIFIED
Adams F IturbideItalyAsiya Javayant NEGOTIATION
Stacey N MorascaUnited KingdomBernardo Dominic UNQUALIFIED
James I MacleadGermanyAnna Fali UNQUALIFIED
Alejandro H ShinkoJapanElwin Sharvill NEGOTIATION
Adams O ButtCanadaElwin Sharvill QUALIFIED
Kadeem V PaprockiFranceBernardo Dominic UNQUALIFIED
Greenwood X SaylorsFranceOnyama Limba QUALIFIED
Emily U NickaCanadaOnyama Limba NEGOTIATION
Julie G NestleJapanAsiya Javayant RENEWAL
Darci H GlickIndiaElwin Sharvill QUALIFIED
Rodrigues Y PoquetteBrazilIvan Magalhaes UNQUALIFIED
Mayumi H WaycottJapanAnna Fali NEGOTIATION
Francesco N MarrierAustraliaAmy Elsner NEGOTIATION
Julie P IturbideGermanyAnna Fali 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>