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
David A CampainArgentinaIoni Bowcher NEW
Deepesh P RoysterCanadaIvan Magalhaes UNQUALIFIED
Isabel O VocelkaBrazilAnna Fali RENEWAL
Emily N FlosiFranceIvan Magalhaes RENEWAL
Julie F WaycottCanadaStephen Shaw QUALIFIED
Munro X ButtFranceOnyama Limba QUALIFIED
Jennifer G RutaRussiaIvan Magalhaes NEGOTIATION
Alejandro N ShinkoArgentinaXuxue Feng UNQUALIFIED
Rodrigues R MarrierArgentinaIoni Bowcher QUALIFIED
Antonio N KolmetzIndiaAsiya Javayant QUALIFIED
Adams E DarakjyAustraliaIvan Magalhaes NEGOTIATION
Francesco G RutaIndiaElwin Sharvill NEW
Murillo C CaudyBrazilIoni Bowcher NEW
Octavia S ShinkoBrazilElwin Sharvill QUALIFIED
Alejandro M VenereFranceAmy Elsner NEGOTIATION
Antonio Q MarrierBrazilAmy Elsner QUALIFIED
Costa J ButtFranceBernardo Dominic QUALIFIED
Leja W StockhamGermanyBernardo Dominic PROPOSAL
Francesco Q RulapaughGermanyBernardo Dominic NEGOTIATION
Octavia V RimCanadaBernardo Dominic UNQUALIFIED
Ricardo M WieserRussiaAmy Elsner RENEWAL
Greenwood V FigeroaJapanBernardo Dominic UNQUALIFIED
Kaitlin I MorascaFranceElwin Sharvill PROPOSAL
Nicolas A DarakjyRussiaBernardo Dominic QUALIFIED
Ivar X CaudyArgentinaBernardo Dominic UNQUALIFIED
Ashley V RimFranceAsiya Javayant NEW
Misaki T DarakjyArgentinaAsiya Javayant NEW
Morrow G SchemmerFranceIvan Magalhaes QUALIFIED
Jeanfrancois U MorascaUnited KingdomStephen Shaw NEW
Jennifer C VocelkaItalyAnna Fali PROPOSAL
Francesco L BologniaItalyStephen Shaw PROPOSAL
Wickens A BowleyBrazilAsiya Javayant QUALIFIED
Emily P GarufiItalyOnyama Limba QUALIFIED
Deepesh K DoeUnited KingdomAmy Elsner NEW
James W AlbaresCanadaBernardo Dominic QUALIFIED
Cody Q ShinkoCanadaAnna Fali NEGOTIATION
Leon R RimCanadaAmy Elsner RENEWAL
Jefferson X OldroydIndiaIvan Magalhaes RENEWAL
Aruna N RutaCanadaAsiya Javayant NEW
Clifford D GillianItalyIvan Magalhaes PROPOSAL
Mayumi N DilliardRussiaXuxue Feng PROPOSAL
Juan N IturbideBrazilElwin Sharvill NEW
Darci J GauchoItalyStephen Shaw RENEWAL
Smith J OstroskyIndiaAnna Fali NEW
Aruna J PoquetteBrazilIoni Bowcher NEW
Costa I TollnerItalyIvan Magalhaes NEW
Francesco R GillianItalyOnyama Limba QUALIFIED
Julie X BowleyCanadaStephen Shaw NEW
Smith A AlbaresGermanyStephen Shaw PROPOSAL
Murillo X VenereAustraliaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois U CampainRussiaAmy Elsner NEGOTIATION
Nicolas H SaylorsJapanElwin Sharvill PROPOSAL
Aditya G MaletIndiaAnna Fali NEGOTIATION
Costa A RutaGermanyStephen Shaw RENEWAL
Tony W StockhamCanadaAmy Elsner NEW
Ricardo T TollnerRussiaOnyama Limba PROPOSAL
Greenwood I NickaCanadaAnna Fali NEGOTIATION
Leja B AlbaresItalyAmy Elsner NEW
Julie D BowleyIndiaAsiya Javayant UNQUALIFIED
Chavez M GarufiFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas H StensethUnited Kingdom2024-05-29Feiner Bros UNQUALIFIED44Ivan Magalhaes
1001Jefferson A GarufiArgentina2024-05-30King, Christopher A Esq NEGOTIATION99Amy Elsner
1002Leja E AlbaresItaly2024-05-29Benton, John B Jr NEGOTIATION42Stephen Shaw
1003Antonio V CaldareraCanada2024-05-26Feiner Bros NEGOTIATION88Ivan Magalhaes
1004Munro Q WaycottRussia2024-06-20Buckley Miller Wright NEW44Ioni Bowcher
1005Smith J MaletUnited Kingdom2024-06-18Feiner Bros RENEWAL1Xuxue Feng
1006Julie Q GlickIndia2024-06-04Printing Dimensions UNQUALIFIED34Elwin Sharvill
1007Salvatore M ShinkoIndia2024-05-24Commercial Press QUALIFIED2Stephen Shaw
1008Smith J CaldareraArgentina2024-06-01Rousseaux, Michael Esq RENEWAL36Elwin Sharvill
1009Deepesh D DarakjyBrazil2024-05-28Printing Dimensions QUALIFIED57Bernardo Dominic
1010Cody L SaylorsIndia2024-06-12King, Christopher A Esq UNQUALIFIED92Ivan Magalhaes
1011Francesco U AmigonUnited Kingdom2024-06-08Truhlar And Truhlar Attys UNQUALIFIED54Bernardo Dominic
1012James N OstroskyAustralia2024-06-19Feiner Bros NEGOTIATION31Asiya Javayant
1013Johnson N PaprockiArgentina2024-06-01Printing Dimensions RENEWAL45Xuxue Feng
1014Leja Q ChuiCanada2024-06-17Chapman, Ross E Esq PROPOSAL14Ivan Magalhaes
1015Mayumi N TollnerUnited Kingdom2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED6Stephen Shaw
1016Wickens I VenereBrazil2024-06-17Dorl, James J Esq RENEWAL32Ioni Bowcher
1017Mayumi C NestleJapan2024-06-20Chapman, Ross E Esq QUALIFIED62Asiya Javayant
1018Antonio A ButtUnited Kingdom2024-05-24Commercial Press PROPOSAL4Asiya Javayant
1019Antonio Q GarufiFrance2024-06-05King, Christopher A Esq NEW86Bernardo Dominic
1020Isabel G RutaArgentina2024-06-03Buckley Miller Wright RENEWAL18Amy Elsner
1021Murillo H IturbideIndia2024-06-15Buckley Miller Wright QUALIFIED15Bernardo Dominic
1022Antonio E NickaGermany2024-05-25Chanay, Jeffrey A Esq RENEWAL36Asiya Javayant
1023Salvatore N BologniaFrance2024-06-05Truhlar And Truhlar Attys NEW9Bernardo Dominic
1024Misaki U DilliardSpain2024-06-13Chanay, Jeffrey A Esq NEW35Amy Elsner
1025Antonio X BriddickArgentina2024-06-19Rousseaux, Michael Esq PROPOSAL23Anna Fali
1026Mujtaba I StensethRussia2024-06-15Morlong Associates PROPOSAL73Amy Elsner
1027Jefferson P FerenczCanada2024-06-16Chanay, Jeffrey A Esq NEGOTIATION27Stephen Shaw
1028Maisha V OldroydFrance2024-05-24Rousseaux, Michael Esq QUALIFIED64Elwin Sharvill
1029Maisha E DarakjySpain2024-06-22Feiner Bros QUALIFIED27Elwin Sharvill
1030Ricardo H StockhamItaly2024-06-16Commercial Press NEW88Amy Elsner
1031Smith P WhobreyAustralia2024-06-10Rangoni Of Florence QUALIFIED45Elwin Sharvill
1032James F GlickSpain2024-06-22Rousseaux, Michael Esq PROPOSAL29Xuxue Feng
1033Nicolas P BowleySpain2024-06-20Chapman, Ross E Esq QUALIFIED19Xuxue Feng
1034Costa G MaletBrazil2024-06-05Printing Dimensions UNQUALIFIED87Elwin Sharvill
1035Maisha Z OldroydGermany2024-06-04Feltz Printing Service NEW66Ioni Bowcher
1036Darci W ButtItaly2024-06-21Commercial Press QUALIFIED74Anna Fali
1037Johnson Q WaycottJapan2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED74Onyama Limba
1038Ricardo Q RutaIndia2024-06-04Truhlar And Truhlar Attys NEW65Stephen Shaw
1039Jefferson H OldroydUnited Kingdom2024-05-28Truhlar And Truhlar Attys PROPOSAL71Amy Elsner
1040Darci F ChuiIndia2024-06-11Buckley Miller Wright UNQUALIFIED61Ivan Magalhaes
1041Mayumi V SaylorsItaly2024-06-13Feltz Printing Service UNQUALIFIED12Xuxue Feng
1042Kadeem N NickaSpain2024-06-03Feiner Bros NEW60Asiya Javayant
1043Jefferson W AmigonRussia2024-05-30King, Christopher A Esq PROPOSAL17Amy Elsner
1044Clifford K ShinkoJapan2024-05-29Dorl, James J Esq NEGOTIATION8Bernardo Dominic
1045Alejandro I DoeItaly2024-06-14Feltz Printing Service PROPOSAL27Asiya Javayant
1046Smith G WaycottBrazil2024-06-13Feiner Bros PROPOSAL97Elwin Sharvill
1047Costa O AlbaresRussia2024-05-29Commercial Press RENEWAL56Bernardo Dominic
1048Adams J RoysterIndia2024-05-30Chapman, Ross E Esq NEGOTIATION27Bernardo Dominic
1049Emily P NestleJapan2024-05-31Feiner Bros NEW67Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba S CampainUnited KingdomIvan Magalhaes QUALIFIED
Kadeem X GillianArgentinaOnyama Limba NEGOTIATION
Misaki S CampainBrazilAnna Fali PROPOSAL
James C FigeroaItalyBernardo Dominic QUALIFIED
Johnson X VenereSpainXuxue Feng NEW
Murillo N FigeroaBrazilElwin Sharvill QUALIFIED
Arvin Q RulapaughAustraliaBernardo Dominic NEW
Faith H CaldareraJapanAnna Fali QUALIFIED
Ashley U WhobreySpainOnyama Limba PROPOSAL
Francesco O InouyeCanadaBernardo Dominic NEW
Wickens I MaletJapanOnyama Limba PROPOSAL
Tony U AlbaresSpainOnyama Limba UNQUALIFIED
Octavia M CaudyIndiaAmy Elsner NEGOTIATION
Salvatore L RulapaughSpainElwin Sharvill PROPOSAL
Izzy U FigeroaCanadaBernardo Dominic NEW
Ivar O RulapaughUnited KingdomAnna Fali UNQUALIFIED
Leja B KuskoSpainIvan Magalhaes NEGOTIATION
Maria K RulapaughArgentinaIoni Bowcher RENEWAL
Costa X ChuiBrazilOnyama Limba UNQUALIFIED
Misaki H CampainRussiaAnna Fali NEW
Francesco N RulapaughItalyOnyama Limba QUALIFIED
Alejandro W CaudySpainAnna Fali NEGOTIATION
Ashley L InouyeFranceStephen Shaw UNQUALIFIED
Johnson S CaldareraJapanOnyama Limba PROPOSAL
Smith N MaletIndiaElwin Sharvill NEGOTIATION
Misaki F DarakjyFranceStephen Shaw RENEWAL
Maria C SlusarskiItalyAsiya Javayant NEW
Octavia B SergiRussiaStephen Shaw PROPOSAL
Munro N OldroydRussiaAmy Elsner UNQUALIFIED
Jones E NestleJapanIvan Magalhaes QUALIFIED
Kadeem Z FigeroaCanadaXuxue Feng PROPOSAL
Ricardo I PaprockiGermanyOnyama Limba UNQUALIFIED
Emily O MaletBrazilStephen Shaw UNQUALIFIED
Rodrigues V PoquetteSpainAsiya Javayant PROPOSAL
Wickens Y WaycottRussiaOnyama Limba NEW
Ivar Q KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore A ShinkoFranceElwin Sharvill NEGOTIATION
Leon G AlbaresJapanOnyama Limba PROPOSAL
Chavez C CampainArgentinaAmy Elsner RENEWAL
Rodrigues P BologniaGermanyElwin Sharvill RENEWAL
Stacey K BologniaArgentinaStephen Shaw NEW
Nicolas V RutaUnited KingdomAnna Fali NEGOTIATION
Adams Q AmigonRussiaIvan Magalhaes NEW
Stacey E AmigonUnited KingdomXuxue Feng NEW
Mayumi I BriddickArgentinaAmy Elsner NEW
Francesco F PaprockiSpainIvan Magalhaes NEGOTIATION
Arvin E KuskoItalyElwin Sharvill RENEWAL
Chavez U TollnerFranceAnna Fali UNQUALIFIED
Isabel F GillianItalyStephen Shaw NEW
Deepesh D FigeroaItalyAmy Elsner UNQUALIFIED
Frozen Columns
Name
Misaki M Campain
Morrow F Briddick
Rodrigues M Darakjy
Silvio T Bolognia
Salvatore V Royster
Kaitlin K Vocelka
Ricardo U Venere
Tony K Iturbide
Leon Z Gillian
Salvatore N Rulapaugh
Arvin Y Garufi
Maria E Darakjy
Ivar D Poquette
Sinclair G Iturbide
Aika J Bowley
Jones S Briddick
Maisha C Iturbide
David L Flosi
Jones Y Venere
Ashley W Caldarera
Ricardo V Maclead
Kaitlin E Venere
Leja D Oldroyd
Jennifer W Dilliard
David X Iturbide
Francesco T Paprocki
Kaitlin K Dilliard
Murillo P Campain
Ivar X Albares
Stacey L Darakjy
Rodrigues F Darakjy
Chavez D Briddick
Ricardo Z Perin
Maria I Morasca
Ricardo M Venere
Darci K Wieser
Mujtaba J Maclead
Izzy F Rim
Maisha W Malet
Tony N Oldroyd
Claire C Kusko
Izzy M Kusko
Clifford H Wieser
Clifford J Stockham
Isabel L Foller
Johnson F Wieser
Aruna I Gaucho
Juan D Foller
Antonio A Poquette
Sinclair K Waycott
IdCountryDate
1000Brazil2024-06-19
1001France2024-06-09
1002Spain2024-06-13
1003Russia2024-06-11
1004Australia2024-06-17
1005Spain2024-06-02
1006Brazil2024-06-19
1007Germany2024-06-04
1008Russia2024-06-04
1009Canada2024-06-14
1010Australia2024-05-26
1011Australia2024-06-06
1012Argentina2024-06-03
1013Brazil2024-06-21
1014Italy2024-06-01
1015Argentina2024-06-10
1016France2024-06-13
1017Russia2024-06-09
1018India2024-06-22
1019India2024-05-31
1020Japan2024-06-18
1021France2024-06-07
1022Italy2024-06-05
1023India2024-05-29
1024Australia2024-06-19
1025Japan2024-06-20
1026Australia2024-06-18
1027Australia2024-06-03
1028Australia2024-06-13
1029Brazil2024-06-15
1030United Kingdom2024-06-13
1031India2024-06-13
1032France2024-05-26
1033Canada2024-06-19
1034Germany2024-06-11
1035Australia2024-06-06
1036Australia2024-05-29
1037Italy2024-05-29
1038Russia2024-06-18
1039France2024-05-28
1040United Kingdom2024-06-03
1041Australia2024-06-14
1042Argentina2024-06-16
1043France2024-05-24
1044Italy2024-05-27
1045Russia2024-05-27
1046Spain2024-06-13
1047Japan2024-06-18
1048Germany2024-06-04
1049Russia2024-06-05

