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
Juan X DarakjyJapanElwin Sharvill NEW
Maisha X FollerRussiaIvan Magalhaes UNQUALIFIED
Mayumi P DilliardSpainOnyama Limba NEGOTIATION
Claire Y MarrierGermanyStephen Shaw RENEWAL
Aika S ChuiAustraliaIvan Magalhaes QUALIFIED
Munro Z RutaGermanyBernardo Dominic NEGOTIATION
Octavia A MaletAustraliaElwin Sharvill NEW
Tony E VenereCanadaIoni Bowcher NEGOTIATION
Greenwood Z RulapaughItalyAsiya Javayant NEW
Francesco P KuskoGermanyStephen Shaw UNQUALIFIED
Faith N WaycottJapanOnyama Limba UNQUALIFIED
Maria P VocelkaRussiaAsiya Javayant UNQUALIFIED
James B VenereUnited KingdomIvan Magalhaes NEGOTIATION
Smith F GauchoBrazilStephen Shaw UNQUALIFIED
Tony O MaletArgentinaIoni Bowcher NEGOTIATION
Silvio A RutaGermanyElwin Sharvill QUALIFIED
Cody V GillianJapanElwin Sharvill UNQUALIFIED
Arvin E DarakjyItalyOnyama Limba QUALIFIED
Francesco Z AmigonFranceOnyama Limba UNQUALIFIED
Jeanfrancois J AlbaresArgentinaElwin Sharvill QUALIFIED
Aditya P OldroydJapanElwin Sharvill QUALIFIED
Nicolas U FerenczBrazilAnna Fali UNQUALIFIED
Murillo D InouyeAustraliaAmy Elsner NEW
Maria D TollnerFranceIvan Magalhaes NEW
Maria J KuskoAustraliaIoni Bowcher RENEWAL
Leja Z CaldareraCanadaOnyama Limba RENEWAL
Jefferson K MorascaIndiaAsiya Javayant QUALIFIED
Cody T OldroydAustraliaAsiya Javayant RENEWAL
Deepesh O CampainSpainAmy Elsner NEW
Rodrigues H MarrierArgentinaIoni Bowcher RENEWAL
Jeanfrancois K NickaSpainElwin Sharvill NEGOTIATION
Ricardo E RulapaughBrazilIoni Bowcher NEGOTIATION
Mayumi H TollnerArgentinaAsiya Javayant UNQUALIFIED
Tony V OldroydJapanXuxue Feng NEW
Aditya X RimFranceIvan Magalhaes QUALIFIED
Maisha T BologniaGermanyElwin Sharvill NEGOTIATION
Jefferson U BowleyCanadaIvan Magalhaes RENEWAL
Clifford A NickaIndiaIoni Bowcher QUALIFIED
Jones N MaletUnited KingdomElwin Sharvill NEGOTIATION
Tony U SlusarskiJapanIoni Bowcher NEGOTIATION
Juan R FerenczAustraliaBernardo Dominic QUALIFIED
Nicolas D FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Maisha G MorascaArgentinaXuxue Feng QUALIFIED
Stacey E WhobreyArgentinaBernardo Dominic UNQUALIFIED
Misaki E AmigonCanadaXuxue Feng QUALIFIED
Nicolas W DarakjyCanadaXuxue Feng QUALIFIED
Nicolas O NestleSpainOnyama Limba NEGOTIATION
Mayumi P PerinAustraliaBernardo Dominic UNQUALIFIED
Darci A RutaJapanIvan Magalhaes UNQUALIFIED
Alejandro Y InouyeCanadaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia F SlusarskiRussiaOnyama Limba NEW
Francesco Q MacleadSpainOnyama Limba NEGOTIATION
Francesco J RoysterFranceIvan Magalhaes NEGOTIATION
Emily A GauchoIndiaIvan Magalhaes RENEWAL
Morrow K OstroskyAustraliaAmy Elsner NEGOTIATION
Aruna K StensethJapanIoni Bowcher QUALIFIED
Sinclair Y StensethJapanAmy Elsner PROPOSAL
Aditya J KolmetzUnited KingdomIvan Magalhaes RENEWAL
Tony K GauchoArgentinaElwin Sharvill UNQUALIFIED
Ivar K VocelkaAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh K WaycottRussia2024-06-10Feiner Bros NEW95Onyama Limba
1001Jennifer L GillianBrazil2024-06-16Buckley Miller Wright QUALIFIED95Ivan Magalhaes
1002Leja S NestleIndia2024-06-20King, Christopher A Esq QUALIFIED67Elwin Sharvill
1003Juan S OldroydItaly2024-06-22Morlong Associates QUALIFIED68Asiya Javayant
1004Arvin N FigeroaRussia2024-06-07Feiner Bros PROPOSAL65Amy Elsner
1005Costa H GillianAustralia2024-06-20Rangoni Of Florence PROPOSAL64Anna Fali
1006Greenwood O WieserUnited Kingdom2024-05-27Rangoni Of Florence NEGOTIATION57Ioni Bowcher
1007Stacey D FollerAustralia2024-06-13Chanay, Jeffrey A Esq NEW91Asiya Javayant
1008Juan L FollerArgentina2024-05-31Morlong Associates NEW8Ioni Bowcher
1009Jeanfrancois E FlosiArgentina2024-06-16Chemel, James L Cpa NEGOTIATION44Amy Elsner
1010Cody B WaycottArgentina2024-06-02Feiner Bros NEGOTIATION24Bernardo Dominic
1011Izzy O RutaSpain2024-06-03Feltz Printing Service NEW86Stephen Shaw
1012David G OstroskyUnited Kingdom2024-06-05Rangoni Of Florence NEGOTIATION30Ivan Magalhaes
1013Francesco E KolmetzBrazil2024-06-03Rousseaux, Michael Esq UNQUALIFIED57Ivan Magalhaes
1014Faith I MaletFrance2024-06-06Chapman, Ross E Esq QUALIFIED97Onyama Limba
1015Leja F RulapaughArgentina2024-05-29Dorl, James J Esq NEGOTIATION85Xuxue Feng
1016Sinclair K DoeGermany2024-05-29Feiner Bros NEGOTIATION32Amy Elsner
1017Maria C KolmetzItaly2024-06-13Commercial Press NEW10Ivan Magalhaes
1018Munro K CampainSpain2024-06-14Morlong Associates RENEWAL34Stephen Shaw
1019Jones U MacleadJapan2024-06-05Rangoni Of Florence UNQUALIFIED98Xuxue Feng
1020Smith M GlickJapan2024-06-17Feltz Printing Service QUALIFIED64Anna Fali
1021Mujtaba R BowleyAustralia2024-06-21Chapman, Ross E Esq PROPOSAL25Stephen Shaw
1022Tony Q OldroydItaly2024-05-31Feltz Printing Service RENEWAL67Amy Elsner
1023Ricardo Q SergiItaly2024-06-16Dorl, James J Esq NEW89Ioni Bowcher
1024Morrow A MaletItaly2024-06-14Truhlar And Truhlar Attys PROPOSAL65Elwin Sharvill
1025Chavez Z RulapaughSpain2024-06-19Commercial Press NEGOTIATION0Elwin Sharvill
1026Johnson M KuskoUnited Kingdom2024-06-14Buckley Miller Wright NEGOTIATION81Onyama Limba
1027Kaitlin J GlickItaly2024-06-17Printing Dimensions NEGOTIATION51Anna Fali
1028Leon P GlickFrance2024-06-21Feltz Printing Service NEW17Anna Fali
1029Emily J FigeroaIndia2024-06-04King, Christopher A Esq NEW96Asiya Javayant
1030Cody A FigeroaIndia2024-05-26Printing Dimensions RENEWAL36Xuxue Feng
1031Antonio V PoquetteUnited Kingdom2024-06-10Feiner Bros PROPOSAL83Xuxue Feng
1032Mujtaba Z RutaCanada2024-06-22Rousseaux, Michael Esq NEW54Stephen Shaw
1033Jones V VenereRussia2024-05-30Feiner Bros NEGOTIATION15Onyama Limba
1034Aika O KolmetzUnited Kingdom2024-06-18Printing Dimensions QUALIFIED62Onyama Limba
1035Murillo Y FerenczRussia2024-05-28Feltz Printing Service RENEWAL67Bernardo Dominic
1036Munro E GarufiUnited Kingdom2024-06-03Dorl, James J Esq NEW1Elwin Sharvill
1037Wickens P AmigonBrazil2024-06-11Benton, John B Jr PROPOSAL46Stephen Shaw
1038Maisha V PoquetteCanada2024-06-04Rousseaux, Michael Esq UNQUALIFIED50Xuxue Feng
1039Jennifer Z CaldareraGermany2024-06-01Morlong Associates NEGOTIATION73Stephen Shaw
1040Kadeem N PerinItaly2024-06-12Benton, John B Jr NEGOTIATION17Ioni Bowcher
1041Adams S MaletAustralia2024-06-03Benton, John B Jr PROPOSAL31Asiya Javayant
1042Ricardo R GarufiJapan2024-06-08Printing Dimensions NEW56Asiya Javayant
1043Morrow F WieserGermany2024-06-06Truhlar And Truhlar Attys NEGOTIATION72Bernardo Dominic
1044Smith F CaudyUnited Kingdom2024-06-14King, Christopher A Esq UNQUALIFIED19Elwin Sharvill
1045Rodrigues V GauchoSpain2024-06-10Truhlar And Truhlar Attys NEW4Stephen Shaw
1046Clifford N WhobreyAustralia2024-06-06Buckley Miller Wright UNQUALIFIED7Xuxue Feng
1047Emily A KolmetzRussia2024-05-26Dorl, James J Esq NEW6Asiya Javayant
1048Kadeem V MorascaItaly2024-06-07Morlong Associates UNQUALIFIED56Bernardo Dominic
1049Ivar B AlbaresSpain2024-06-10Rousseaux, Michael Esq PROPOSAL10Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ivar X ShinkoAustraliaAnna Fali RENEWAL
Jones H MacleadItalyAnna Fali NEGOTIATION
Emily Q IturbideFranceElwin Sharvill QUALIFIED
Claire R RutaCanadaElwin Sharvill QUALIFIED
Misaki T InouyeRussiaIvan Magalhaes UNQUALIFIED
Julie N OldroydAustraliaAnna Fali UNQUALIFIED
Octavia T VocelkaArgentinaIoni Bowcher NEW
Munro S StensethItalyIvan Magalhaes UNQUALIFIED
Mayumi V CampainAustraliaElwin Sharvill NEW
James P MacleadBrazilElwin Sharvill RENEWAL
Sinclair W WaycottRussiaXuxue Feng PROPOSAL
Salvatore T OldroydFranceOnyama Limba NEGOTIATION
Emily R DarakjyGermanyIoni Bowcher NEW
Antonio P AlbaresCanadaIoni Bowcher UNQUALIFIED
David V DilliardUnited KingdomIvan Magalhaes PROPOSAL
Francesco I FollerIndiaStephen Shaw RENEWAL
Arvin Y SlusarskiArgentinaIoni Bowcher QUALIFIED
Emily J RutaIndiaAmy Elsner RENEWAL
Costa M PoquetteAustraliaStephen Shaw PROPOSAL
Ricardo U VocelkaItalyIoni Bowcher PROPOSAL
Isabel N ChuiCanadaAnna Fali NEGOTIATION
Costa A VocelkaJapanOnyama Limba UNQUALIFIED
Antonio N IturbideUnited KingdomAmy Elsner QUALIFIED
Izzy S FigeroaBrazilAnna Fali NEGOTIATION
Kadeem D WhobreyAustraliaAnna Fali RENEWAL
Faith H NickaGermanyIvan Magalhaes RENEWAL
Isabel V NestleJapanAsiya Javayant RENEWAL
Maisha Z KolmetzIndiaAmy Elsner QUALIFIED
Sinclair V AlbaresUnited KingdomStephen Shaw PROPOSAL
David V SlusarskiRussiaBernardo Dominic QUALIFIED
Mujtaba Z CaldareraRussiaStephen Shaw UNQUALIFIED
Francesco I InouyeUnited KingdomAsiya Javayant NEGOTIATION
Tony V PaprockiArgentinaElwin Sharvill UNQUALIFIED
Darci R BowleySpainAnna Fali QUALIFIED
Leja O IturbideSpainIvan Magalhaes UNQUALIFIED
Murillo H StockhamJapanXuxue Feng NEW
Misaki P CaudyAustraliaAmy Elsner NEW
Deepesh S CaldareraSpainAsiya Javayant RENEWAL
Chavez S AmigonArgentinaAmy Elsner NEGOTIATION
Aruna B RutaAustraliaBernardo Dominic QUALIFIED
Nicolas Y RimAustraliaStephen Shaw RENEWAL
Smith S BriddickJapanElwin Sharvill RENEWAL
Aika N VenereBrazilBernardo Dominic UNQUALIFIED
Arvin W GlickJapanStephen Shaw QUALIFIED
Octavia Y GlickAustraliaAnna Fali NEW
Isabel U GarufiCanadaXuxue Feng QUALIFIED
Aika Z BologniaGermanyIvan Magalhaes QUALIFIED
Jones H OstroskyItalyStephen Shaw QUALIFIED
Nicolas L StensethRussiaAsiya Javayant QUALIFIED
Octavia S GlickSpainBernardo Dominic QUALIFIED
Frozen Columns
Name
Leja G Nicka
Faith N Doe
Antonio M Venere
Aruna M Poquette
Tony X Perin
Kadeem D Tollner
Murillo H Morasca
Johnson R Garufi
Aruna I Amigon
Mujtaba Z Stenseth
Ashley R Rim
Francesco U Malet
Nicolas O Bolognia
Munro F Caudy
Stacey T Briddick
Leja H Chui
Emily N Butt
Smith P Maclead
Juan B Tollner
Arvin A Nestle
Ashley E Doe
Salvatore H Malet
Izzy R Poquette
Mayumi Y Whobrey
Jones F Gaucho
Leon C Rim
Ivar K Nestle
Stacey B Venere
Jefferson M Nestle
Murillo S Gaucho
Jennifer G Oldroyd
Izzy I Flosi
Jefferson S Poquette
Isabel B Wieser
Smith T Tollner
Aditya T Schemmer
Greenwood P Chui
Tony D Maclead
Greenwood Y Figeroa
Isabel N Gillian
Aika N Perin
Emily L Dilliard
Izzy W Glick
Chavez M Caldarera
Costa C Figeroa
Rodrigues D Albares
Nicolas E Butt
Jefferson B Kolmetz
Mujtaba L Schemmer
Wickens G Bolognia
IdCountryDate
1000Russia2024-05-30
1001Australia2024-05-30
1002Russia2024-06-07
1003Italy2024-05-30
1004Brazil2024-05-28
1005Spain2024-06-02
1006Canada2024-06-14
1007Brazil2024-06-19
1008Russia2024-05-24
1009Japan2024-05-29
1010Spain2024-06-10
1011Australia2024-05-29
1012Japan2024-06-15
1013Argentina2024-06-07
1014Russia2024-05-27
1015Spain2024-06-20
1016France2024-06-20
1017Brazil2024-06-02
1018Spain2024-06-09
1019Canada2024-06-04
1020Australia2024-05-29
1021Italy2024-05-25
1022Canada2024-06-14
1023Germany2024-05-27
1024Germany2024-05-28
1025Brazil2024-06-03
1026Japan2024-06-19
1027Argentina2024-06-06
1028Canada2024-05-31
1029Italy2024-06-02
1030Japan2024-06-19
1031Italy2024-06-11
1032Germany2024-06-06
1033Russia2024-06-12
1034Russia2024-06-12
1035India2024-05-24
1036France2024-06-08
1037India2024-06-10
1038Spain2024-06-14
1039Canada2024-05-26
1040Spain2024-06-03
1041Germany2024-06-07
1042United Kingdom2024-06-08
1043Argentina2024-05-27
1044Japan2024-06-07
1045Argentina2024-05-31
1046Russia2024-05-27
1047Italy2024-06-16
1048Canada2024-06-10
1049Italy2024-06-17

