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
Clifford D DarakjySpainIoni Bowcher UNQUALIFIED
Darci R ChuiUnited KingdomAnna Fali QUALIFIED
Mayumi C CaudyItalyElwin Sharvill PROPOSAL
Rodrigues K BowleyJapanXuxue Feng QUALIFIED
Juan E NickaJapanElwin Sharvill UNQUALIFIED
Jeanfrancois X GauchoUnited KingdomAnna Fali UNQUALIFIED
Arvin W GlickArgentinaIoni Bowcher PROPOSAL
Adams U PerinGermanyAnna Fali NEW
Silvio O NestleBrazilOnyama Limba RENEWAL
Misaki H OldroydSpainAsiya Javayant RENEWAL
James O GarufiRussiaIoni Bowcher PROPOSAL
Wickens K VocelkaFranceIvan Magalhaes RENEWAL
Francesco J CaudyRussiaStephen Shaw NEGOTIATION
Chavez K WieserSpainAsiya Javayant NEGOTIATION
Clifford S ButtBrazilAnna Fali QUALIFIED
Alejandro U GarufiCanadaAnna Fali PROPOSAL
Clifford R AmigonAustraliaElwin Sharvill RENEWAL
Emily O AmigonCanadaBernardo Dominic QUALIFIED
Greenwood E ButtFranceStephen Shaw UNQUALIFIED
Antonio E MaletFranceBernardo Dominic UNQUALIFIED
Clifford D CaldareraCanadaElwin Sharvill RENEWAL
Morrow B RutaItalyOnyama Limba PROPOSAL
Aika H StockhamBrazilElwin Sharvill NEW
Ricardo Q KolmetzGermanyBernardo Dominic NEGOTIATION
Aruna I SchemmerUnited KingdomAmy Elsner PROPOSAL
Smith W KolmetzFranceIoni Bowcher QUALIFIED
Murillo C MaletSpainXuxue Feng NEW
Mayumi C StockhamSpainOnyama Limba UNQUALIFIED
Mayumi Q OstroskyItalyAsiya Javayant NEGOTIATION
Maisha D BowleyJapanAnna Fali RENEWAL
Octavia A FigeroaCanadaIvan Magalhaes PROPOSAL
Rodrigues U KolmetzAustraliaBernardo Dominic NEW
Stacey K KolmetzUnited KingdomAmy Elsner NEGOTIATION
Claire L OldroydUnited KingdomOnyama Limba PROPOSAL
Smith M BologniaJapanElwin Sharvill UNQUALIFIED
James M PoquetteCanadaAmy Elsner NEGOTIATION
Clifford N VenereRussiaBernardo Dominic UNQUALIFIED
Alejandro D DoeBrazilIoni Bowcher NEGOTIATION
Ivar H InouyeFranceStephen Shaw NEGOTIATION
Antonio W MaletArgentinaBernardo Dominic NEGOTIATION
Juan P MacleadUnited KingdomAmy Elsner PROPOSAL
Rodrigues G DoeGermanyStephen Shaw PROPOSAL
Wickens K NickaUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin G PoquetteBrazilIvan Magalhaes PROPOSAL
Antonio E RutaFranceBernardo Dominic UNQUALIFIED
Octavia N WieserBrazilAnna Fali NEW
Izzy H MarrierFranceBernardo Dominic NEGOTIATION
Ivar R OstroskyGermanyOnyama Limba NEW
David T FigeroaCanadaStephen Shaw QUALIFIED
Aika X SlusarskiGermanyOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas U DilliardAustraliaAsiya Javayant NEW
Greenwood B FigeroaUnited KingdomIoni Bowcher QUALIFIED
Nicolas B NestleItalyBernardo Dominic NEGOTIATION
Wickens C MaletRussiaIvan Magalhaes NEGOTIATION
Smith K GauchoJapanXuxue Feng QUALIFIED
Julie N FlosiUnited KingdomXuxue Feng PROPOSAL
Salvatore U AmigonSpainAsiya Javayant PROPOSAL
Murillo S GarufiFranceBernardo Dominic NEGOTIATION
Johnson U MaletRussiaIvan Magalhaes QUALIFIED
Maisha J KuskoSpainBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna K OldroydUnited Kingdom2024-06-13Buckley Miller Wright UNQUALIFIED13Onyama Limba
1001Rodrigues A NickaSpain2024-06-14King, Christopher A Esq QUALIFIED73Stephen Shaw
1002Maisha H CampainRussia2024-06-05Rangoni Of Florence NEGOTIATION27Xuxue Feng
1003Cody G PoquetteCanada2024-06-04Buckley Miller Wright PROPOSAL38Xuxue Feng
1004Julie G PerinItaly2024-06-09Morlong Associates RENEWAL18Onyama Limba
1005Aditya E MaletIndia2024-06-10Morlong Associates QUALIFIED99Bernardo Dominic
1006Julie O RulapaughArgentina2024-05-31Chemel, James L Cpa QUALIFIED28Xuxue Feng
1007Octavia W GillianUnited Kingdom2024-06-06Morlong Associates RENEWAL89Xuxue Feng
1008Morrow L CaldareraAustralia2024-06-05Chapman, Ross E Esq QUALIFIED89Amy Elsner
1009Kadeem I ShinkoFrance2024-06-09Printing Dimensions QUALIFIED86Amy Elsner
1010Murillo Q SergiGermany2024-06-13Feiner Bros QUALIFIED72Asiya Javayant
1011Clifford F RutaAustralia2024-06-07Buckley Miller Wright PROPOSAL81Ioni Bowcher
1012Murillo J InouyeArgentina2024-06-24Truhlar And Truhlar Attys PROPOSAL78Stephen Shaw
1013Johnson U PerinIndia2024-06-07Printing Dimensions RENEWAL80Elwin Sharvill
1014Tony X TollnerRussia2024-06-22Dorl, James J Esq RENEWAL39Anna Fali
1015Juan I FerenczJapan2024-06-22Benton, John B Jr NEGOTIATION95Elwin Sharvill
1016Maria R IturbideAustralia2024-06-24Feiner Bros NEGOTIATION15Xuxue Feng
1017Ivar W SaylorsCanada2024-06-03Rangoni Of Florence NEW89Asiya Javayant
1018Ricardo M NestleCanada2024-06-19Morlong Associates QUALIFIED18Bernardo Dominic
1019Aruna D BowleyFrance2024-06-21Buckley Miller Wright QUALIFIED95Ivan Magalhaes
1020Darci C BologniaAustralia2024-06-06Chemel, James L Cpa RENEWAL74Onyama Limba
1021Deepesh W PaprockiJapan2024-05-29Buckley Miller Wright PROPOSAL95Anna Fali
1022Leon S CaldareraFrance2024-06-02Rangoni Of Florence NEGOTIATION61Bernardo Dominic
1023Juan M BriddickAustralia2024-06-23Dorl, James J Esq UNQUALIFIED45Ioni Bowcher
1024Adams E SaylorsUnited Kingdom2024-06-05Benton, John B Jr UNQUALIFIED97Asiya Javayant
1025Costa Y StensethArgentina2024-06-20Feiner Bros QUALIFIED47Anna Fali
1026Maisha B DilliardFrance2024-06-08Buckley Miller Wright NEW70Xuxue Feng
1027Murillo G MaletSpain2024-06-12Chapman, Ross E Esq RENEWAL69Bernardo Dominic
1028Kadeem I DarakjySpain2024-06-19Feltz Printing Service PROPOSAL19Amy Elsner
1029Johnson S AlbaresUnited Kingdom2024-06-24Truhlar And Truhlar Attys NEGOTIATION43Ioni Bowcher
1030Antonio K MacleadJapan2024-06-03Rousseaux, Michael Esq NEGOTIATION69Ioni Bowcher
1031Greenwood R OstroskyRussia2024-05-29Rousseaux, Michael Esq RENEWAL20Xuxue Feng
1032Leja R RoysterBrazil2024-06-11Rangoni Of Florence NEW86Ioni Bowcher
1033Jeanfrancois Y OldroydCanada2024-05-29Chemel, James L Cpa RENEWAL60Xuxue Feng
1034Isabel C SlusarskiSpain2024-06-09Truhlar And Truhlar Attys QUALIFIED14Bernardo Dominic
1035Aruna G SaylorsGermany2024-06-03Commercial Press NEW92Onyama Limba
1036Octavia P WieserIndia2024-06-16Morlong Associates NEGOTIATION55Elwin Sharvill
1037Jefferson X MarrierSpain2024-06-04Dorl, James J Esq RENEWAL25Elwin Sharvill
1038Kaitlin Z BowleyBrazil2024-05-30Chapman, Ross E Esq UNQUALIFIED71Stephen Shaw
1039Cody F TollnerUnited Kingdom2024-06-11Dorl, James J Esq QUALIFIED36Bernardo Dominic
1040Leja L FigeroaSpain2024-06-15Buckley Miller Wright UNQUALIFIED73Ivan Magalhaes
1041Faith U CaldareraRussia2024-05-29Chapman, Ross E Esq QUALIFIED37Stephen Shaw
1042Arvin G MaletBrazil2024-06-16Feiner Bros NEGOTIATION33Anna Fali
1043Johnson B SlusarskiIndia2024-06-02Benton, John B Jr UNQUALIFIED84Stephen Shaw
1044Ivar D RulapaughCanada2024-06-04Rousseaux, Michael Esq PROPOSAL50Stephen Shaw
1045Ricardo A PoquetteItaly2024-06-18Printing Dimensions QUALIFIED79Ioni Bowcher
1046Mujtaba U CaldareraRussia2024-06-24Commercial Press UNQUALIFIED99Amy Elsner
1047Greenwood L SergiBrazil2024-06-03Morlong Associates RENEWAL94Elwin Sharvill
1048Sinclair B FollerItaly2024-06-20Rangoni Of Florence UNQUALIFIED68Ioni Bowcher
1049Tony V DoeJapan2024-06-02Morlong Associates PROPOSAL5Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Sinclair J StensethSpainXuxue Feng UNQUALIFIED
Clifford I ShinkoJapanAsiya Javayant RENEWAL
Costa G GauchoGermanyBernardo Dominic QUALIFIED
Ricardo J MaletCanadaOnyama Limba RENEWAL
Jennifer U CaudyJapanBernardo Dominic QUALIFIED
Murillo N GlickUnited KingdomElwin Sharvill PROPOSAL
Arvin Y StensethItalyElwin Sharvill PROPOSAL
Mujtaba M VocelkaBrazilAsiya Javayant QUALIFIED
Mujtaba W FollerCanadaIvan Magalhaes PROPOSAL
Jefferson A PoquetteBrazilAmy Elsner RENEWAL
Jones S KolmetzGermanyBernardo Dominic QUALIFIED
Smith C BriddickFranceAsiya Javayant NEGOTIATION
Stacey K SchemmerIndiaElwin Sharvill PROPOSAL
Jones Q KolmetzAustraliaIvan Magalhaes QUALIFIED
Maria O GlickGermanyElwin Sharvill UNQUALIFIED
James Q VenereArgentinaXuxue Feng NEGOTIATION
Ashley G BologniaJapanAnna Fali UNQUALIFIED
Smith D BologniaBrazilXuxue Feng RENEWAL
Kadeem L IturbideFranceIvan Magalhaes PROPOSAL
Misaki G RimAustraliaOnyama Limba NEGOTIATION
Salvatore Z AmigonAustraliaAmy Elsner PROPOSAL
Aika Q KuskoBrazilOnyama Limba NEGOTIATION
Antonio R CaudyFranceIoni Bowcher RENEWAL
Wickens Q PerinJapanAnna Fali QUALIFIED
Johnson D ChuiFranceXuxue Feng PROPOSAL
Salvatore E GillianSpainIoni Bowcher UNQUALIFIED
Aika E MarrierAustraliaStephen Shaw QUALIFIED
Alejandro H FigeroaAustraliaOnyama Limba QUALIFIED
Greenwood L BowleyArgentinaXuxue Feng NEGOTIATION
Salvatore A MorascaRussiaElwin Sharvill PROPOSAL
Antonio B ShinkoBrazilStephen Shaw NEW
Adams P OstroskyBrazilAmy Elsner QUALIFIED
Johnson Z ShinkoSpainIvan Magalhaes QUALIFIED
Maisha Z PerinFranceIoni Bowcher PROPOSAL
Clifford K DarakjyGermanyStephen Shaw QUALIFIED
Clifford Q RulapaughGermanyAsiya Javayant PROPOSAL
Isabel J BowleyRussiaAmy Elsner RENEWAL
Tony T GarufiSpainStephen Shaw QUALIFIED
Tony S PoquetteGermanyXuxue Feng UNQUALIFIED
Aditya O MaletCanadaBernardo Dominic NEW
Kadeem Z RulapaughArgentinaXuxue Feng RENEWAL
Murillo V WaycottGermanyOnyama Limba NEW
Sinclair J IturbideFranceAsiya Javayant NEGOTIATION
Jones G RimGermanyElwin Sharvill PROPOSAL
James A CaldareraIndiaAsiya Javayant NEW
Octavia E BriddickJapanAsiya Javayant NEW
Aika A MarrierArgentinaStephen Shaw NEW
Alejandro A TollnerCanadaAmy Elsner RENEWAL
Julie E InouyeBrazilAmy Elsner RENEWAL
Aditya C MarrierBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Murillo Q Glick
Jones D Nicka
Emily Z Slusarski
Ivar G Perin
Mayumi U Rulapaugh
Tony E Ferencz
Aruna H Maclead
Morrow F Flosi
Stacey L Gaucho
Kadeem K Oldroyd
Ivar I Albares
Adams Z Kolmetz
Octavia Q Rim
David Y Whobrey
Greenwood E Bolognia
Rodrigues S Kusko
Kadeem H Gillian
Jones O Foller
Sinclair S Malet
James J Ostrosky
Deepesh M Butt
Jeanfrancois S Rim
Faith C Perin
Nicolas U Rim
Ricardo I Saylors
Mayumi P Ruta
Sinclair K Nicka
Adams V Ferencz
Morrow A Saylors
David L Shinko
Murillo X Darakjy
Izzy I Wieser
Johnson N Caldarera
Izzy A Whobrey
Antonio V Rim
Ricardo V Sergi
Ashley C Maclead
Murillo L Bolognia
Aika L Campain
Aika D Poquette
Julie U Stockham
David A Slusarski
Ivar A Tollner
Octavia V Bowley
Costa V Whobrey
Murillo P Poquette
Ricardo U Ostrosky
Jones Y Amigon
Johnson P Oldroyd
Munro C Foller
IdCountryDate
1000Germany2024-06-22
1001France2024-05-27
1002India2024-05-31
1003France2024-06-13
1004France2024-06-08
1005Brazil2024-05-30
1006India2024-06-23
1007Argentina2024-06-21
1008Russia2024-05-27
1009Canada2024-06-07
1010Brazil2024-06-04
1011France2024-05-26
1012United Kingdom2024-06-07
1013Spain2024-06-06
1014Germany2024-06-23
1015Argentina2024-06-19
1016Italy2024-06-13
1017Japan2024-06-10
1018Australia2024-06-20
1019Canada2024-05-31
1020Brazil2024-05-30
1021France2024-06-16
1022Brazil2024-06-20
1023India2024-05-31
1024France2024-06-12
1025Canada2024-06-07
1026Brazil2024-06-17
1027India2024-06-10
1028Canada2024-06-13
1029Australia2024-06-21
1030India2024-06-21
1031Australia2024-06-12
1032Italy2024-05-29
1033France2024-06-23
1034United Kingdom2024-06-06
1035Spain2024-06-23
1036United Kingdom2024-06-04
1037Japan2024-06-10
1038United Kingdom2024-05-27
1039Canada2024-06-23
1040Argentina2024-06-22
1041United Kingdom2024-06-13
1042Germany2024-05-27
1043Russia2024-06-01
1044Germany2024-05-26
1045France2024-05-26
1046Argentina2024-06-18
1047Brazil2024-06-06
1048France2024-06-22
1049Russia2024-06-10

