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
Izzy M FlosiCanadaAsiya Javayant RENEWAL
Ricardo V RoysterSpainXuxue Feng PROPOSAL
Aditya Q MaletUnited KingdomAnna Fali NEW
Francesco Z KolmetzGermanyAmy Elsner UNQUALIFIED
Greenwood C KolmetzCanadaAmy Elsner RENEWAL
Jones M OstroskyFranceOnyama Limba PROPOSAL
Aditya Q InouyeAustraliaIoni Bowcher UNQUALIFIED
Nicolas X MarrierUnited KingdomElwin Sharvill RENEWAL
Arvin R RulapaughJapanOnyama Limba QUALIFIED
Alejandro U PaprockiIndiaAmy Elsner QUALIFIED
Claire P DoeIndiaIvan Magalhaes NEGOTIATION
Tony T VocelkaBrazilBernardo Dominic UNQUALIFIED
Cody I StockhamFranceElwin Sharvill NEGOTIATION
Leja A StockhamItalyAnna Fali QUALIFIED
Ivar V TollnerUnited KingdomAnna Fali UNQUALIFIED
Claire R RulapaughJapanOnyama Limba NEW
Deepesh X FollerAustraliaBernardo Dominic UNQUALIFIED
Alejandro P OldroydGermanyIoni Bowcher PROPOSAL
Darci L PerinGermanyIvan Magalhaes PROPOSAL
Arvin F VenereIndiaAmy Elsner PROPOSAL
Isabel V InouyeJapanBernardo Dominic PROPOSAL
Kadeem N NestleArgentinaOnyama Limba NEW
Clifford F KuskoGermanyOnyama Limba UNQUALIFIED
Cody H VenereCanadaAmy Elsner QUALIFIED
Octavia P OldroydGermanyIvan Magalhaes QUALIFIED
Juan N NestleRussiaXuxue Feng UNQUALIFIED
Kaitlin X MaletArgentinaIvan Magalhaes NEW
Aika C ChuiBrazilElwin Sharvill PROPOSAL
Aruna B WhobreyRussiaBernardo Dominic PROPOSAL
Mayumi O WhobreyItalyXuxue Feng NEW
Jeanfrancois X TollnerArgentinaAsiya Javayant UNQUALIFIED
Sinclair C IturbideSpainBernardo Dominic NEW
Aruna F VenereBrazilAnna Fali NEW
Kadeem N MacleadBrazilIoni Bowcher NEW
Octavia T FlosiSpainIoni Bowcher QUALIFIED
Mujtaba D NestleUnited KingdomXuxue Feng PROPOSAL
Leja R NickaArgentinaIoni Bowcher NEW
Octavia E NestleGermanyAmy Elsner NEGOTIATION
Chavez Z RimJapanAnna Fali RENEWAL
Stacey G OldroydJapanAsiya Javayant NEGOTIATION
Arvin J AlbaresBrazilIvan Magalhaes QUALIFIED
Ashley K GillianGermanyElwin Sharvill PROPOSAL
Darci G VenereAustraliaBernardo Dominic RENEWAL
Maria N DoeItalyOnyama Limba NEW
Aika V DilliardFranceOnyama Limba UNQUALIFIED
Mayumi R PerinItalyXuxue Feng NEGOTIATION
Clifford Z TollnerUnited KingdomOnyama Limba QUALIFIED
Jennifer T NestleAustraliaElwin Sharvill PROPOSAL
Emily T FigeroaItalyStephen Shaw NEGOTIATION
Morrow O RimItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James V VenereGermanyBernardo Dominic NEW
Johnson O KolmetzJapanXuxue Feng QUALIFIED
Jefferson G SchemmerSpainAsiya Javayant UNQUALIFIED
Darci T FlosiAustraliaBernardo Dominic RENEWAL
Mujtaba P DoeFranceAnna Fali NEGOTIATION
Izzy K TollnerArgentinaStephen Shaw PROPOSAL
Ricardo Y NickaGermanyIvan Magalhaes NEGOTIATION
Jones J BologniaCanadaElwin Sharvill UNQUALIFIED
David L FigeroaAustraliaAsiya Javayant RENEWAL
Stacey B TollnerJapanOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio T VenereBrazil2024-05-22Truhlar And Truhlar Attys NEGOTIATION22Elwin Sharvill
1001Wickens N WaycottItaly2024-06-04King, Christopher A Esq NEW70Ivan Magalhaes
1002Clifford G FigeroaGermany2024-05-20Chemel, James L Cpa NEW13Asiya Javayant
1003Antonio T BologniaCanada2024-05-27Benton, John B Jr NEGOTIATION13Stephen Shaw
1004Ricardo U SchemmerBrazil2024-06-08King, Christopher A Esq PROPOSAL35Anna Fali
1005Mujtaba J DilliardIndia2024-05-28Chanay, Jeffrey A Esq NEGOTIATION10Elwin Sharvill
1006Cody V SergiAustralia2024-06-02Benton, John B Jr RENEWAL23Ivan Magalhaes
1007Ivar R GillianIndia2024-06-03Rangoni Of Florence UNQUALIFIED69Anna Fali
1008Mujtaba O FerenczIndia2024-05-22Buckley Miller Wright NEW30Ivan Magalhaes
1009Greenwood Y MarrierItaly2024-05-21Dorl, James J Esq QUALIFIED42Stephen Shaw
1010Kaitlin I TollnerRussia2024-06-04Feiner Bros QUALIFIED84Asiya Javayant
1011Maisha X PaprockiRussia2024-06-07Feiner Bros QUALIFIED17Onyama Limba
1012Clifford O RulapaughRussia2024-06-03Chemel, James L Cpa UNQUALIFIED95Ivan Magalhaes
1013Alejandro J RoysterBrazil2024-06-11Feiner Bros QUALIFIED63Ioni Bowcher
1014Jefferson V DoeItaly2024-06-01Benton, John B Jr NEW66Ioni Bowcher
1015Adams R GauchoIndia2024-05-23Benton, John B Jr NEGOTIATION92Stephen Shaw
1016David W DoeJapan2024-05-22Feltz Printing Service NEW80Anna Fali
1017Jefferson R BriddickCanada2024-06-13Printing Dimensions UNQUALIFIED55Anna Fali
1018Greenwood R BriddickAustralia2024-05-28Feltz Printing Service NEGOTIATION12Amy Elsner
1019Smith O FollerItaly2024-06-03Printing Dimensions PROPOSAL93Onyama Limba
1020Adams W WhobreyFrance2024-06-02Commercial Press UNQUALIFIED8Elwin Sharvill
1021Cody R RulapaughSpain2024-05-23Rangoni Of Florence QUALIFIED80Stephen Shaw
1022Murillo C KolmetzUnited Kingdom2024-06-08Chapman, Ross E Esq QUALIFIED39Elwin Sharvill
1023Jeanfrancois X CampainSpain2024-06-05Truhlar And Truhlar Attys PROPOSAL89Amy Elsner
1024Faith J MaletGermany2024-05-31King, Christopher A Esq NEGOTIATION5Amy Elsner
1025Maisha Z RutaFrance2024-06-14Rousseaux, Michael Esq UNQUALIFIED16Stephen Shaw
1026Maisha I ChuiArgentina2024-05-27Commercial Press NEGOTIATION81Anna Fali
1027Jennifer H CampainUnited Kingdom2024-05-30Printing Dimensions QUALIFIED13Ivan Magalhaes
1028Chavez Z SaylorsAustralia2024-06-06Rangoni Of Florence NEW72Asiya Javayant
1029Chavez N FlosiUnited Kingdom2024-06-07King, Christopher A Esq QUALIFIED27Bernardo Dominic
1030Kaitlin Z MaletArgentina2024-05-28Benton, John B Jr NEW40Stephen Shaw
1031Aika F WaycottRussia2024-05-21Chanay, Jeffrey A Esq PROPOSAL18Stephen Shaw
1032Mayumi U KuskoCanada2024-05-26Dorl, James J Esq PROPOSAL58Onyama Limba
1033Leon W PaprockiIndia2024-05-28Chemel, James L Cpa RENEWAL90Amy Elsner
1034Leon K RimArgentina2024-06-10Feltz Printing Service QUALIFIED98Bernardo Dominic
1035Murillo I WaycottCanada2024-06-01Chapman, Ross E Esq QUALIFIED80Asiya Javayant
1036Leon Z PaprockiItaly2024-06-09Commercial Press QUALIFIED65Stephen Shaw
1037Jeanfrancois A VenereFrance2024-06-17Feltz Printing Service QUALIFIED84Amy Elsner
1038Tony A AmigonRussia2024-06-16Morlong Associates NEGOTIATION75Xuxue Feng
1039Julie S KuskoBrazil2024-06-04Feiner Bros PROPOSAL28Ivan Magalhaes
1040Cody D GarufiRussia2024-06-14Buckley Miller Wright NEW29Anna Fali
1041Chavez E GarufiGermany2024-05-29Buckley Miller Wright NEW11Ivan Magalhaes
1042Ricardo Y CampainCanada2024-05-30Truhlar And Truhlar Attys UNQUALIFIED86Ioni Bowcher
1043Kaitlin I ButtBrazil2024-05-31Rangoni Of Florence RENEWAL27Bernardo Dominic
1044Clifford Z BowleyRussia2024-05-31Morlong Associates PROPOSAL28Asiya Javayant
1045Murillo T BologniaGermany2024-06-03Chanay, Jeffrey A Esq QUALIFIED53Asiya Javayant
1046Maria Q DoeBrazil2024-06-17Feltz Printing Service QUALIFIED12Stephen Shaw
1047Salvatore Q StensethSpain2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED60Stephen Shaw
1048Nicolas V WhobreyUnited Kingdom2024-06-13Chemel, James L Cpa NEGOTIATION66Amy Elsner
1049Nicolas W ChuiItaly2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED38Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens T GarufiGermanyElwin Sharvill NEW
Tony H SchemmerCanadaBernardo Dominic RENEWAL
Darci J FlosiCanadaXuxue Feng NEGOTIATION
Jefferson I NestleJapanStephen Shaw PROPOSAL
Mujtaba V KolmetzCanadaIvan Magalhaes UNQUALIFIED
David E GarufiIndiaElwin Sharvill UNQUALIFIED
Misaki T RulapaughArgentinaOnyama Limba PROPOSAL
Jefferson S VenereCanadaStephen Shaw QUALIFIED
Costa T CaldareraFranceIoni Bowcher QUALIFIED
Maisha B FollerFranceAsiya Javayant UNQUALIFIED
Adams B KuskoUnited KingdomAsiya Javayant UNQUALIFIED
Julie P GillianSpainElwin Sharvill NEGOTIATION
Alejandro V ChuiRussiaElwin Sharvill NEW
Ivar J RimGermanyBernardo Dominic PROPOSAL
Izzy B OstroskyGermanyOnyama Limba UNQUALIFIED
Izzy L RulapaughGermanyIvan Magalhaes NEW
David E GauchoSpainBernardo Dominic RENEWAL
David I PoquetteItalyAmy Elsner PROPOSAL
Mayumi H OldroydGermanyOnyama Limba UNQUALIFIED
Salvatore P NickaRussiaOnyama Limba PROPOSAL
Maria K MaletUnited KingdomAmy Elsner QUALIFIED
Stacey K CaudySpainElwin Sharvill UNQUALIFIED
Leon A SergiRussiaAsiya Javayant UNQUALIFIED
David U PerinAustraliaOnyama Limba PROPOSAL
Mayumi M RutaRussiaBernardo Dominic NEGOTIATION
Mayumi I MaletCanadaIvan Magalhaes NEW
Alejandro C AlbaresArgentinaAnna Fali NEW
Ivar P KolmetzArgentinaBernardo Dominic RENEWAL
Faith P MacleadCanadaElwin Sharvill UNQUALIFIED
Ricardo N KuskoFranceAnna Fali NEW
Ashley S CaldareraItalyAmy Elsner RENEWAL
Antonio I SaylorsItalyStephen Shaw NEW
Rodrigues E DoeCanadaXuxue Feng RENEWAL
Ivar C MaletJapanAmy Elsner NEW
Arvin Y BowleyCanadaOnyama Limba UNQUALIFIED
Ricardo D MaletBrazilIvan Magalhaes NEGOTIATION
Costa O SlusarskiItalyElwin Sharvill RENEWAL
Isabel G CaudyAustraliaAmy Elsner NEGOTIATION
Murillo L ShinkoGermanyAsiya Javayant NEGOTIATION
Aruna A OstroskyRussiaAmy Elsner NEW
Claire A PoquetteSpainAsiya Javayant UNQUALIFIED
Leon U FerenczBrazilAmy Elsner UNQUALIFIED
Mayumi H DarakjyGermanyAnna Fali NEGOTIATION
Stacey J BowleyFranceAsiya Javayant NEW
Murillo D VenereBrazilOnyama Limba PROPOSAL
Smith G OldroydItalyOnyama Limba UNQUALIFIED
Silvio L PoquetteCanadaOnyama Limba RENEWAL
Jennifer L GarufiUnited KingdomElwin Sharvill RENEWAL
Maisha R MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Smith P SlusarskiAustraliaStephen Shaw RENEWAL
Frozen Columns
Name
Smith G Kusko
Morrow I Amigon
Jefferson U Vocelka
Wickens S Kusko
Ivar P Morasca
Darci J Flosi
Isabel B Foller
Izzy P Albares
Johnson J Nestle
Jefferson N Kolmetz
Kaitlin N Royster
Silvio O Kolmetz
Alejandro C Chui
Darci R Inouye
Greenwood M Stenseth
Emily N Slusarski
Maisha B Sergi
Maisha N Doe
Izzy N Gillian
Rodrigues N Perin
Maria C Shinko
Stacey P Caudy
Francesco S Iturbide
Leon T Shinko
Nicolas X Gaucho
Emily B Amigon
Smith A Butt
Chavez S Glick
Darci D Wieser
Nicolas I Gaucho
Cody Y Figeroa
Claire V Maclead
Morrow Y Foller
Arvin Y Gillian
Stacey V Chui
Chavez R Maclead
Darci E Campain
Wickens Z Amigon
Misaki A Wieser
Mayumi R Darakjy
Rodrigues S Saylors
Kadeem A Kolmetz
Murillo A Figeroa
Rodrigues H Campain
Smith Y Chui
David Q Stenseth
Francesco V Rim
Darci D Campain
Johnson D Morasca
Darci C Stockham
IdCountryDate
1000Brazil2024-06-10
1001Russia2024-05-30
1002Japan2024-06-06
1003Russia2024-05-21
1004Argentina2024-05-21
1005Italy2024-06-03
1006Spain2024-06-04
1007Australia2024-06-11
1008France2024-06-08
1009Japan2024-05-23
1010India2024-06-15
1011Germany2024-05-31
1012Japan2024-06-10
1013Australia2024-06-08
1014Argentina2024-06-17
1015Italy2024-05-29
1016Canada2024-06-08
1017Canada2024-05-24
1018Australia2024-05-23
1019Canada2024-05-27
1020Argentina2024-06-06
1021Japan2024-06-11
1022Australia2024-06-17
1023India2024-06-12
1024Brazil2024-05-25
1025Canada2024-06-03
1026Argentina2024-06-09
1027Japan2024-06-10
1028France2024-06-01
1029Germany2024-05-27
1030Canada2024-06-11
1031India2024-05-30
1032France2024-05-29
1033Spain2024-06-12
1034Italy2024-06-13
1035Canada2024-05-26
1036Brazil2024-05-29
1037United Kingdom2024-06-08
1038India2024-05-22
1039Russia2024-06-07
1040Germany2024-06-03
1041Australia2024-06-06
1042Russia2024-06-07
1043Argentina2024-05-28
1044Japan2024-06-03
1045Germany2024-06-02
1046France2024-05-25
1047United Kingdom2024-05-23
1048Argentina2024-06-03
1049United Kingdom2024-05-23

