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
Ivar D SaylorsArgentinaAsiya Javayant RENEWAL
Jennifer N VocelkaSpainIoni Bowcher UNQUALIFIED
Jones S MorascaJapanAnna Fali NEGOTIATION
Maria N MaletUnited KingdomStephen Shaw UNQUALIFIED
Murillo A AmigonBrazilElwin Sharvill RENEWAL
Clifford J KolmetzAustraliaElwin Sharvill NEGOTIATION
Rodrigues N SlusarskiItalyAnna Fali NEW
Smith E DoeArgentinaStephen Shaw QUALIFIED
Chavez M SergiIndiaIvan Magalhaes PROPOSAL
Tony C PoquetteJapanAnna Fali UNQUALIFIED
Cody O StockhamCanadaElwin Sharvill PROPOSAL
Murillo G IturbideRussiaStephen Shaw RENEWAL
Mujtaba R OstroskyAustraliaIoni Bowcher UNQUALIFIED
Ricardo P FerenczAustraliaXuxue Feng UNQUALIFIED
Morrow K DoeSpainIoni Bowcher NEGOTIATION
Jones T WieserRussiaIvan Magalhaes NEGOTIATION
Antonio O MaletGermanyAmy Elsner NEGOTIATION
Sinclair Q StockhamCanadaOnyama Limba PROPOSAL
Rodrigues C MaletJapanIvan Magalhaes PROPOSAL
Jeanfrancois O AlbaresBrazilAsiya Javayant RENEWAL
Julie A RutaSpainAsiya Javayant NEW
Greenwood E MaletJapanAnna Fali NEW
Emily O MaletItalyBernardo Dominic NEW
Leja Q DoeRussiaBernardo Dominic PROPOSAL
Aditya J CaudyBrazilStephen Shaw NEGOTIATION
Ashley G KuskoUnited KingdomElwin Sharvill NEGOTIATION
Emily N TollnerUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois C CaldareraItalyXuxue Feng NEW
Jefferson B WieserAustraliaAsiya Javayant QUALIFIED
James O DarakjyItalyIvan Magalhaes UNQUALIFIED
Isabel M StensethCanadaIoni Bowcher NEW
Cody P OldroydCanadaAnna Fali RENEWAL
Greenwood X MacleadIndiaStephen Shaw UNQUALIFIED
Greenwood G RulapaughJapanXuxue Feng QUALIFIED
Francesco W KolmetzGermanyAnna Fali QUALIFIED
Deepesh H SaylorsFranceAmy Elsner NEGOTIATION
Nicolas H VocelkaFranceAsiya Javayant QUALIFIED
Ashley G WieserBrazilAmy Elsner NEGOTIATION
Clifford V ChuiItalyIoni Bowcher NEW
Aruna P WaycottArgentinaStephen Shaw PROPOSAL
Jeanfrancois Z FlosiRussiaAnna Fali RENEWAL
Mayumi R DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Jennifer J DoeFranceOnyama Limba PROPOSAL
Isabel C GillianJapanAnna Fali QUALIFIED
Octavia G KuskoBrazilAmy Elsner RENEWAL
Isabel Z RoysterUnited KingdomStephen Shaw UNQUALIFIED
Arvin B OldroydIndiaOnyama Limba UNQUALIFIED
Isabel X CaudyUnited KingdomAsiya Javayant NEW
Smith Z OldroydArgentinaElwin Sharvill NEGOTIATION
Julie E MaletJapanBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem A RulapaughJapanStephen Shaw NEW
Jones H FlosiSpainAmy Elsner PROPOSAL
Clifford J FigeroaUnited KingdomIvan Magalhaes NEW
Mayumi B KuskoSpainStephen Shaw NEGOTIATION
Izzy W ShinkoBrazilBernardo Dominic NEW
Aika Q OldroydGermanyIoni Bowcher UNQUALIFIED
Wickens U DarakjyGermanyAsiya Javayant UNQUALIFIED
Claire D MacleadFranceXuxue Feng NEW
Isabel L RoysterBrazilIoni Bowcher PROPOSAL
Aika M MorascaBrazilIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas J DarakjyCanada2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED47Ivan Magalhaes
1001Stacey W VocelkaIndia2024-05-21Dorl, James J Esq NEGOTIATION59Onyama Limba
1002Leja A MorascaIndia2024-05-06Feltz Printing Service QUALIFIED58Anna Fali
1003Isabel E RutaCanada2024-04-28Buckley Miller Wright NEW18Ioni Bowcher
1004Darci C AmigonBrazil2024-04-26Truhlar And Truhlar Attys PROPOSAL35Anna Fali
1005Sinclair Q GauchoJapan2024-05-01King, Christopher A Esq NEW61Amy Elsner
1006Maria N StensethArgentina2024-04-28Morlong Associates RENEWAL66Bernardo Dominic
1007Jefferson U CaldareraAustralia2024-04-30Rousseaux, Michael Esq RENEWAL77Anna Fali
1008Cody O DilliardGermany2024-05-20Morlong Associates RENEWAL84Stephen Shaw
1009Antonio O OldroydGermany2024-05-11Commercial Press RENEWAL99Xuxue Feng
1010Aditya T DarakjyCanada2024-05-24Chemel, James L Cpa NEW42Xuxue Feng
1011Murillo Z StockhamGermany2024-05-15Dorl, James J Esq QUALIFIED62Asiya Javayant
1012Misaki C MacleadFrance2024-05-14King, Christopher A Esq QUALIFIED50Ivan Magalhaes
1013Aditya L FlosiAustralia2024-05-07Feltz Printing Service NEGOTIATION99Asiya Javayant
1014Chavez F VenereRussia2024-05-17Chemel, James L Cpa NEGOTIATION61Asiya Javayant
1015Misaki D SchemmerSpain2024-05-21Buckley Miller Wright NEGOTIATION10Bernardo Dominic
1016Darci K GlickFrance2024-05-10Rangoni Of Florence NEW26Stephen Shaw
1017Misaki P OstroskyGermany2024-04-27King, Christopher A Esq UNQUALIFIED65Asiya Javayant
1018Izzy A PaprockiIndia2024-05-17Rangoni Of Florence UNQUALIFIED75Stephen Shaw
1019Leja P SergiArgentina2024-05-22Truhlar And Truhlar Attys UNQUALIFIED98Onyama Limba
1020Juan U CaudyArgentina2024-04-27Chanay, Jeffrey A Esq NEGOTIATION25Anna Fali
1021Jennifer A GauchoJapan2024-04-28King, Christopher A Esq NEGOTIATION14Stephen Shaw
1022Darci K BriddickBrazil2024-04-29Morlong Associates UNQUALIFIED89Stephen Shaw
1023Smith S RutaIndia2024-05-07Commercial Press UNQUALIFIED72Ivan Magalhaes
1024Kaitlin A KolmetzUnited Kingdom2024-05-16Buckley Miller Wright UNQUALIFIED18Amy Elsner
1025Jeanfrancois Y KolmetzBrazil2024-04-29Printing Dimensions RENEWAL95Onyama Limba
1026Aika H WieserItaly2024-04-26Benton, John B Jr UNQUALIFIED63Bernardo Dominic
1027Julie B VocelkaRussia2024-05-07Buckley Miller Wright NEW76Stephen Shaw
1028Aruna K BologniaItaly2024-05-20Buckley Miller Wright UNQUALIFIED38Elwin Sharvill
1029Arvin B GarufiItaly2024-05-07Commercial Press NEW55Stephen Shaw
1030David H BologniaGermany2024-05-19Feiner Bros UNQUALIFIED53Anna Fali
1031James V NickaCanada2024-05-10Buckley Miller Wright NEW96Elwin Sharvill
1032Salvatore E RimSpain2024-05-01Chapman, Ross E Esq NEGOTIATION0Ivan Magalhaes
1033Emily M DilliardUnited Kingdom2024-05-24Morlong Associates PROPOSAL43Xuxue Feng
1034Antonio T MaletArgentina2024-04-26Buckley Miller Wright UNQUALIFIED64Bernardo Dominic
1035Darci I RoysterIndia2024-04-27Benton, John B Jr PROPOSAL83Elwin Sharvill
1036Maria C OstroskyFrance2024-05-12Morlong Associates PROPOSAL1Ivan Magalhaes
1037Morrow Q NestleIndia2024-05-08Chanay, Jeffrey A Esq PROPOSAL42Onyama Limba
1038Maria J FollerCanada2024-05-06King, Christopher A Esq NEGOTIATION82Bernardo Dominic
1039Francesco Q GarufiRussia2024-04-26Rangoni Of Florence UNQUALIFIED92Anna Fali
1040Mujtaba Q RimItaly2024-05-15Commercial Press NEW9Stephen Shaw
1041Johnson J WieserArgentina2024-05-24King, Christopher A Esq UNQUALIFIED44Xuxue Feng
1042Nicolas U CaldareraCanada2024-05-24King, Christopher A Esq PROPOSAL61Ioni Bowcher
1043Chavez O RimUnited Kingdom2024-05-15Truhlar And Truhlar Attys RENEWAL96Ivan Magalhaes
1044Aika F PoquetteSpain2024-05-23Printing Dimensions NEW19Xuxue Feng
1045Cody I VenereFrance2024-05-19Rangoni Of Florence RENEWAL1Bernardo Dominic
1046Salvatore D PerinUnited Kingdom2024-05-16Benton, John B Jr PROPOSAL53Anna Fali
1047Leja X SergiIndia2024-05-12Commercial Press QUALIFIED80Amy Elsner
1048Claire K GarufiBrazil2024-05-03Commercial Press UNQUALIFIED56Bernardo Dominic
1049Stacey K MaletUnited Kingdom2024-05-20Chemel, James L Cpa PROPOSAL1Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Sinclair N FigeroaSpainBernardo Dominic NEW
Stacey K DoeIndiaAsiya Javayant NEW
Greenwood N SaylorsArgentinaXuxue Feng PROPOSAL
Wickens D ShinkoGermanyOnyama Limba PROPOSAL
Munro E KolmetzArgentinaXuxue Feng RENEWAL
Emily I SchemmerUnited KingdomAnna Fali UNQUALIFIED
Morrow D MaletJapanAsiya Javayant RENEWAL
Mayumi Y SchemmerArgentinaOnyama Limba QUALIFIED
Deepesh R WieserJapanIoni Bowcher PROPOSAL
Sinclair I CampainCanadaAsiya Javayant QUALIFIED
Jeanfrancois R NestleAustraliaElwin Sharvill RENEWAL
Greenwood T GarufiGermanyBernardo Dominic UNQUALIFIED
Munro F StensethIndiaAnna Fali NEGOTIATION
James X FigeroaArgentinaXuxue Feng NEW
Chavez A ButtItalyElwin Sharvill NEGOTIATION
Arvin A ShinkoJapanStephen Shaw PROPOSAL
Stacey X KolmetzArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois T OstroskySpainIoni Bowcher QUALIFIED
Izzy S ButtSpainStephen Shaw NEW
Claire G MorascaArgentinaAnna Fali QUALIFIED
Jefferson V SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford L FigeroaBrazilAsiya Javayant QUALIFIED
Kaitlin B ButtIndiaAsiya Javayant NEW
Maisha X MaletAustraliaAsiya Javayant NEGOTIATION
David G MarrierSpainIvan Magalhaes UNQUALIFIED
Antonio Q OldroydCanadaIoni Bowcher UNQUALIFIED
Kadeem E WieserGermanyAnna Fali QUALIFIED
Jones J WieserIndiaAsiya Javayant QUALIFIED
Murillo D CaudyIndiaBernardo Dominic PROPOSAL
Tony T MaletFranceAsiya Javayant RENEWAL
Aruna F PoquetteJapanOnyama Limba NEW
Greenwood N RulapaughIndiaAmy Elsner QUALIFIED
Kadeem W BologniaAustraliaAmy Elsner RENEWAL
David Z SlusarskiSpainIoni Bowcher RENEWAL
Murillo R RimCanadaAsiya Javayant NEGOTIATION
Rodrigues V WieserBrazilIvan Magalhaes PROPOSAL
Adams H FerenczBrazilAmy Elsner NEW
Antonio A TollnerItalyXuxue Feng NEGOTIATION
Jeanfrancois F MarrierSpainStephen Shaw RENEWAL
Stacey N NickaArgentinaOnyama Limba UNQUALIFIED
Wickens E CampainArgentinaAsiya Javayant UNQUALIFIED
Antonio K ShinkoUnited KingdomIoni Bowcher RENEWAL
Octavia G FollerCanadaIoni Bowcher NEW
Kaitlin S TollnerAustraliaAmy Elsner UNQUALIFIED
Darci F BriddickUnited KingdomElwin Sharvill QUALIFIED
Maisha K DilliardAustraliaAmy Elsner NEGOTIATION
Maisha M RulapaughItalyAnna Fali RENEWAL
Jennifer W SchemmerRussiaIvan Magalhaes UNQUALIFIED
Munro R GillianAustraliaIvan Magalhaes QUALIFIED
James H SchemmerUnited KingdomStephen Shaw NEGOTIATION
Frozen Columns
Name
Aruna T Tollner
Jennifer F Bowley
Emily T Malet
Aruna C Inouye
Ashley U Iturbide
Antonio I Saylors
Clifford N Paprocki
Leon Q Slusarski
Adams W Whobrey
Jeanfrancois S Paprocki
David V Butt
Arvin D Iturbide
Nicolas D Schemmer
Octavia I Dilliard
Maisha N Saylors
Salvatore D Paprocki
Stacey W Nicka
James X Tollner
Antonio G Vocelka
Arvin C Stockham
Smith V Caudy
Murillo A Whobrey
Isabel Y Marrier
Deepesh K Saylors
Jeanfrancois A Schemmer
Munro W Bowley
Izzy X Wieser
Jennifer I Dilliard
Nicolas C Caudy
Silvio Z Sergi
Julie R Kolmetz
James Q Gaucho
Stacey X Albares
Julie B Stockham
Rodrigues J Flosi
Mujtaba G Royster
Kadeem D Waycott
Octavia X Ferencz
James V Garufi
Murillo O Dilliard
Claire M Perin
Emily C Gillian
Sinclair J Kolmetz
Morrow Y Schemmer
Wickens E Tollner
Kaitlin E Rulapaugh
Francesco T Briddick
Johnson T Kolmetz
Misaki B Iturbide
Smith X Perin
IdCountryDate
1000Argentina2024-04-29
1001India2024-04-28
1002Brazil2024-05-04
1003Argentina2024-05-22
1004Spain2024-04-27
1005Italy2024-05-20
1006Argentina2024-04-30
1007Germany2024-05-17
1008Italy2024-04-28
1009France2024-05-16
1010Germany2024-05-11
1011Argentina2024-04-30
1012Japan2024-05-24
1013Brazil2024-05-21
1014Canada2024-05-08
1015Canada2024-05-18
1016Italy2024-05-21
1017Japan2024-05-22
1018Canada2024-05-21
1019Brazil2024-05-03
1020Japan2024-05-21
1021India2024-04-29
1022United Kingdom2024-05-12
1023United Kingdom2024-05-03
1024Argentina2024-05-24
1025France2024-05-18
1026Italy2024-05-12
1027United Kingdom2024-05-22
1028Brazil2024-05-13
1029Japan2024-04-30
1030Argentina2024-05-17
1031Italy2024-04-27
1032Japan2024-05-17
1033Canada2024-05-18
1034Germany2024-05-22
1035France2024-05-19
1036Argentina2024-04-27
1037Russia2024-05-11
1038Spain2024-04-28
1039Japan2024-05-12
1040Argentina2024-05-09
1041Australia2024-05-15
1042Australia2024-05-02
1043France2024-05-04
1044Russia2024-05-03
1045Brazil2024-05-14
1046Italy2024-05-03
1047India2024-05-17
1048Italy2024-05-13
1049Argentina2024-05-03

