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
Jeanfrancois X PaprockiIndiaElwin Sharvill RENEWAL
Isabel C RutaIndiaIoni Bowcher NEGOTIATION
Maria B WaycottAustraliaAnna Fali UNQUALIFIED
Murillo W CaudyRussiaAsiya Javayant NEW
Smith N CaldareraRussiaBernardo Dominic PROPOSAL
Ricardo F MaletBrazilBernardo Dominic QUALIFIED
Julie V FollerFranceAsiya Javayant QUALIFIED
Kadeem O NickaAustraliaXuxue Feng QUALIFIED
Jones C OstroskyItalyAnna Fali PROPOSAL
Arvin E PoquetteGermanyOnyama Limba RENEWAL
James K NestleSpainAmy Elsner QUALIFIED
Rodrigues B BowleySpainOnyama Limba RENEWAL
Nicolas L FollerRussiaElwin Sharvill NEGOTIATION
Tony I DoeIndiaAmy Elsner QUALIFIED
Silvio X RimIndiaBernardo Dominic RENEWAL
Isabel H FollerCanadaAsiya Javayant PROPOSAL
Munro L PerinArgentinaIvan Magalhaes RENEWAL
Aruna I IturbideItalyStephen Shaw QUALIFIED
Kaitlin J CaldareraAustraliaAmy Elsner UNQUALIFIED
Izzy P VenereSpainStephen Shaw NEGOTIATION
Tony R MacleadIndiaAsiya Javayant NEGOTIATION
Jones W SchemmerGermanyAmy Elsner PROPOSAL
Stacey M KuskoRussiaXuxue Feng RENEWAL
Ashley P VenereSpainAsiya Javayant UNQUALIFIED
Misaki U RoysterJapanStephen Shaw QUALIFIED
Aruna L StensethAustraliaIoni Bowcher NEW
Jeanfrancois J KuskoCanadaIvan Magalhaes UNQUALIFIED
Ivar O FerenczIndiaAsiya Javayant NEW
Ricardo B BriddickItalyAmy Elsner PROPOSAL
Misaki Q PaprockiBrazilAnna Fali PROPOSAL
Stacey O MaletBrazilAnna Fali QUALIFIED
Kadeem F SchemmerBrazilAnna Fali UNQUALIFIED
Kadeem M FollerCanadaAmy Elsner NEGOTIATION
Darci R PoquetteUnited KingdomIoni Bowcher NEW
Clifford U RulapaughGermanyAnna Fali NEGOTIATION
Izzy Q NickaRussiaAnna Fali PROPOSAL
Jeanfrancois C ShinkoGermanyAnna Fali NEW
Kaitlin N FigeroaUnited KingdomBernardo Dominic NEW
Alejandro D RutaFranceOnyama Limba PROPOSAL
Alejandro T BowleySpainOnyama Limba PROPOSAL
Cody C IturbideIndiaOnyama Limba NEW
Munro C GillianArgentinaAnna Fali PROPOSAL
Ivar B NestleUnited KingdomBernardo Dominic NEW
Ricardo W SaylorsGermanyBernardo Dominic RENEWAL
Munro T ButtJapanStephen Shaw QUALIFIED
Juan O ChuiSpainAmy Elsner RENEWAL
Greenwood R PoquetteGermanyOnyama Limba PROPOSAL
Salvatore L StockhamItalyOnyama Limba QUALIFIED
Morrow D FerenczBrazilXuxue Feng RENEWAL
Salvatore Q IturbideArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo G KuskoFranceOnyama Limba NEW
Mayumi P MaletArgentinaOnyama Limba UNQUALIFIED
Aika N RimSpainBernardo Dominic NEW
Jones D ButtIndiaOnyama Limba QUALIFIED
Mayumi U VenereCanadaOnyama Limba NEGOTIATION
Smith Y ShinkoUnited KingdomAmy Elsner RENEWAL
Ricardo N KuskoItalyAnna Fali PROPOSAL
Arvin H PerinFranceOnyama Limba RENEWAL
Costa I PoquetteAustraliaElwin Sharvill NEW
Deepesh Q FigeroaGermanyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel L BologniaRussia2025-05-04King, Christopher A Esq NEGOTIATION19Ioni Bowcher
1001Maria D WhobreyUnited Kingdom2025-04-11Feiner Bros UNQUALIFIED16Stephen Shaw
1002Jennifer R MarrierFrance2025-04-22Chemel, James L Cpa NEGOTIATION56Bernardo Dominic
1003Julie P SchemmerItaly2025-04-23Benton, John B Jr PROPOSAL19Stephen Shaw
1004Jones Y CampainUnited Kingdom2025-04-20Feltz Printing Service NEW29Anna Fali
1005Misaki K VocelkaGermany2025-04-21Benton, John B Jr UNQUALIFIED92Elwin Sharvill
1006Maria V FollerFrance2025-04-28Commercial Press QUALIFIED68Stephen Shaw
1007Maisha B NestleBrazil2025-04-21Buckley Miller Wright RENEWAL95Ivan Magalhaes
1008Chavez J PerinSpain2025-04-12Dorl, James J Esq RENEWAL14Ivan Magalhaes
1009Jennifer K PerinBrazil2025-04-11Commercial Press NEGOTIATION35Ioni Bowcher
1010Mayumi N ChuiGermany2025-05-02Rangoni Of Florence UNQUALIFIED96Anna Fali
1011Faith F ShinkoGermany2025-04-17Chemel, James L Cpa NEGOTIATION69Bernardo Dominic
1012Aika F NestleBrazil2025-05-05Chemel, James L Cpa UNQUALIFIED48Bernardo Dominic
1013Ivar N CaudyIndia2025-04-19Commercial Press PROPOSAL6Anna Fali
1014Isabel Z PerinJapan2025-04-20Feltz Printing Service QUALIFIED24Bernardo Dominic
1015Deepesh H FigeroaRussia2025-05-03Buckley Miller Wright RENEWAL26Stephen Shaw
1016Izzy F BriddickRussia2025-04-25Chanay, Jeffrey A Esq NEW30Onyama Limba
1017Jennifer M KolmetzJapan2025-04-25Chanay, Jeffrey A Esq UNQUALIFIED63Ioni Bowcher
1018Morrow I WaycottSpain2025-04-11Printing Dimensions QUALIFIED60Xuxue Feng
1019Maisha R StensethSpain2025-04-25Truhlar And Truhlar Attys QUALIFIED3Onyama Limba
1020David P IturbideItaly2025-04-15Rousseaux, Michael Esq UNQUALIFIED90Ioni Bowcher
1021Darci E TollnerFrance2025-05-03Chemel, James L Cpa NEW1Onyama Limba
1022Wickens U CaldareraIndia2025-04-26Printing Dimensions UNQUALIFIED56Bernardo Dominic
1023Deepesh N SlusarskiItaly2025-05-01Benton, John B Jr NEW83Stephen Shaw
1024Kadeem M FigeroaIndia2025-05-01Chemel, James L Cpa RENEWAL33Amy Elsner
1025Julie D MacleadJapan2025-05-01Morlong Associates QUALIFIED23Asiya Javayant
1026Stacey D VenereFrance2025-04-20Benton, John B Jr PROPOSAL58Elwin Sharvill
1027Deepesh R PerinUnited Kingdom2025-05-03Printing Dimensions RENEWAL43Elwin Sharvill
1028Costa C CaudySpain2025-05-01Morlong Associates RENEWAL32Ivan Magalhaes
1029Ricardo H SchemmerArgentina2025-04-28Morlong Associates NEGOTIATION97Anna Fali
1030Juan C GlickUnited Kingdom2025-05-08Buckley Miller Wright NEGOTIATION42Ivan Magalhaes
1031Emily T WhobreyFrance2025-04-24Buckley Miller Wright RENEWAL86Amy Elsner
1032Murillo N ButtFrance2025-04-12Rangoni Of Florence NEW91Bernardo Dominic
1033Leon M RutaSpain2025-04-16Feiner Bros NEGOTIATION25Ivan Magalhaes
1034David U MarrierRussia2025-05-05Buckley Miller Wright UNQUALIFIED48Xuxue Feng
1035Silvio V DilliardIndia2025-04-16Chemel, James L Cpa NEW84Ivan Magalhaes
1036Emily S AlbaresSpain2025-05-02King, Christopher A Esq UNQUALIFIED98Elwin Sharvill
1037Octavia M IturbideAustralia2025-05-01Truhlar And Truhlar Attys NEW42Xuxue Feng
1038Octavia V OstroskyJapan2025-04-11Dorl, James J Esq QUALIFIED58Anna Fali
1039Silvio W FigeroaBrazil2025-04-16Benton, John B Jr NEGOTIATION78Xuxue Feng
1040Ashley R OldroydItaly2025-05-03Truhlar And Truhlar Attys NEGOTIATION7Amy Elsner
1041Leon X WieserSpain2025-05-08Rangoni Of Florence PROPOSAL84Xuxue Feng
1042Ricardo W InouyeFrance2025-05-08Feltz Printing Service NEGOTIATION16Asiya Javayant
1043Ivar R GauchoBrazil2025-04-16Rousseaux, Michael Esq QUALIFIED31Stephen Shaw
1044Jefferson Y ShinkoAustralia2025-04-10Chapman, Ross E Esq NEGOTIATION94Amy Elsner
1045Costa Y DilliardGermany2025-04-13Rousseaux, Michael Esq NEW53Asiya Javayant
1046Salvatore T IturbideRussia2025-04-19Chemel, James L Cpa NEW69Onyama Limba
1047Isabel Y MacleadGermany2025-05-01Dorl, James J Esq QUALIFIED88Amy Elsner
1048James K ShinkoFrance2025-04-22Chapman, Ross E Esq PROPOSAL97Xuxue Feng
1049Faith Y GauchoArgentina2025-04-29Chapman, Ross E Esq NEGOTIATION43Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria I KuskoRussiaIvan Magalhaes NEW
Ricardo I ShinkoGermanyIoni Bowcher RENEWAL
Cody M CaudyJapanAnna Fali RENEWAL
Tony Q OldroydCanadaElwin Sharvill PROPOSAL
Adams X AmigonBrazilIvan Magalhaes RENEWAL
Misaki J CaldareraAustraliaElwin Sharvill NEGOTIATION
Nicolas R MarrierFranceAsiya Javayant RENEWAL
Greenwood B KolmetzRussiaOnyama Limba NEGOTIATION
Faith Z FlosiRussiaIoni Bowcher NEGOTIATION
Wickens A IturbideIndiaIvan Magalhaes RENEWAL
Ricardo R PaprockiSpainAmy Elsner PROPOSAL
Ricardo R MaletArgentinaAmy Elsner PROPOSAL
Julie O NickaSpainStephen Shaw NEW
Murillo R AlbaresUnited KingdomXuxue Feng NEW
Arvin J WhobreyArgentinaBernardo Dominic NEW
Jefferson A KuskoItalyOnyama Limba PROPOSAL
Costa Q RulapaughItalyStephen Shaw QUALIFIED
Jefferson S CampainFranceOnyama Limba NEGOTIATION
Misaki W IturbideArgentinaOnyama Limba UNQUALIFIED
Salvatore O GillianRussiaStephen Shaw QUALIFIED
Aruna A GlickBrazilAnna Fali PROPOSAL
Leja K RimSpainAnna Fali UNQUALIFIED
Mayumi H BriddickAustraliaIvan Magalhaes RENEWAL
Kaitlin C GlickItalyIvan Magalhaes NEGOTIATION
Cody D SaylorsBrazilAnna Fali UNQUALIFIED
Aditya N MorascaFranceAsiya Javayant QUALIFIED
James N RimGermanyOnyama Limba UNQUALIFIED
Jennifer Y BriddickJapanXuxue Feng PROPOSAL
David D DarakjyItalyXuxue Feng UNQUALIFIED
Sinclair C RulapaughRussiaXuxue Feng NEGOTIATION
Rodrigues M MaletArgentinaOnyama Limba QUALIFIED
Ivar T BologniaIndiaOnyama Limba QUALIFIED
Izzy A SchemmerFranceIvan Magalhaes NEGOTIATION
Murillo Y VenereBrazilOnyama Limba NEGOTIATION
Aika F RimAustraliaOnyama Limba QUALIFIED
Maria J FollerAustraliaElwin Sharvill QUALIFIED
Emily A RulapaughJapanBernardo Dominic RENEWAL
Antonio A DilliardFranceIoni Bowcher NEGOTIATION
Johnson Q AlbaresBrazilIvan Magalhaes UNQUALIFIED
Wickens Q WaycottItalyElwin Sharvill UNQUALIFIED
Maria D DarakjyRussiaAmy Elsner NEGOTIATION
Faith N WaycottSpainIvan Magalhaes RENEWAL
Maria U FerenczArgentinaAsiya Javayant PROPOSAL
Cody B NickaArgentinaBernardo Dominic RENEWAL
Silvio A CaudyFranceStephen Shaw NEGOTIATION
Emily Z FigeroaGermanyBernardo Dominic NEW
Nicolas U ButtSpainElwin Sharvill QUALIFIED
Wickens S DilliardItalyElwin Sharvill RENEWAL
Ricardo C ChuiIndiaIvan Magalhaes QUALIFIED
Cody N DilliardCanadaAnna Fali PROPOSAL
Frozen Columns
Name
Munro C Rulapaugh
Leon X Shinko
Deepesh F Malet
Antonio B Maclead
Antonio Z Ostrosky
Leon M Morasca
Deepesh U Chui
Kaitlin M Shinko
Octavia X Marrier
Alejandro I Albares
Murillo B Poquette
Julie Z Kusko
Mayumi U Campain
Emily U Briddick
Darci F Paprocki
Rodrigues F Saylors
Stacey B Rulapaugh
Rodrigues X Foller
Costa X Gillian
Jones D Darakjy
Kadeem X Briddick
Alejandro J Foller
Smith T Butt
James M Ruta
Chavez C Vocelka
Leja N Wieser
Julie U Kolmetz
Ivar C Figeroa
Rodrigues Z Flosi
Izzy A Flosi
Aika K Albares
Ashley I Kolmetz
James C Doe
Jennifer I Ostrosky
Sinclair Q Bolognia
Greenwood I Rulapaugh
Ricardo A Marrier
Jones N Flosi
Jeanfrancois L Butt
Leon N Perin
Aditya F Wieser
Maria E Foller
Jennifer Q Flosi
David K Schemmer
Sinclair A Caudy
Isabel Y Darakjy
Adams C Briddick
James D Butt
Francesco F Maclead
Juan U Nestle
IdCountryDate
1000United Kingdom2025-04-24
1001Russia2025-04-24
1002Canada2025-04-22
1003Russia2025-04-28
1004Brazil2025-04-20
1005India2025-04-27
1006Spain2025-05-07
1007Brazil2025-04-25
1008Australia2025-04-16
1009Germany2025-04-22
1010Brazil2025-04-17
1011Brazil2025-04-27
1012Germany2025-05-01
1013India2025-04-27
1014India2025-05-07
1015Spain2025-04-21
1016Germany2025-04-21
1017Canada2025-04-09
1018Russia2025-04-24
1019Canada2025-05-08
1020Germany2025-05-04
1021Japan2025-04-16
1022Australia2025-04-24
1023Russia2025-04-11
1024Brazil2025-05-02
1025Brazil2025-05-01
1026United Kingdom2025-04-15
1027Brazil2025-04-17
1028Canada2025-04-12
1029Russia2025-05-08
1030Brazil2025-04-23
1031Spain2025-04-30
1032France2025-04-11
1033Spain2025-04-26
1034Brazil2025-05-04
1035Italy2025-05-01
1036United Kingdom2025-04-27
1037Germany2025-04-10
1038India2025-05-06
1039Canada2025-05-07
1040Argentina2025-04-15
1041Argentina2025-05-04
1042Italy2025-04-28
1043France2025-04-10
1044Australia2025-04-21
1045Canada2025-04-29
1046United Kingdom2025-05-07
1047Canada2025-04-21
1048United Kingdom2025-05-07
1049Japan2025-04-29

