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
Murillo U VocelkaIndiaAsiya Javayant RENEWAL
Jeanfrancois M MaletSpainOnyama Limba UNQUALIFIED
Deepesh T CampainCanadaAmy Elsner RENEWAL
Misaki B GauchoIndiaBernardo Dominic NEW
Stacey F CaldareraGermanyAsiya Javayant QUALIFIED
Silvio X MorascaCanadaElwin Sharvill RENEWAL
Darci C SergiCanadaXuxue Feng QUALIFIED
Chavez Q FollerArgentinaAmy Elsner QUALIFIED
Juan A CampainItalyElwin Sharvill RENEWAL
Arvin X GlickFranceAsiya Javayant RENEWAL
Silvio V PaprockiBrazilBernardo Dominic RENEWAL
Ivar S DarakjyGermanyStephen Shaw NEW
Claire L WhobreyBrazilElwin Sharvill QUALIFIED
Ricardo E StensethGermanyStephen Shaw NEW
Costa U StockhamAustraliaElwin Sharvill NEGOTIATION
Juan V GauchoJapanOnyama Limba PROPOSAL
Adams N SaylorsGermanyBernardo Dominic PROPOSAL
Deepesh I GillianArgentinaIvan Magalhaes QUALIFIED
Leon Z VenereSpainAnna Fali NEGOTIATION
Izzy U DoeSpainStephen Shaw PROPOSAL
Jennifer F KuskoCanadaStephen Shaw PROPOSAL
Ricardo K DoeRussiaElwin Sharvill NEGOTIATION
Aruna E RoysterUnited KingdomOnyama Limba NEW
Juan U BologniaSpainStephen Shaw QUALIFIED
Darci U FigeroaBrazilAsiya Javayant NEGOTIATION
Mujtaba C WhobreyFranceAmy Elsner RENEWAL
Juan L SchemmerCanadaBernardo Dominic NEGOTIATION
Smith U SergiArgentinaIoni Bowcher NEGOTIATION
Johnson N MarrierGermanyIoni Bowcher RENEWAL
Ashley H PoquetteItalyStephen Shaw RENEWAL
Juan S MorascaIndiaIoni Bowcher QUALIFIED
Maria H PoquetteBrazilIoni Bowcher PROPOSAL
Mujtaba B MaletCanadaIoni Bowcher UNQUALIFIED
Jefferson H MaletBrazilIoni Bowcher PROPOSAL
Claire B FigeroaIndiaAnna Fali PROPOSAL
Clifford R RimSpainStephen Shaw UNQUALIFIED
Murillo H CaldareraJapanBernardo Dominic QUALIFIED
Deepesh O DoeAustraliaElwin Sharvill NEGOTIATION
Francesco M KolmetzGermanyAsiya Javayant NEGOTIATION
Juan Z GarufiSpainAsiya Javayant PROPOSAL
Jennifer T FerenczItalyStephen Shaw UNQUALIFIED
Ivar B RutaUnited KingdomBernardo Dominic UNQUALIFIED
Arvin Z OstroskyArgentinaIvan Magalhaes NEGOTIATION
Leja O RulapaughBrazilIoni Bowcher NEGOTIATION
Cody R InouyeSpainBernardo Dominic NEW
Silvio O BologniaGermanyBernardo Dominic UNQUALIFIED
Nicolas J SchemmerItalyAmy Elsner PROPOSAL
James M ChuiBrazilIoni Bowcher PROPOSAL
Sinclair R GauchoBrazilIvan Magalhaes NEGOTIATION
Stacey Z KolmetzItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley U FerenczAustraliaAmy Elsner QUALIFIED
Tony T NickaCanadaStephen Shaw UNQUALIFIED
Francesco X PerinJapanAmy Elsner NEGOTIATION
James D ButtSpainElwin Sharvill NEGOTIATION
Leon C KolmetzGermanyOnyama Limba QUALIFIED
Kaitlin M WaycottUnited KingdomAmy Elsner NEW
Munro R OstroskyGermanyXuxue Feng NEGOTIATION
Jennifer A BologniaCanadaAnna Fali NEGOTIATION
Ricardo G VocelkaFranceXuxue Feng QUALIFIED
Julie A SaylorsUnited KingdomStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley I KuskoBrazil2024-06-09Chanay, Jeffrey A Esq QUALIFIED75Bernardo Dominic
1001Ricardo N FigeroaUnited Kingdom2024-05-29Feltz Printing Service NEW26Ioni Bowcher
1002Greenwood U OstroskyArgentina2024-06-23Benton, John B Jr QUALIFIED19Amy Elsner
1003Izzy G SaylorsGermany2024-06-01Rangoni Of Florence NEGOTIATION65Elwin Sharvill
1004Antonio M ShinkoCanada2024-06-05Chanay, Jeffrey A Esq NEGOTIATION95Stephen Shaw
1005Kadeem O FigeroaFrance2024-06-22Morlong Associates QUALIFIED47Asiya Javayant
1006Ricardo M BowleyIndia2024-06-11Rousseaux, Michael Esq RENEWAL49Xuxue Feng
1007Costa Z NestleAustralia2024-06-22Chemel, James L Cpa RENEWAL78Ioni Bowcher
1008Darci M OldroydJapan2024-06-04Chanay, Jeffrey A Esq QUALIFIED44Onyama Limba
1009Costa I DarakjyCanada2024-05-29Rangoni Of Florence NEW24Asiya Javayant
1010Mayumi L VocelkaItaly2024-06-20Benton, John B Jr NEGOTIATION76Asiya Javayant
1011Emily N WaycottItaly2024-06-21Dorl, James J Esq QUALIFIED70Amy Elsner
1012Jefferson D DilliardUnited Kingdom2024-06-01Printing Dimensions NEW49Bernardo Dominic
1013Faith L StensethCanada2024-06-17Feiner Bros RENEWAL50Xuxue Feng
1014Maisha E FollerFrance2024-06-17Dorl, James J Esq RENEWAL95Elwin Sharvill
1015Munro K SchemmerArgentina2024-06-16Buckley Miller Wright NEGOTIATION52Anna Fali
1016Ivar M StensethRussia2024-06-22Dorl, James J Esq RENEWAL40Bernardo Dominic
1017Morrow I DoeGermany2024-06-17Chapman, Ross E Esq NEGOTIATION74Bernardo Dominic
1018Tony Q OstroskyItaly2024-06-10Printing Dimensions PROPOSAL25Stephen Shaw
1019Tony Q GillianSpain2024-06-05Chapman, Ross E Esq QUALIFIED59Anna Fali
1020Cody U RoysterUnited Kingdom2024-06-15Dorl, James J Esq NEW23Amy Elsner
1021Darci H DarakjyCanada2024-05-29Chapman, Ross E Esq UNQUALIFIED76Anna Fali
1022Clifford S PaprockiUnited Kingdom2024-06-16Truhlar And Truhlar Attys PROPOSAL98Asiya Javayant
1023Rodrigues F TollnerRussia2024-06-21Chemel, James L Cpa NEGOTIATION84Ivan Magalhaes
1024Deepesh D BowleyFrance2024-05-30Buckley Miller Wright QUALIFIED8Bernardo Dominic
1025Leon F MorascaItaly2024-06-05Chanay, Jeffrey A Esq QUALIFIED55Asiya Javayant
1026Salvatore V ButtJapan2024-05-30Feltz Printing Service NEGOTIATION5Bernardo Dominic
1027Maisha H GarufiAustralia2024-06-19Commercial Press QUALIFIED85Ivan Magalhaes
1028Mayumi G RulapaughItaly2024-06-06Chanay, Jeffrey A Esq NEW66Stephen Shaw
1029James L StockhamGermany2024-05-27Morlong Associates QUALIFIED64Onyama Limba
1030Morrow R MaletItaly2024-06-13Rousseaux, Michael Esq NEW29Stephen Shaw
1031Francesco J RimJapan2024-05-27Printing Dimensions UNQUALIFIED41Xuxue Feng
1032Maria C PaprockiCanada2024-06-17King, Christopher A Esq UNQUALIFIED46Stephen Shaw
1033Deepesh R OstroskyArgentina2024-06-14Benton, John B Jr NEGOTIATION25Amy Elsner
1034Murillo T RoysterBrazil2024-06-12Commercial Press UNQUALIFIED37Bernardo Dominic
1035Clifford U IturbideUnited Kingdom2024-06-20Dorl, James J Esq NEW57Elwin Sharvill
1036Stacey C FigeroaGermany2024-06-07Feiner Bros NEW8Xuxue Feng
1037Octavia I WhobreyUnited Kingdom2024-06-01Printing Dimensions NEGOTIATION52Bernardo Dominic
1038David U CaudyArgentina2024-06-15Feiner Bros PROPOSAL13Elwin Sharvill
1039Jefferson X RoysterArgentina2024-06-13Feiner Bros QUALIFIED75Xuxue Feng
1040James V GlickGermany2024-06-13Dorl, James J Esq QUALIFIED32Amy Elsner
1041Maisha Z SergiFrance2024-05-28King, Christopher A Esq NEW96Ivan Magalhaes
1042Murillo W RoysterRussia2024-06-18Rangoni Of Florence NEW99Elwin Sharvill
1043Faith G NickaGermany2024-06-15Feltz Printing Service UNQUALIFIED38Xuxue Feng
1044Aruna G SchemmerAustralia2024-06-18Dorl, James J Esq NEW23Ioni Bowcher
1045Kadeem H StockhamUnited Kingdom2024-06-05Truhlar And Truhlar Attys RENEWAL32Xuxue Feng
1046Smith U GauchoSpain2024-05-30Printing Dimensions NEW72Anna Fali
1047Greenwood O DarakjyIndia2024-06-22Commercial Press NEGOTIATION33Ivan Magalhaes
1048Jennifer W BriddickJapan2024-05-25Chemel, James L Cpa QUALIFIED92Stephen Shaw
1049Leja D DilliardJapan2024-06-22Chemel, James L Cpa NEGOTIATION64Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Francesco H MarrierAustraliaElwin Sharvill NEGOTIATION
Arvin H PaprockiSpainElwin Sharvill UNQUALIFIED
Octavia G PerinBrazilElwin Sharvill RENEWAL
Maria Y DilliardJapanAsiya Javayant PROPOSAL
Stacey C MaletBrazilOnyama Limba RENEWAL
Clifford Z RutaSpainOnyama Limba NEGOTIATION
Jennifer F MorascaGermanyOnyama Limba PROPOSAL
Rodrigues B ChuiArgentinaElwin Sharvill QUALIFIED
Johnson K RoysterJapanStephen Shaw RENEWAL
Isabel F ButtSpainAnna Fali NEW
Maisha L MacleadItalyAnna Fali RENEWAL
Ashley N WaycottGermanyStephen Shaw UNQUALIFIED
Leon G FerenczIndiaIoni Bowcher RENEWAL
Emily J InouyeArgentinaAmy Elsner PROPOSAL
Sinclair P CaudyRussiaOnyama Limba PROPOSAL
Misaki G WaycottIndiaStephen Shaw NEW
Julie O VenereBrazilElwin Sharvill PROPOSAL
Jefferson A AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Silvio V GarufiRussiaStephen Shaw UNQUALIFIED
Murillo V PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Morrow G RulapaughAustraliaOnyama Limba NEW
Darci W DilliardArgentinaStephen Shaw PROPOSAL
Munro G RulapaughItalyAsiya Javayant UNQUALIFIED
Kadeem V BowleyRussiaIvan Magalhaes RENEWAL
Greenwood Q CampainUnited KingdomBernardo Dominic PROPOSAL
Misaki J FerenczSpainAmy Elsner UNQUALIFIED
Rodrigues Y RimSpainElwin Sharvill UNQUALIFIED
Chavez I FerenczJapanXuxue Feng UNQUALIFIED
Aruna L RoysterFranceStephen Shaw PROPOSAL
Johnson M MaletItalyXuxue Feng PROPOSAL
Julie T CaudyGermanyElwin Sharvill UNQUALIFIED
Alejandro V AlbaresArgentinaOnyama Limba QUALIFIED
Munro P FlosiIndiaXuxue Feng UNQUALIFIED
Stacey M VocelkaRussiaStephen Shaw NEGOTIATION
Maisha V MaletItalyIvan Magalhaes QUALIFIED
Octavia K FlosiSpainStephen Shaw RENEWAL
Jefferson P FlosiFranceIoni Bowcher NEGOTIATION
Maisha H OldroydJapanIoni Bowcher QUALIFIED
Sinclair H WaycottCanadaBernardo Dominic NEGOTIATION
Maisha Y CaudyJapanElwin Sharvill NEW
Cody P CaudyIndiaOnyama Limba NEW
Claire O GillianGermanyAnna Fali NEW
Ricardo I DoeRussiaIoni Bowcher QUALIFIED
Ivar N GlickItalyXuxue Feng NEGOTIATION
Chavez V RimJapanIoni Bowcher RENEWAL
Arvin V WaycottSpainAsiya Javayant QUALIFIED
Faith W OstroskyItalyAsiya Javayant PROPOSAL
Cody I TollnerItalyAnna Fali UNQUALIFIED
Smith B SergiItalyAmy Elsner NEGOTIATION
Smith H FollerIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Antonio P Shinko
Johnson S Gillian
David J Perin
Isabel U Kusko
Nicolas E Maclead
Misaki O Vocelka
Nicolas B Caudy
Aruna D Garufi
David W Chui
Ivar R Ferencz
Munro X Wieser
Clifford C Rulapaugh
Deepesh I Flosi
Murillo H Kolmetz
Faith L Malet
James I Saylors
Alejandro Y Rim
Murillo H Oldroyd
Greenwood R Doe
Clifford B Nestle
Leja R Schemmer
Aruna W Caldarera
Jones T Schemmer
Antonio A Whobrey
Costa Z Bolognia
James O Royster
Maria N Shinko
Claire A Oldroyd
Antonio G Doe
Sinclair V Shinko
Sinclair H Vocelka
Faith P Gaucho
Aditya A Tollner
Leja H Wieser
Murillo S Nicka
Deepesh K Morasca
Aika Y Venere
James E Nestle
Mayumi I Morasca
Jones V Dilliard
Claire S Flosi
Mujtaba R Bolognia
Nicolas S Tollner
Mayumi W Kolmetz
Murillo M Maclead
Kaitlin F Bowley
Ricardo B Malet
Misaki C Stenseth
Alejandro G Campain
Aditya G Paprocki
IdCountryDate
1000Canada2024-06-02
1001Australia2024-06-07
1002Australia2024-05-29
1003Spain2024-06-20
1004Russia2024-06-12
1005India2024-06-04
1006Germany2024-05-28
1007Spain2024-06-18
1008Canada2024-06-15
1009Brazil2024-06-13
1010Canada2024-06-15
1011France2024-06-20
1012Brazil2024-06-14
1013Russia2024-06-11
1014United Kingdom2024-06-17
1015Spain2024-05-29
1016Australia2024-06-05
1017France2024-05-26
1018Russia2024-05-30
1019Brazil2024-06-17
1020Spain2024-05-28
1021Japan2024-06-09
1022India2024-06-03
1023United Kingdom2024-05-30
1024France2024-05-29
1025Australia2024-06-08
1026Spain2024-06-18
1027United Kingdom2024-06-21
1028Italy2024-06-18
1029United Kingdom2024-06-07
1030Spain2024-06-13
1031Russia2024-06-10
1032Italy2024-05-30
1033Italy2024-05-29
1034Argentina2024-06-19
1035India2024-05-29
1036United Kingdom2024-06-03
1037United Kingdom2024-05-31
1038Russia2024-05-31
1039Canada2024-06-19
1040India2024-06-19
1041Japan2024-06-04
1042Canada2024-06-15
1043Italy2024-06-22
1044United Kingdom2024-06-14
1045Spain2024-05-27
1046United Kingdom2024-06-07
1047France2024-06-22
1048United Kingdom2024-05-30
1049Japan2024-05-28