On-Demand Data

NameIdCountryDate
Claire J Malet1000Australia2024-05-24
Wickens J Glick1001Italy2024-04-27
Jones C Waycott1002India2024-05-05
Adams B Venere1003India2024-05-04
Ricardo U Kusko1004India2024-05-05
Chavez O Marrier1005United Kingdom2024-04-28
Kadeem J Malet1006Germany2024-05-18
Claire M Royster1007India2024-05-03
Claire C Nestle1008Australia2024-05-11
Misaki K Whobrey1009Australia2024-05-18
Darci S Vocelka1010United Kingdom2024-04-26
Deepesh Q Slusarski1011France2024-05-18
Jones R Maclead1012Argentina2024-05-01
Ashley Q Briddick1013Brazil2024-05-05
Sinclair Y Bowley1014Spain2024-05-06
Izzy W Nestle1015Argentina2024-05-22
Aditya A Butt1016France2024-04-28
Faith A Flosi1017France2024-05-21
Jennifer K Stenseth1018France2024-05-23
Wickens T Foller1019Argentina2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith U CaudyGermanyAmy Elsner NEGOTIATION
Sinclair T MarrierRussiaBernardo Dominic NEW
Salvatore I GlickItalyElwin Sharvill NEGOTIATION
Arvin I DilliardAustraliaBernardo Dominic NEGOTIATION
Maisha E BriddickUnited KingdomOnyama Limba QUALIFIED
Kaitlin Y RulapaughIndiaBernardo Dominic UNQUALIFIED
Jones S NickaFranceBernardo Dominic NEGOTIATION
Francesco V WaycottCanadaStephen Shaw NEGOTIATION
Isabel Y OstroskyIndiaElwin Sharvill RENEWAL
Jefferson D AlbaresCanadaBernardo Dominic NEW
Emily B ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Clifford Y DilliardItalyStephen Shaw PROPOSAL
Aika Q MacleadUnited KingdomIvan Magalhaes RENEWAL
Munro S RutaSpainAnna Fali NEW
Claire U MaletJapanOnyama Limba NEGOTIATION
Cody F PaprockiBrazilIoni Bowcher QUALIFIED
Aika X AlbaresGermanyBernardo Dominic QUALIFIED
Claire B SaylorsRussiaIoni Bowcher NEGOTIATION
Ricardo D DilliardBrazilAmy Elsner UNQUALIFIED
Jennifer B MarrierIndiaElwin Sharvill QUALIFIED
Adams J AmigonArgentinaAnna Fali PROPOSAL
Isabel Z MaletRussiaIvan Magalhaes PROPOSAL
Maria X MarrierAustraliaIvan Magalhaes NEGOTIATION
Ashley T InouyeIndiaIoni Bowcher NEW
Rodrigues O PoquetteItalyIoni Bowcher RENEWAL
Julie N KuskoJapanStephen Shaw NEW
James Y BriddickAustraliaIvan Magalhaes PROPOSAL
Claire F NickaIndiaElwin Sharvill NEGOTIATION
Nicolas C MacleadFranceXuxue Feng PROPOSAL
Munro B NestleSpainIoni Bowcher PROPOSAL
Ricardo R MorascaBrazilStephen Shaw PROPOSAL
Antonio F WhobreyBrazilIoni Bowcher NEGOTIATION
Clifford T IturbideGermanyAsiya Javayant PROPOSAL
Aditya U BriddickArgentinaAmy Elsner UNQUALIFIED
Aditya T ChuiJapanElwin Sharvill NEW
Clifford K FollerAustraliaElwin Sharvill PROPOSAL
Morrow B MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi Q PaprockiBrazilXuxue Feng RENEWAL
Costa Y VenereArgentinaIvan Magalhaes QUALIFIED
Jones H GillianBrazilAmy Elsner NEGOTIATION

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