On-Demand Data

NameIdCountryDate
Arvin E Caudy1000Australia2024-06-14
Ashley F Darakjy1001Brazil2024-06-23
Julie L Bolognia1002Spain2024-06-21
Francesco F Doe1003Italy2024-06-04
Munro V Stockham1004Russia2024-06-16
Mayumi K Vocelka1005Italy2024-05-31
Maisha K Perin1006Japan2024-06-23
Wickens Y Garufi1007Japan2024-06-15
Silvio V Dilliard1008Germany2024-06-19
Wickens Y Glick1009Brazil2024-06-20
Ricardo W Slusarski1010France2024-05-26
Morrow Q Doe1011Spain2024-06-23
Cody D Garufi1012Italy2024-06-23
Tony P Rim1013Spain2024-06-21
Izzy L Bolognia1014Japan2024-05-29
Ricardo C Inouye1015India2024-06-07
Julie D Amigon1016Brazil2024-06-14
Smith F Ferencz1017Brazil2024-05-28
Adams W Gillian1018Russia2024-06-01
Aditya Y Kolmetz1019Russia2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Z BowleyIndiaStephen Shaw RENEWAL
Salvatore H AlbaresBrazilStephen Shaw NEW
Leja G MorascaSpainAsiya Javayant PROPOSAL
Adams B DilliardAustraliaAsiya Javayant NEGOTIATION
Silvio W ChuiSpainElwin Sharvill PROPOSAL
Octavia D CampainRussiaXuxue Feng UNQUALIFIED
Jefferson Z StensethGermanyAmy Elsner NEGOTIATION
Deepesh S PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Julie Y BologniaArgentinaElwin Sharvill NEW
Jennifer I MacleadAustraliaAmy Elsner NEW
Mujtaba E ShinkoBrazilAmy Elsner RENEWAL
Clifford W DilliardBrazilBernardo Dominic PROPOSAL
Claire T TollnerGermanyStephen Shaw PROPOSAL
Salvatore V SergiRussiaAnna Fali NEW
Maisha P GauchoJapanAnna Fali QUALIFIED
Sinclair F GarufiArgentinaAsiya Javayant NEGOTIATION
Ivar Q ChuiAustraliaAnna Fali UNQUALIFIED
Jennifer A DarakjyCanadaAnna Fali PROPOSAL
Darci N OldroydAustraliaAnna Fali PROPOSAL
Morrow A TollnerItalyAmy Elsner NEW
Misaki U ButtGermanyOnyama Limba NEGOTIATION
Clifford X SlusarskiGermanyOnyama Limba QUALIFIED
Rodrigues N SlusarskiSpainBernardo Dominic NEW
Juan D TollnerJapanAsiya Javayant UNQUALIFIED
Leja B SaylorsUnited KingdomXuxue Feng QUALIFIED
Antonio V OstroskyAustraliaAmy Elsner PROPOSAL
Murillo B RulapaughGermanyXuxue Feng RENEWAL
Jefferson T CampainSpainIvan Magalhaes QUALIFIED
Alejandro V ButtFranceElwin Sharvill NEGOTIATION
Leja H RulapaughArgentinaIoni Bowcher NEGOTIATION
Kadeem G ShinkoRussiaStephen Shaw RENEWAL
Aditya H RimUnited KingdomAmy Elsner PROPOSAL
Aruna E FollerAustraliaAsiya Javayant PROPOSAL
Salvatore Y BriddickUnited KingdomAsiya Javayant PROPOSAL
Jones I RoysterCanadaAnna Fali UNQUALIFIED
Aruna J DoeRussiaIoni Bowcher RENEWAL
Nicolas N DilliardFranceElwin Sharvill NEW
Jeanfrancois X BologniaAustraliaBernardo Dominic QUALIFIED
Isabel L OldroydArgentinaXuxue Feng UNQUALIFIED
Maria X OstroskySpainAsiya Javayant NEW

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