On-Demand Data

NameIdCountryDate
Morrow P Ostrosky1000Spain2024-06-12
Misaki Z Briddick1001Germany2024-05-29
Darci I Shinko1002Germany2024-05-25
Isabel X Waycott1003Russia2024-06-15
Chavez D Venere1004Argentina2024-05-22
Tony F Briddick1005United Kingdom2024-06-07
Stacey G Ruta1006Germany2024-06-09
Jeanfrancois K Glick1007Brazil2024-06-06
Leon J Flosi1008Italy2024-05-26
Mujtaba E Rim1009Canada2024-06-07
Silvio P Venere1010Russia2024-06-07
Francesco E Marrier1011Spain2024-05-24
Ricardo V Chui1012Brazil2024-06-01
Murillo T Paprocki1013Germany2024-05-26
Alejandro D Perin1014France2024-06-13
Nicolas A Stockham1015Russia2024-06-18
Murillo P Perin1016United Kingdom2024-06-10
Francesco F Glick1017India2024-06-11
Julie I Vocelka1018Brazil2024-06-12
Stacey U Shinko1019Australia2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro L ShinkoRussiaElwin Sharvill PROPOSAL
Faith J DoeJapanAnna Fali NEGOTIATION
Ashley Y GlickBrazilAnna Fali QUALIFIED
Mujtaba D NestleGermanyAsiya Javayant NEGOTIATION
Murillo C TollnerBrazilIvan Magalhaes NEGOTIATION
Jennifer F MaletIndiaIoni Bowcher UNQUALIFIED
Rodrigues Z InouyeItalyAnna Fali UNQUALIFIED
Jefferson U NickaGermanyOnyama Limba RENEWAL
Tony X MarrierSpainIvan Magalhaes PROPOSAL
Smith J AlbaresSpainStephen Shaw NEW
Aruna T FollerGermanyAnna Fali UNQUALIFIED
Jefferson H IturbideUnited KingdomElwin Sharvill RENEWAL
Sinclair E WaycottItalyStephen Shaw QUALIFIED
Izzy C VenereBrazilXuxue Feng NEGOTIATION
Chavez A SaylorsArgentinaIoni Bowcher UNQUALIFIED
Kadeem R FollerIndiaIvan Magalhaes PROPOSAL
Leja I WieserCanadaIoni Bowcher NEW
Leon V MaletItalyIoni Bowcher RENEWAL
Misaki H MarrierJapanAnna Fali RENEWAL
Morrow N AlbaresAustraliaStephen Shaw NEGOTIATION
Isabel L NickaFranceIoni Bowcher QUALIFIED
Octavia S RutaUnited KingdomAnna Fali UNQUALIFIED
Ashley N MacleadGermanyXuxue Feng PROPOSAL
Jeanfrancois N PaprockiCanadaAsiya Javayant QUALIFIED
Morrow Z GauchoCanadaAnna Fali NEW
David G DoeFranceIvan Magalhaes RENEWAL
Johnson K ButtIndiaAmy Elsner QUALIFIED
Francesco N MaletRussiaAmy Elsner UNQUALIFIED
Kadeem G WhobreyCanadaIoni Bowcher RENEWAL
Rodrigues Q PerinCanadaXuxue Feng QUALIFIED
Adams M SaylorsFranceIoni Bowcher NEW
Greenwood O ButtArgentinaAmy Elsner NEW
Munro G VocelkaFranceXuxue Feng QUALIFIED
Jennifer P MacleadItalyStephen Shaw NEW
Smith S SergiUnited KingdomIvan Magalhaes PROPOSAL
Munro A CaudyJapanIoni Bowcher PROPOSAL
Rodrigues I TollnerItalyIoni Bowcher NEGOTIATION
Leon U WieserRussiaElwin Sharvill UNQUALIFIED
Murillo L SergiItalyAsiya Javayant QUALIFIED
Munro D WhobreyRussiaOnyama Limba 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>