On-Demand Data

NameIdCountryDate
Cody F Morasca1000Russia2024-05-31
Nicolas Q Morasca1001Brazil2024-06-21
Sinclair E Kusko1002Australia2024-06-15
Ricardo M Whobrey1003United Kingdom2024-06-16
Munro F Nicka1004Australia2024-06-14
Jennifer G Inouye1005France2024-05-31
Isabel R Caldarera1006United Kingdom2024-05-26
Costa U Bolognia1007Canada2024-06-11
Claire V Marrier1008Argentina2024-05-24
Isabel D Dilliard1009India2024-06-10
Silvio S Rim1010Brazil2024-05-28
Faith L Amigon1011France2024-06-12
Costa C Perin1012Russia2024-06-13
Kadeem J Briddick1013Argentina2024-05-26
David Q Vocelka1014Australia2024-06-13
Sinclair A Malet1015Russia2024-06-10
Kaitlin P Malet1016Canada2024-06-14
Morrow C Slusarski1017Germany2024-06-06
Leon V Saylors1018Argentina2024-06-10
Johnson U Darakjy1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin K OldroydUnited KingdomXuxue Feng RENEWAL
Jeanfrancois P WaycottAustraliaBernardo Dominic RENEWAL
Faith E AlbaresIndiaBernardo Dominic UNQUALIFIED
Tony V RulapaughAustraliaIvan Magalhaes NEGOTIATION
Costa X ShinkoIndiaOnyama Limba RENEWAL
Leon C WhobreyGermanyBernardo Dominic RENEWAL
Jefferson J NestleItalyAnna Fali QUALIFIED
Morrow E CampainCanadaIoni Bowcher NEW
Tony M FollerSpainAsiya Javayant UNQUALIFIED
Nicolas E MaletCanadaAmy Elsner QUALIFIED
Izzy Q WaycottBrazilAsiya Javayant QUALIFIED
Juan V VenereItalyIoni Bowcher NEGOTIATION
Adams A IturbideFranceIvan Magalhaes PROPOSAL
Murillo V AmigonArgentinaIoni Bowcher NEW
Ivar R AmigonIndiaAsiya Javayant UNQUALIFIED
Cody K NestleBrazilStephen Shaw NEW
Juan P GillianUnited KingdomAnna Fali NEGOTIATION
Ivar H MacleadAustraliaAnna Fali NEGOTIATION
Nicolas X OstroskyCanadaAsiya Javayant RENEWAL
Aruna D DoeIndiaAsiya Javayant NEW
Adams U CampainGermanyIvan Magalhaes PROPOSAL
Ivar O BriddickFranceAmy Elsner PROPOSAL
Adams N CaldareraCanadaAsiya Javayant QUALIFIED
Costa Y CaudyIndiaAmy Elsner PROPOSAL
Deepesh O PaprockiAustraliaIoni Bowcher PROPOSAL
Mujtaba H PoquetteJapanIvan Magalhaes NEGOTIATION
Arvin B FollerFranceAsiya Javayant RENEWAL
Nicolas K AlbaresGermanyStephen Shaw UNQUALIFIED
Cody C FerenczFranceBernardo Dominic NEGOTIATION
Johnson X NickaItalyElwin Sharvill QUALIFIED
Jennifer T ChuiIndiaOnyama Limba NEW
Silvio V RoysterSpainStephen Shaw QUALIFIED
Alejandro T AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh C CaldareraCanadaAsiya Javayant RENEWAL
Francesco S FlosiItalyAmy Elsner QUALIFIED
Murillo Z BowleySpainAsiya Javayant RENEWAL
Adams K NickaCanadaIoni Bowcher RENEWAL
Cody E RimUnited KingdomAmy Elsner NEGOTIATION
Murillo F MarrierGermanyAmy Elsner QUALIFIED
Leon I RimFranceOnyama Limba UNQUALIFIED

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