On-Demand Data

NameIdCountryDate
Jones T Flosi1000Canada2024-06-17
Tony B Oldroyd1001Australia2024-05-26
Sinclair L Campain1002Japan2024-06-16
Maria V Campain1003Australia2024-06-15
Misaki C Briddick1004Spain2024-06-09
Stacey Y Doe1005Russia2024-06-03
Isabel D Perin1006Germany2024-06-13
Morrow Q Shinko1007Germany2024-06-18
Maisha T Foller1008Germany2024-06-01
Antonio T Ferencz1009Canada2024-06-11
Mayumi K Ruta1010Australia2024-06-22
Antonio N Ferencz1011Spain2024-06-18
Stacey I Waycott1012India2024-06-05
Tony T Iturbide1013Japan2024-06-23
Tony T Marrier1014Argentina2024-06-10
Izzy X Paprocki1015Japan2024-06-18
Ricardo J Glick1016Australia2024-06-23
Aruna X Ruta1017Australia2024-06-01
Juan G Caldarera1018France2024-06-22
Maria I Chui1019Spain2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore W ButtJapanAmy Elsner NEGOTIATION
Aditya V GlickIndiaXuxue Feng NEGOTIATION
Misaki G TollnerRussiaXuxue Feng NEGOTIATION
Sinclair Y RulapaughCanadaAnna Fali QUALIFIED
Kadeem T GillianFranceOnyama Limba QUALIFIED
Ashley Z MacleadJapanXuxue Feng NEW
Aika L KolmetzBrazilAmy Elsner QUALIFIED
Deepesh T TollnerIndiaOnyama Limba UNQUALIFIED
Chavez J KuskoIndiaIvan Magalhaes RENEWAL
Ricardo O DilliardGermanyAnna Fali NEGOTIATION
Chavez M PerinIndiaXuxue Feng QUALIFIED
Jeanfrancois A StensethGermanyStephen Shaw NEW
Darci W PerinFranceBernardo Dominic NEW
Sinclair J MarrierJapanXuxue Feng QUALIFIED
Mujtaba U OstroskyRussiaBernardo Dominic PROPOSAL
Jefferson H GlickGermanyOnyama Limba NEGOTIATION
Octavia U DilliardRussiaXuxue Feng RENEWAL
David K StockhamSpainAmy Elsner QUALIFIED
Ricardo C RoysterFranceStephen Shaw QUALIFIED
Kaitlin W TollnerSpainStephen Shaw UNQUALIFIED
David G RulapaughIndiaStephen Shaw UNQUALIFIED
Ivar W CaudySpainIvan Magalhaes UNQUALIFIED
Ivar Y PoquetteBrazilAsiya Javayant PROPOSAL
Murillo N RoysterUnited KingdomStephen Shaw PROPOSAL
Cody P MaletCanadaBernardo Dominic QUALIFIED
Kaitlin C RutaIndiaElwin Sharvill UNQUALIFIED
Claire M WieserGermanyAmy Elsner NEGOTIATION
Smith G StensethArgentinaOnyama Limba NEW
Maisha X BologniaUnited KingdomAsiya Javayant NEGOTIATION
David K MorascaGermanyAnna Fali NEW
Ashley O PaprockiBrazilBernardo Dominic PROPOSAL
Kadeem D MacleadBrazilStephen Shaw NEW
Mayumi D DarakjyItalyAnna Fali NEGOTIATION
Leon Z FollerBrazilBernardo Dominic NEW
Clifford D NickaSpainXuxue Feng UNQUALIFIED
Antonio L CaldareraGermanyOnyama Limba RENEWAL
Salvatore R BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba S KolmetzGermanyOnyama Limba UNQUALIFIED
Jeanfrancois N StensethIndiaAsiya Javayant RENEWAL
Clifford U GauchoBrazilIoni Bowcher 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>