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 J CaudyRussiaStephen Shaw QUALIFIED
Octavia V SlusarskiGermanyAsiya Javayant NEGOTIATION
Johnson I ChuiCanadaIoni Bowcher NEW
James O CaudyItalyAmy Elsner QUALIFIED
Leon Y SergiCanadaBernardo Dominic QUALIFIED
Leon F CaldareraSpainStephen Shaw RENEWAL
Silvio X NestleRussiaAsiya Javayant QUALIFIED
Claire O IturbideArgentinaElwin Sharvill NEW
Kadeem I RimSpainAnna Fali QUALIFIED
Octavia R GlickUnited KingdomAmy Elsner RENEWAL
Juan S SchemmerArgentinaStephen Shaw RENEWAL
Silvio W DarakjyItalyElwin Sharvill RENEWAL
Jones G StockhamGermanyAsiya Javayant NEGOTIATION
Sinclair E SlusarskiUnited KingdomAmy Elsner RENEWAL
Sinclair W NickaJapanAmy Elsner UNQUALIFIED
Rodrigues U AmigonGermanyBernardo Dominic NEW
Leja A FlosiBrazilAsiya Javayant QUALIFIED
Alejandro V NickaRussiaAnna Fali NEGOTIATION
Stacey G GlickRussiaBernardo Dominic NEW
Greenwood B BowleyRussiaXuxue Feng PROPOSAL
Misaki D ShinkoGermanyStephen Shaw NEW
Darci T MacleadItalyOnyama Limba NEW
Adams J BologniaBrazilAmy Elsner PROPOSAL
Aika G ChuiAustraliaAnna Fali UNQUALIFIED
Tony V ButtAustraliaElwin Sharvill QUALIFIED
Cody V CaudyUnited KingdomIvan Magalhaes NEW
Jeanfrancois V BriddickFranceAsiya Javayant PROPOSAL
Emily W KuskoRussiaIvan Magalhaes PROPOSAL
Adams U SaylorsIndiaElwin Sharvill NEW
Ivar D WieserAustraliaIoni Bowcher PROPOSAL
Izzy I MarrierCanadaElwin Sharvill UNQUALIFIED
Sinclair D MorascaSpainIoni Bowcher PROPOSAL
Stacey H InouyeItalyIvan Magalhaes QUALIFIED
Costa A VenereCanadaOnyama Limba PROPOSAL
Maria X GauchoRussiaBernardo Dominic PROPOSAL
Tony C NickaBrazilIoni Bowcher UNQUALIFIED
Aditya H GlickFranceAmy Elsner PROPOSAL
Izzy E BowleySpainOnyama Limba RENEWAL
Maria O AlbaresItalyXuxue Feng QUALIFIED
Salvatore L PerinSpainOnyama Limba NEW
Stacey R FlosiIndiaAmy Elsner NEGOTIATION
Faith L MaletGermanyAmy Elsner NEGOTIATION
Kadeem T MorascaSpainAsiya Javayant PROPOSAL
Octavia K VenereAustraliaOnyama Limba NEW
Greenwood M AmigonBrazilIvan Magalhaes QUALIFIED
Chavez J SchemmerRussiaAmy Elsner NEGOTIATION
Sinclair B IturbideGermanyStephen Shaw NEGOTIATION
Smith W SergiAustraliaAsiya Javayant PROPOSAL
Juan Z FerenczItalyAsiya Javayant PROPOSAL
Jefferson L PaprockiGermanyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem Q AlbaresUnited KingdomOnyama Limba QUALIFIED
Arvin Y AlbaresBrazilAsiya Javayant UNQUALIFIED
Nicolas Y FigeroaIndiaIoni Bowcher RENEWAL
David Y InouyeBrazilOnyama Limba NEGOTIATION
Aditya E FlosiUnited KingdomStephen Shaw UNQUALIFIED
Ashley M StockhamCanadaXuxue Feng NEGOTIATION
Greenwood Q AmigonAustraliaStephen Shaw NEGOTIATION
Clifford V DilliardCanadaBernardo Dominic NEGOTIATION
Rodrigues Q BriddickFranceIoni Bowcher NEW
David H StensethBrazilAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna F FerenczGermany2024-06-11Feiner Bros NEW21Xuxue Feng
1001Morrow X BowleyAustralia2024-06-22Rangoni Of Florence PROPOSAL17Ioni Bowcher
1002Murillo E VenereArgentina2024-06-10Feltz Printing Service PROPOSAL87Bernardo Dominic
1003Wickens I VocelkaUnited Kingdom2024-05-26Dorl, James J Esq UNQUALIFIED88Bernardo Dominic
1004Jefferson I FerenczAustralia2024-06-04Rangoni Of Florence UNQUALIFIED0Ioni Bowcher
1005Leja K ButtArgentina2024-06-16Truhlar And Truhlar Attys PROPOSAL84Ioni Bowcher
1006Ashley I BriddickAustralia2024-06-01Truhlar And Truhlar Attys PROPOSAL13Asiya Javayant
1007Rodrigues W IturbideCanada2024-06-15Dorl, James J Esq PROPOSAL90Ivan Magalhaes
1008Wickens H GlickJapan2024-06-14Rousseaux, Michael Esq PROPOSAL97Ivan Magalhaes
1009Smith X FollerAustralia2024-06-14Morlong Associates RENEWAL36Anna Fali
1010Wickens X BriddickItaly2024-06-22Rousseaux, Michael Esq QUALIFIED40Elwin Sharvill
1011Kaitlin D VenereArgentina2024-06-08Rangoni Of Florence NEGOTIATION84Stephen Shaw
1012Rodrigues I MarrierArgentina2024-06-14Commercial Press QUALIFIED57Ioni Bowcher
1013Costa O InouyeJapan2024-06-08Morlong Associates RENEWAL65Bernardo Dominic
1014James R FigeroaArgentina2024-06-21Buckley Miller Wright PROPOSAL70Asiya Javayant
1015Wickens B OldroydAustralia2024-06-07Rangoni Of Florence NEGOTIATION76Amy Elsner
1016Aika E TollnerUnited Kingdom2024-05-24Truhlar And Truhlar Attys RENEWAL38Anna Fali
1017James B DoeItaly2024-06-01Feltz Printing Service UNQUALIFIED19Anna Fali
1018Tony K RimSpain2024-06-02Printing Dimensions PROPOSAL98Elwin Sharvill
1019Rodrigues N StensethUnited Kingdom2024-06-09Buckley Miller Wright NEW18Amy Elsner
1020Munro Z MorascaFrance2024-06-07Truhlar And Truhlar Attys UNQUALIFIED1Bernardo Dominic
1021Jeanfrancois C BriddickBrazil2024-06-06Printing Dimensions NEGOTIATION10Asiya Javayant
1022Mayumi E TollnerCanada2024-06-13Chapman, Ross E Esq QUALIFIED23Xuxue Feng
1023Isabel Q DarakjyArgentina2024-06-01Buckley Miller Wright UNQUALIFIED58Anna Fali
1024Cody C SergiItaly2024-06-14Truhlar And Truhlar Attys NEGOTIATION15Elwin Sharvill
1025Nicolas S BologniaFrance2024-06-20Commercial Press NEGOTIATION84Ivan Magalhaes
1026Morrow V MaletCanada2024-06-05Commercial Press PROPOSAL1Xuxue Feng
1027Antonio P SergiJapan2024-06-09Chapman, Ross E Esq NEW43Amy Elsner
1028Ashley L GauchoUnited Kingdom2024-06-10Chapman, Ross E Esq UNQUALIFIED25Onyama Limba
1029Arvin W RutaAustralia2024-06-20Truhlar And Truhlar Attys RENEWAL60Stephen Shaw
1030Izzy Q DilliardUnited Kingdom2024-06-09Feiner Bros RENEWAL40Ivan Magalhaes
1031Emily U TollnerFrance2024-06-09Feiner Bros UNQUALIFIED92Stephen Shaw
1032Juan M MarrierUnited Kingdom2024-05-24Chapman, Ross E Esq RENEWAL27Elwin Sharvill
1033Octavia L FollerGermany2024-06-16Feiner Bros NEW54Asiya Javayant
1034Morrow U IturbideItaly2024-05-29Commercial Press NEGOTIATION4Bernardo Dominic
1035Greenwood C AlbaresSpain2024-06-01Rousseaux, Michael Esq NEW43Bernardo Dominic
1036Sinclair N CampainSpain2024-06-05King, Christopher A Esq NEW1Amy Elsner
1037Faith H ChuiBrazil2024-05-31Rangoni Of Florence UNQUALIFIED70Asiya Javayant
1038Sinclair V ChuiBrazil2024-06-06Rangoni Of Florence NEGOTIATION25Amy Elsner
1039Francesco H GarufiSpain2024-06-18Commercial Press QUALIFIED8Asiya Javayant
1040Murillo K FlosiAustralia2024-06-11Dorl, James J Esq NEW27Bernardo Dominic
1041Leja X BriddickCanada2024-06-18Benton, John B Jr QUALIFIED53Onyama Limba
1042Rodrigues V DoeAustralia2024-06-01Rangoni Of Florence PROPOSAL93Ioni Bowcher
1043Costa O KolmetzSpain2024-06-20Feltz Printing Service NEGOTIATION37Onyama Limba
1044Stacey U GauchoArgentina2024-06-11Buckley Miller Wright NEGOTIATION75Stephen Shaw
1045Salvatore S RoysterIndia2024-06-20Buckley Miller Wright UNQUALIFIED66Onyama Limba
1046Jones C RoysterAustralia2024-05-31Feltz Printing Service PROPOSAL40Onyama Limba
1047Jones Y StockhamCanada2024-06-01Chapman, Ross E Esq UNQUALIFIED44Amy Elsner
1048Aika O MaletGermany2024-06-09Chemel, James L Cpa PROPOSAL41Onyama Limba
1049Jones D KolmetzAustralia2024-05-30King, Christopher A Esq NEGOTIATION9Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Arvin L RulapaughSpainElwin Sharvill NEGOTIATION
Stacey D DoeJapanStephen Shaw QUALIFIED
Kaitlin K FigeroaItalyOnyama Limba NEGOTIATION
Emily I NickaBrazilStephen Shaw NEGOTIATION
Deepesh V SergiItalyStephen Shaw UNQUALIFIED
Munro B RoysterBrazilAmy Elsner PROPOSAL
Jones R StensethFranceAmy Elsner PROPOSAL
Murillo A FlosiGermanyIoni Bowcher NEGOTIATION
Stacey T RutaGermanyIoni Bowcher NEW
Tony B DarakjyArgentinaXuxue Feng PROPOSAL
Julie S VocelkaGermanyIvan Magalhaes UNQUALIFIED
Aditya M IturbideUnited KingdomAsiya Javayant NEW
Jeanfrancois Q BowleyItalyAnna Fali NEW
Clifford Y RoysterCanadaIoni Bowcher UNQUALIFIED
Ashley T GlickFranceAsiya Javayant PROPOSAL
Clifford R AmigonItalyBernardo Dominic RENEWAL
Claire H AlbaresCanadaIoni Bowcher PROPOSAL
Jones L ChuiFranceOnyama Limba UNQUALIFIED
Ricardo A FollerJapanAnna Fali NEGOTIATION
Alejandro T SergiCanadaIoni Bowcher NEW
Antonio T KolmetzCanadaIvan Magalhaes PROPOSAL
Leon R IturbideUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois B StensethCanadaBernardo Dominic UNQUALIFIED
Munro Q NickaJapanElwin Sharvill NEGOTIATION
Maria U SergiRussiaElwin Sharvill PROPOSAL
Jefferson M OldroydArgentinaOnyama Limba NEW
Morrow U GlickArgentinaElwin Sharvill PROPOSAL
Maria T CaldareraBrazilElwin Sharvill QUALIFIED
Greenwood E RutaUnited KingdomAmy Elsner PROPOSAL
Wickens B DarakjyGermanyIoni Bowcher QUALIFIED
Izzy C VenereJapanOnyama Limba RENEWAL
Claire C GlickBrazilIoni Bowcher RENEWAL
Leon X ShinkoAustraliaAmy Elsner NEGOTIATION
Cody B BologniaSpainIoni Bowcher UNQUALIFIED
Munro Q PoquetteSpainStephen Shaw PROPOSAL
Rodrigues K BologniaUnited KingdomAmy Elsner QUALIFIED
Octavia X GillianGermanyIoni Bowcher NEW
Stacey T MacleadIndiaIoni Bowcher QUALIFIED
Deepesh K PaprockiFranceIoni Bowcher PROPOSAL
Alejandro N StensethAustraliaBernardo Dominic PROPOSAL
James N BowleyArgentinaIvan Magalhaes UNQUALIFIED
Salvatore P MarrierFranceStephen Shaw RENEWAL
Adams H RimRussiaStephen Shaw PROPOSAL
Smith B CaldareraRussiaXuxue Feng QUALIFIED
Greenwood Y InouyeRussiaAsiya Javayant QUALIFIED
Rodrigues W DilliardGermanyOnyama Limba UNQUALIFIED
Ricardo T PaprockiAustraliaAsiya Javayant NEGOTIATION
Francesco W PaprockiItalyIvan Magalhaes NEW
Wickens W StockhamUnited KingdomStephen Shaw UNQUALIFIED
Kadeem S CaldareraRussiaXuxue Feng RENEWAL
Frozen Columns
Name
David J Bowley
Kadeem U Stockham
Clifford N Whobrey
Deepesh G Gillian
Munro K Chui
Clifford G Briddick
Darci J Royster
Ricardo U Darakjy
Murillo E Rulapaugh
Costa N Waycott
Jennifer S Doe
Kadeem V Vocelka
Greenwood Y Gaucho
James G Oldroyd
Johnson L Butt
Leja M Kusko
Julie J Ostrosky
Claire K Wieser
Jones P Rulapaugh
Jefferson J Bolognia
Maria Q Rim
Chavez W Royster
Chavez T Nestle
Arvin N Bowley
Misaki B Ruta
Ricardo B Briddick
Munro B Nicka
Cody T Nicka
Francesco V Nicka
Murillo H Slusarski
Johnson N Bowley
James C Ostrosky
Darci O Ruta
Nicolas T Stockham
Leon A Poquette
Jennifer I Butt
Wickens D Morasca
Cody Y Nicka
Nicolas Q Morasca
Greenwood K Iturbide
Leja K Iturbide
Wickens N Rim
James E Butt
Morrow I Garufi
Wickens A Slusarski
Maisha I Garufi
Silvio A Albares
Nicolas M Nicka
James C Oldroyd
Maria Y Iturbide
IdCountryDate
1000Germany2024-06-19
1001Argentina2024-06-03
1002Italy2024-06-15
1003Russia2024-06-01
1004India2024-06-14
1005France2024-05-26
1006Argentina2024-06-18
1007India2024-06-17
1008Japan2024-05-28
1009United Kingdom2024-06-07
1010Spain2024-05-24
1011Japan2024-05-29
1012Spain2024-06-22
1013Australia2024-06-04
1014Russia2024-06-10
1015Australia2024-06-12
1016India2024-06-18
1017Canada2024-05-31
1018Spain2024-06-10
1019United Kingdom2024-06-16
1020Italy2024-05-25
1021United Kingdom2024-06-13
1022India2024-06-16
1023United Kingdom2024-05-27
1024Brazil2024-06-03
1025Italy2024-06-17
1026Italy2024-06-18
1027Brazil2024-06-02
1028Japan2024-06-09
1029Germany2024-06-09
1030Brazil2024-06-05
1031Italy2024-05-27
1032Italy2024-06-12
1033Russia2024-06-01
1034Germany2024-05-31
1035India2024-05-31
1036France2024-06-05
1037United Kingdom2024-06-19
1038Australia2024-06-04
1039France2024-06-11
1040Brazil2024-06-14
1041Canada2024-06-14
1042Canada2024-06-04
1043Brazil2024-06-07
1044Japan2024-06-07
1045Brazil2024-06-01
1046Russia2024-06-03
1047Australia2024-06-11
1048Spain2024-06-10
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Faith V Albares1000France2024-05-25
Smith K Rulapaugh1001Russia2024-05-27
Wickens F Iturbide1002Spain2024-06-17
Costa U Gillian1003France2024-06-22
Mayumi O Morasca1004Italy2024-06-04
Aruna B Iturbide1005Brazil2024-06-16
Sinclair N Marrier1006France2024-06-17
Sinclair K Saylors1007Italy2024-05-24
Leja M Vocelka1008Spain2024-06-06
Salvatore B Caudy1009Brazil2024-06-10
Antonio O Wieser1010United Kingdom2024-05-27
Maisha M Whobrey1011Germany2024-06-16
Ivar S Morasca1012Argentina2024-06-07
Salvatore X Kusko1013Japan2024-06-07
Ashley G Rim1014Germany2024-06-10
Francesco G Albares1015Brazil2024-06-17
James Z Poquette1016Australia2024-06-22
Leja L Ruta1017Brazil2024-06-08
Clifford R Caudy1018Germany2024-06-13
Jennifer S Slusarski1019Germany2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo A GillianJapanXuxue Feng UNQUALIFIED
Darci I StensethJapanBernardo Dominic NEW
Rodrigues T NestleItalyIvan Magalhaes QUALIFIED
Ashley J FollerSpainAmy Elsner UNQUALIFIED
Ivar S OldroydItalyIoni Bowcher NEW
Chavez I RimJapanOnyama Limba PROPOSAL
Ashley S CaldareraAustraliaElwin Sharvill UNQUALIFIED
Rodrigues Y SergiItalyIoni Bowcher PROPOSAL
Emily E CaldareraArgentinaStephen Shaw QUALIFIED
Alejandro K WaycottGermanyOnyama Limba NEGOTIATION
Kadeem O FerenczFranceAsiya Javayant NEGOTIATION
Leja R SchemmerJapanStephen Shaw RENEWAL
Chavez G AlbaresBrazilStephen Shaw NEGOTIATION
Adams L SergiItalyIvan Magalhaes NEGOTIATION
Munro F MarrierGermanyBernardo Dominic NEW
Sinclair W KolmetzAustraliaIvan Magalhaes RENEWAL
Aika U MorascaRussiaIvan Magalhaes NEW
Antonio I VenereUnited KingdomAsiya Javayant PROPOSAL
Salvatore K OstroskyUnited KingdomOnyama Limba QUALIFIED
Ashley N MacleadArgentinaStephen Shaw PROPOSAL
Murillo F GlickJapanAnna Fali NEGOTIATION
Antonio Z FerenczCanadaAsiya Javayant NEW
Kadeem B VocelkaGermanyIvan Magalhaes NEW
Mayumi T AmigonItalyAsiya Javayant RENEWAL
Ashley G RutaBrazilAsiya Javayant RENEWAL
Ashley R SchemmerAustraliaXuxue Feng UNQUALIFIED
Ricardo L FigeroaIndiaBernardo Dominic QUALIFIED
Claire C WaycottJapanElwin Sharvill PROPOSAL
Murillo J NickaIndiaElwin Sharvill NEW
Ricardo S ShinkoCanadaElwin Sharvill PROPOSAL
Deepesh M ButtFranceIvan Magalhaes PROPOSAL
Costa T GauchoArgentinaAmy Elsner QUALIFIED
Mujtaba N SchemmerFranceBernardo Dominic NEGOTIATION
Isabel Y SchemmerRussiaBernardo Dominic QUALIFIED
Murillo B DoeCanadaAmy Elsner NEGOTIATION
Arvin V NickaGermanyOnyama Limba NEW
Emily R WaycottBrazilBernardo Dominic NEW
Wickens D TollnerItalyElwin Sharvill UNQUALIFIED
Cody F PerinJapanBernardo Dominic NEGOTIATION
Smith P KuskoItalyAsiya Javayant 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>