On-Demand Data

NameIdCountryDate
Misaki C Venere1000Spain2025-04-20
Kadeem M Tollner1001Australia2025-04-10
David S Tollner1002France2025-05-05
Izzy C Briddick1003Argentina2025-04-24
Rodrigues C Vocelka1004Argentina2025-04-21
Juan U Vocelka1005United Kingdom2025-05-01
Aruna L Nestle1006Japan2025-04-20
Jeanfrancois Z Malet1007Australia2025-04-28
Chavez J Slusarski1008Canada2025-04-11
Isabel C Marrier1009Argentina2025-04-24
Kadeem A Malet1010Canada2025-05-08
Jefferson I Campain1011Brazil2025-04-16
Darci K Ferencz1012Japan2025-04-30
Jeanfrancois J Rulapaugh1013Argentina2025-04-23
Jennifer X Iturbide1014United Kingdom2025-04-28
Morrow K Butt1015Canada2025-04-30
Jennifer O Dilliard1016India2025-04-13
Julie S Nicka1017Spain2025-05-07
Kadeem W Royster1018India2025-04-17
Maisha Y Perin1019Germany2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson P PerinBrazilAmy Elsner QUALIFIED
Juan Y BologniaArgentinaAmy Elsner RENEWAL
Claire D BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Munro B NickaCanadaIoni Bowcher NEGOTIATION
Munro T DarakjyUnited KingdomStephen Shaw NEGOTIATION
Maisha N FigeroaUnited KingdomAnna Fali RENEWAL
Faith T FerenczCanadaOnyama Limba RENEWAL
Darci O StockhamUnited KingdomOnyama Limba NEGOTIATION
Isabel V GarufiItalyXuxue Feng RENEWAL
Ashley H ShinkoAustraliaAmy Elsner QUALIFIED
Sinclair G BologniaArgentinaElwin Sharvill RENEWAL
Maisha N SlusarskiItalyOnyama Limba QUALIFIED
Kaitlin E AmigonRussiaIoni Bowcher NEGOTIATION
Leon K FerenczCanadaIoni Bowcher NEW
Isabel V RimIndiaIvan Magalhaes QUALIFIED
Maria H NickaIndiaAmy Elsner UNQUALIFIED
Claire O SchemmerIndiaXuxue Feng QUALIFIED
Ashley R FollerJapanAmy Elsner RENEWAL
Munro Y MaletItalyIoni Bowcher UNQUALIFIED
Ashley P InouyeAustraliaOnyama Limba NEW
Greenwood F TollnerJapanXuxue Feng QUALIFIED
Salvatore A FigeroaItalyAnna Fali RENEWAL
James T FigeroaSpainStephen Shaw QUALIFIED
Octavia X ChuiJapanAmy Elsner QUALIFIED
Ivar P FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Adams V InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Octavia U RulapaughJapanXuxue Feng NEW
Ivar L DilliardFranceAnna Fali QUALIFIED
Isabel G WaycottArgentinaXuxue Feng PROPOSAL
Leja G SergiGermanyAmy Elsner NEW
Alejandro V SlusarskiCanadaOnyama Limba NEW
Juan M BowleySpainOnyama Limba PROPOSAL
Sinclair C SchemmerFranceElwin Sharvill PROPOSAL
Jennifer L MacleadCanadaOnyama Limba NEW
David E SergiSpainOnyama Limba NEW
Murillo R RimUnited KingdomBernardo Dominic QUALIFIED
Deepesh M RimCanadaElwin Sharvill NEGOTIATION
Jefferson L DilliardArgentinaAsiya Javayant NEW
Jeanfrancois U FigeroaArgentinaAsiya Javayant QUALIFIED
Silvio E SergiBrazilStephen Shaw PROPOSAL

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