On-Demand Data

NameIdCountryDate
Kaitlin R Wieser1000Australia2024-06-09
Costa L Morasca1001Spain2024-06-14
Adams V Venere1002Germany2024-06-07
Chavez M Nestle1003Russia2024-05-29
Leja T Ruta1004Argentina2024-06-10
Kadeem Z Darakjy1005India2024-05-25
Emily I Perin1006Canada2024-05-28
Ricardo J Figeroa1007Italy2024-06-09
Leja U Gaucho1008Spain2024-06-10
Emily Y Inouye1009Italy2024-05-27
Francesco Z Ostrosky1010Argentina2024-06-11
Leon O Amigon1011United Kingdom2024-06-09
Julie B Garufi1012Russia2024-06-16
Mayumi R Amigon1013Australia2024-05-26
Ashley F Briddick1014Brazil2024-05-31
Chavez A Perin1015Brazil2024-06-10
Leon J Garufi1016Argentina2024-06-19
Rodrigues X Stenseth1017Italy2024-06-06
Cody N Shinko1018Canada2024-06-22
Emily H Bolognia1019Australia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues H KolmetzRussiaIvan Magalhaes RENEWAL
Juan W BriddickArgentinaXuxue Feng NEW
Cody Q AmigonSpainAsiya Javayant RENEWAL
Emily R CampainUnited KingdomAnna Fali PROPOSAL
Aditya G MaletIndiaBernardo Dominic UNQUALIFIED
Cody T GauchoAustraliaAsiya Javayant NEGOTIATION
Darci O MacleadUnited KingdomXuxue Feng NEGOTIATION
Leja P OstroskyItalyElwin Sharvill QUALIFIED
Claire O WaycottJapanXuxue Feng QUALIFIED
Costa I PerinIndiaIoni Bowcher NEW
Maisha Z StensethAustraliaAmy Elsner QUALIFIED
Jeanfrancois L VenereBrazilIvan Magalhaes NEGOTIATION
Jefferson Z FerenczCanadaIoni Bowcher NEGOTIATION
Wickens O NestleJapanOnyama Limba PROPOSAL
Claire X MacleadGermanyIvan Magalhaes UNQUALIFIED
Ashley Y MaletIndiaElwin Sharvill PROPOSAL
Izzy J FerenczArgentinaIvan Magalhaes RENEWAL
Francesco M ChuiSpainAmy Elsner QUALIFIED
Mayumi P BologniaUnited KingdomBernardo Dominic PROPOSAL
Ashley Z NickaIndiaStephen Shaw PROPOSAL
Clifford D MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Morrow K MacleadBrazilOnyama Limba NEGOTIATION
Stacey L RutaCanadaXuxue Feng QUALIFIED
Kadeem X RulapaughRussiaXuxue Feng PROPOSAL
Leja X BologniaIndiaOnyama Limba PROPOSAL
Antonio U StensethAustraliaAsiya Javayant QUALIFIED
Emily N SlusarskiAustraliaAnna Fali RENEWAL
Emily Y GauchoAustraliaOnyama Limba NEGOTIATION
David N RoysterFranceIvan Magalhaes RENEWAL
Ashley C InouyeJapanIoni Bowcher RENEWAL
Greenwood N FigeroaRussiaStephen Shaw QUALIFIED
Costa T SergiCanadaAnna Fali UNQUALIFIED
Sinclair O BologniaFranceAmy Elsner PROPOSAL
Alejandro R TollnerGermanyStephen Shaw NEW
Kaitlin Q SchemmerAustraliaIvan Magalhaes RENEWAL
Isabel F VocelkaIndiaAmy Elsner UNQUALIFIED
Costa O DilliardSpainXuxue Feng NEW
Costa Q TollnerArgentinaOnyama Limba NEW
Mayumi M GarufiUnited KingdomXuxue Feng NEW
Cody J PoquetteBrazilIoni Bowcher 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>