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
Mayumi U DoeJapanBernardo Dominic NEGOTIATION
Darci W OstroskyRussiaElwin Sharvill UNQUALIFIED
Antonio K DoeCanadaOnyama Limba NEGOTIATION
Wickens N DilliardJapanOnyama Limba NEGOTIATION
Faith E ButtUnited KingdomXuxue Feng QUALIFIED
Wickens U PaprockiBrazilIvan Magalhaes NEW
Jones D RoysterGermanyXuxue Feng NEGOTIATION
Juan T RimUnited KingdomBernardo Dominic UNQUALIFIED
Maisha D RoysterFranceIvan Magalhaes QUALIFIED
Nicolas Z DoeUnited KingdomAsiya Javayant NEW
Cody Z ChuiUnited KingdomAnna Fali QUALIFIED
Octavia A VenereAustraliaElwin Sharvill NEW
Costa B VocelkaItalyBernardo Dominic NEW
Ashley G VocelkaAustraliaStephen Shaw NEGOTIATION
Munro S IturbideSpainAsiya Javayant PROPOSAL
Aditya U SlusarskiFranceStephen Shaw NEW
Costa R FigeroaAustraliaStephen Shaw UNQUALIFIED
Aruna A ButtGermanyIoni Bowcher RENEWAL
Rodrigues T SchemmerFranceStephen Shaw RENEWAL
Jefferson U BowleyCanadaIvan Magalhaes NEW
Costa Y PaprockiSpainAnna Fali PROPOSAL
Smith N KuskoBrazilElwin Sharvill PROPOSAL
Tony G StensethGermanyAsiya Javayant RENEWAL
Sinclair C StockhamBrazilStephen Shaw UNQUALIFIED
Darci X MarrierJapanStephen Shaw QUALIFIED
James O NestleRussiaAmy Elsner UNQUALIFIED
Johnson F ChuiAustraliaIvan Magalhaes NEW
Ashley H SaylorsCanadaIvan Magalhaes NEW
Alejandro O ButtAustraliaXuxue Feng RENEWAL
Cody R SlusarskiRussiaAmy Elsner QUALIFIED
Costa B DoeArgentinaIoni Bowcher NEW
Aditya F NestleUnited KingdomBernardo Dominic PROPOSAL
Kaitlin M PoquetteFranceAmy Elsner NEGOTIATION
David R StensethSpainStephen Shaw NEW
Morrow G NickaSpainBernardo Dominic PROPOSAL
Adams T ShinkoAustraliaBernardo Dominic NEGOTIATION
Adams S FollerArgentinaAsiya Javayant UNQUALIFIED
Maisha C MorascaAustraliaIoni Bowcher NEGOTIATION
Aruna G FollerAustraliaOnyama Limba NEGOTIATION
Ashley F NestleAustraliaOnyama Limba QUALIFIED
Jefferson X SaylorsBrazilAmy Elsner UNQUALIFIED
James M FigeroaJapanIvan Magalhaes QUALIFIED
Isabel W PerinIndiaAsiya Javayant PROPOSAL
Jennifer J WaycottGermanyStephen Shaw NEW
Munro F WaycottFranceBernardo Dominic NEGOTIATION
Alejandro B CampainCanadaBernardo Dominic UNQUALIFIED
Deepesh F GlickAustraliaElwin Sharvill NEGOTIATION
Mujtaba X KuskoAustraliaAsiya Javayant UNQUALIFIED
Leja X WaycottItalyOnyama Limba NEGOTIATION
Juan B AmigonRussiaXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony J DoeUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo J DoeRussiaBernardo Dominic QUALIFIED
Johnson J VocelkaCanadaBernardo Dominic PROPOSAL
Munro X SlusarskiArgentinaIoni Bowcher PROPOSAL
Clifford J PoquetteIndiaStephen Shaw NEGOTIATION
Smith U CaldareraBrazilIvan Magalhaes QUALIFIED
Ricardo K WieserIndiaAsiya Javayant RENEWAL
David O VenereArgentinaIvan Magalhaes PROPOSAL
Ashley K WieserCanadaAsiya Javayant UNQUALIFIED
Maisha C OstroskySpainXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa M MaletUnited Kingdom2024-06-04Chanay, Jeffrey A Esq NEW51Amy Elsner
1001Octavia R IturbideFrance2024-05-25Feltz Printing Service PROPOSAL59Xuxue Feng
1002Johnson E WaycottUnited Kingdom2024-06-17Feiner Bros QUALIFIED22Amy Elsner
1003Adams N RoysterCanada2024-05-31Truhlar And Truhlar Attys PROPOSAL68Ivan Magalhaes
1004Octavia N GauchoArgentina2024-06-01Feiner Bros NEGOTIATION80Asiya Javayant
1005Salvatore A DoeArgentina2024-06-05Morlong Associates NEW17Ioni Bowcher
1006Jefferson F RutaAustralia2024-06-19Dorl, James J Esq RENEWAL7Stephen Shaw
1007Maria F PerinCanada2024-05-25King, Christopher A Esq PROPOSAL58Bernardo Dominic
1008Francesco P IturbideGermany2024-06-10Buckley Miller Wright QUALIFIED60Anna Fali
1009Kaitlin V DarakjySpain2024-06-22Truhlar And Truhlar Attys RENEWAL98Anna Fali
1010Greenwood V DarakjyArgentina2024-05-25Morlong Associates NEW53Xuxue Feng
1011Murillo M CampainUnited Kingdom2024-05-28Commercial Press UNQUALIFIED49Onyama Limba
1012Jones F RulapaughFrance2024-05-28Feltz Printing Service QUALIFIED77Amy Elsner
1013Leon Z IturbideUnited Kingdom2024-06-12Feltz Printing Service PROPOSAL78Anna Fali
1014Maria Q RulapaughGermany2024-06-19Chanay, Jeffrey A Esq PROPOSAL27Stephen Shaw
1015Emily U IturbideBrazil2024-05-26Rousseaux, Michael Esq PROPOSAL91Xuxue Feng
1016Darci P BologniaArgentina2024-06-05Feltz Printing Service RENEWAL57Ioni Bowcher
1017Leon U FerenczIndia2024-06-03Buckley Miller Wright NEGOTIATION94Asiya Javayant
1018Mayumi L ChuiFrance2024-06-19Benton, John B Jr QUALIFIED84Xuxue Feng
1019Nicolas T DoeSpain2024-05-25Commercial Press NEW75Anna Fali
1020Jones G NickaSpain2024-06-21Commercial Press QUALIFIED86Asiya Javayant
1021Maisha F WaycottGermany2024-06-05Chanay, Jeffrey A Esq NEW44Ioni Bowcher
1022Wickens W PaprockiUnited Kingdom2024-06-15Benton, John B Jr QUALIFIED96Onyama Limba
1023Silvio U OstroskyItaly2024-06-17Chanay, Jeffrey A Esq PROPOSAL89Elwin Sharvill
1024Alejandro P RimGermany2024-06-20Feltz Printing Service RENEWAL56Asiya Javayant
1025Francesco X ShinkoArgentina2024-06-04Chapman, Ross E Esq UNQUALIFIED88Bernardo Dominic
1026Faith N ChuiGermany2024-05-25Chemel, James L Cpa UNQUALIFIED65Stephen Shaw
1027Wickens X FerenczIndia2024-06-04Printing Dimensions RENEWAL52Asiya Javayant
1028Sinclair S MaletJapan2024-06-07Dorl, James J Esq QUALIFIED95Xuxue Feng
1029Faith F SergiSpain2024-06-05Dorl, James J Esq QUALIFIED68Anna Fali
1030Alejandro H CampainRussia2024-06-19King, Christopher A Esq NEW6Ivan Magalhaes
1031Aruna B CampainArgentina2024-06-09Buckley Miller Wright NEW94Onyama Limba
1032Chavez Y SaylorsRussia2024-06-22Feltz Printing Service UNQUALIFIED83Anna Fali
1033Silvio N BriddickCanada2024-06-17Benton, John B Jr NEW20Asiya Javayant
1034Wickens W ChuiBrazil2024-06-21Chanay, Jeffrey A Esq NEW22Amy Elsner
1035Mayumi B SlusarskiFrance2024-06-15Truhlar And Truhlar Attys UNQUALIFIED22Elwin Sharvill
1036Salvatore A BriddickAustralia2024-06-11King, Christopher A Esq QUALIFIED16Bernardo Dominic
1037Octavia G KolmetzAustralia2024-06-05Feltz Printing Service QUALIFIED7Elwin Sharvill
1038Maria Y OldroydFrance2024-06-01Feltz Printing Service RENEWAL56Amy Elsner
1039Francesco P ShinkoRussia2024-06-02Feiner Bros PROPOSAL0Ioni Bowcher
1040Clifford G OstroskyGermany2024-06-06Rousseaux, Michael Esq UNQUALIFIED25Bernardo Dominic
1041Chavez Q TollnerCanada2024-06-21Truhlar And Truhlar Attys UNQUALIFIED19Bernardo Dominic
1042Stacey H ButtGermany2024-05-25Benton, John B Jr PROPOSAL5Ivan Magalhaes
1043Izzy U VocelkaJapan2024-06-03Truhlar And Truhlar Attys QUALIFIED75Stephen Shaw
1044Nicolas Q VocelkaSpain2024-05-25Dorl, James J Esq RENEWAL87Onyama Limba
1045Aika L InouyeCanada2024-06-17Benton, John B Jr NEW17Anna Fali
1046Cody V MaletAustralia2024-06-15Benton, John B Jr NEW57Elwin Sharvill
1047Jennifer K PoquetteIndia2024-06-22Truhlar And Truhlar Attys RENEWAL93Onyama Limba
1048Jefferson I MaletItaly2024-05-26Feltz Printing Service PROPOSAL3Xuxue Feng
1049Juan G FlosiItaly2024-06-19Rousseaux, Michael Esq RENEWAL0Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jefferson A MaletItalyXuxue Feng NEW
Salvatore X NestleIndiaStephen Shaw PROPOSAL
Ashley C SaylorsFranceIoni Bowcher NEW
Smith D ChuiArgentinaBernardo Dominic RENEWAL
Misaki A FollerBrazilIoni Bowcher QUALIFIED
Morrow V StensethUnited KingdomBernardo Dominic QUALIFIED
Costa U IturbideGermanyIvan Magalhaes NEW
Wickens R OstroskyIndiaElwin Sharvill PROPOSAL
Francesco K SlusarskiIndiaAmy Elsner PROPOSAL
Ivar L BriddickAustraliaIoni Bowcher RENEWAL
Maisha Y IturbideRussiaIvan Magalhaes PROPOSAL
Aruna S KolmetzItalyIoni Bowcher QUALIFIED
Cody B AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Munro J WaycottCanadaXuxue Feng RENEWAL
Morrow R FlosiUnited KingdomOnyama Limba NEGOTIATION
Isabel Y PerinFranceStephen Shaw PROPOSAL
Munro Q MacleadCanadaBernardo Dominic RENEWAL
Mayumi T PerinAustraliaAnna Fali PROPOSAL
Jennifer D SergiCanadaElwin Sharvill NEGOTIATION
Kaitlin O IturbideGermanyStephen Shaw NEGOTIATION
Mujtaba B CaudyGermanyAsiya Javayant UNQUALIFIED
Aika G ChuiCanadaOnyama Limba RENEWAL
Francesco M VenereArgentinaElwin Sharvill UNQUALIFIED
Kaitlin B SergiIndiaElwin Sharvill PROPOSAL
Francesco C ButtAustraliaAnna Fali UNQUALIFIED
Maria T SlusarskiCanadaIvan Magalhaes QUALIFIED
Deepesh H WaycottArgentinaAsiya Javayant RENEWAL
Juan I RulapaughAustraliaAsiya Javayant RENEWAL
Tony U OldroydGermanyAnna Fali NEGOTIATION
Jennifer T NestleArgentinaIvan Magalhaes QUALIFIED
Kadeem C DoeFranceXuxue Feng NEW
Jennifer S ChuiArgentinaIoni Bowcher RENEWAL
Ricardo L MarrierBrazilXuxue Feng QUALIFIED
Maria A PerinGermanyIoni Bowcher NEW
Emily N RulapaughGermanyStephen Shaw PROPOSAL
Silvio T SaylorsFranceIoni Bowcher QUALIFIED
Maisha X SchemmerJapanIvan Magalhaes NEW
Misaki L WhobreyJapanElwin Sharvill NEGOTIATION
Murillo X SergiRussiaBernardo Dominic PROPOSAL
Clifford X CaudyBrazilStephen Shaw RENEWAL
Claire S VenereCanadaXuxue Feng PROPOSAL
Julie Q VenereIndiaBernardo Dominic RENEWAL
Misaki D MaletUnited KingdomBernardo Dominic NEW
Francesco E MaletGermanyElwin Sharvill NEW
James J TollnerUnited KingdomIvan Magalhaes PROPOSAL
Aruna P PaprockiItalyXuxue Feng NEGOTIATION
Aika D CaldareraGermanyElwin Sharvill NEGOTIATION
Mujtaba I CaldareraCanadaAmy Elsner PROPOSAL
Emily Y AmigonCanadaIoni Bowcher NEW
Smith J RoysterSpainAmy Elsner PROPOSAL
Frozen Columns
Name
Munro U Ruta
Mayumi R Foller
Aditya C Chui
Isabel I Whobrey
Aditya M Garufi
Misaki L Nestle
Claire X Doe
Jeanfrancois P Sergi
Aruna W Poquette
Aditya Z Gillian
Kaitlin H Oldroyd
Deepesh V Perin
Leja U Caldarera
Nicolas G Caldarera
Johnson R Stenseth
Julie D Rulapaugh
Antonio Y Ostrosky
Jeanfrancois I Saylors
Ivar O Darakjy
Murillo S Caldarera
Munro S Perin
David N Ruta
Munro P Saylors
Rodrigues O Inouye
Claire L Poquette
Nicolas Y Caudy
Ricardo R Waycott
Jennifer O Gillian
Costa N Doe
Tony L Chui
Mujtaba L Briddick
Murillo U Amigon
Julie P Garufi
Arvin F Oldroyd
Munro R Paprocki
Maisha D Stenseth
Costa H Whobrey
Mayumi S Foller
Clifford T Rim
James R Malet
Misaki H Stockham
David W Dilliard
Munro F Tollner
Ricardo O Vocelka
Julie E Rulapaugh
Emily N Iturbide
Deepesh Q Foller
Francesco U Darakjy
Clifford L Nestle
Faith V Venere
IdCountryDate
1000Japan2024-06-10
1001Argentina2024-06-22
1002Canada2024-05-27
1003United Kingdom2024-06-08
1004France2024-05-25
1005Brazil2024-05-30
1006Russia2024-05-24
1007Australia2024-05-31
1008Argentina2024-06-11
1009United Kingdom2024-06-04
1010Australia2024-06-07
1011Spain2024-06-12
1012India2024-06-12
1013France2024-06-08
1014India2024-06-16
1015Russia2024-06-22
1016Japan2024-05-27
1017Germany2024-06-17
1018Italy2024-06-19
1019Russia2024-06-09
1020Russia2024-06-16
1021Argentina2024-05-27
1022Canada2024-06-03
1023Australia2024-05-27
1024Argentina2024-06-07
1025France2024-06-12
1026France2024-06-12
1027Canada2024-05-27
1028United Kingdom2024-05-31
1029Brazil2024-06-20
1030France2024-06-02
1031Spain2024-06-21
1032Canada2024-06-10
1033Japan2024-05-25
1034United Kingdom2024-06-11
1035Germany2024-06-22
1036Australia2024-06-03
1037Canada2024-06-04
1038Argentina2024-06-18
1039Japan2024-05-31
1040Brazil2024-05-30
1041Canada2024-06-14
1042Germany2024-06-14
1043Italy2024-05-30
1044Japan2024-06-07
1045Russia2024-06-02
1046Canada2024-06-08
1047Russia2024-06-02
1048India2024-06-20
1049United Kingdom2024-06-07

On-Demand Data

NameIdCountryDate
Arvin L Paprocki1000Brazil2024-06-10
Claire A Inouye1001France2024-06-14
Juan D Albares1002India2024-06-04
Silvio U Venere1003Japan2024-05-24
Jennifer S Shinko1004United Kingdom2024-06-07
Jones F Venere1005Canada2024-06-19
Alejandro X Garufi1006Argentina2024-05-30
Ivar N Amigon1007Canada2024-06-20
Nicolas X Nicka1008Argentina2024-06-10
Darci T Waycott1009Spain2024-05-26
Mujtaba Z Malet1010Spain2024-06-19
Mayumi V Tollner1011Australia2024-06-19
Ivar Q Malet1012Spain2024-05-29
Salvatore F Bolognia1013Russia2024-06-12
Ricardo X Glick1014United Kingdom2024-06-21
Chavez C Venere1015France2024-06-13
Antonio Z Tollner1016Canada2024-06-18
Antonio P Ferencz1017Argentina2024-06-17
Stacey Y Iturbide1018Canada2024-06-01
Wickens H Butt1019Australia2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia F NestleUnited KingdomAnna Fali RENEWAL
Misaki W BowleyFranceElwin Sharvill QUALIFIED
James Y GillianFranceStephen Shaw RENEWAL
Mujtaba A ButtArgentinaAsiya Javayant NEW
Silvio L NickaFranceAsiya Javayant RENEWAL
Antonio H NestleAustraliaAnna Fali RENEWAL
Leja K ShinkoFranceOnyama Limba RENEWAL
Silvio M CampainCanadaIoni Bowcher NEGOTIATION
Alejandro Z PaprockiSpainIoni Bowcher QUALIFIED
Deepesh X BowleySpainOnyama Limba NEGOTIATION
Alejandro H BologniaRussiaIvan Magalhaes NEW
Jeanfrancois N IturbideRussiaBernardo Dominic PROPOSAL
Chavez S BowleyJapanXuxue Feng PROPOSAL
Jeanfrancois R SlusarskiBrazilIvan Magalhaes NEGOTIATION
Mayumi P AmigonCanadaIoni Bowcher NEGOTIATION
Jefferson Z MaletAustraliaOnyama Limba NEGOTIATION
Antonio P RimGermanyXuxue Feng NEGOTIATION
Mayumi C NestleGermanyXuxue Feng QUALIFIED
Leon D RutaUnited KingdomXuxue Feng RENEWAL
Ivar R SergiArgentinaAmy Elsner NEW
Antonio C MaletCanadaIvan Magalhaes NEGOTIATION
Smith G TollnerItalyAsiya Javayant QUALIFIED
Julie W MorascaItalyElwin Sharvill PROPOSAL
Jennifer M FerenczBrazilIvan Magalhaes UNQUALIFIED
Octavia V DarakjyFranceAmy Elsner PROPOSAL
Aika R PaprockiIndiaElwin Sharvill PROPOSAL
Costa M MacleadIndiaAmy Elsner QUALIFIED
Maria O VenereBrazilAnna Fali QUALIFIED
Ashley A StensethItalyAsiya Javayant NEGOTIATION
Mujtaba Z BowleyGermanyAsiya Javayant UNQUALIFIED
Ivar F KuskoFranceBernardo Dominic NEW
Murillo Y AlbaresRussiaXuxue Feng RENEWAL
Stacey H AlbaresCanadaIvan Magalhaes PROPOSAL
Adams T DoeSpainAmy Elsner RENEWAL
Murillo R KuskoGermanyAsiya Javayant PROPOSAL
Juan W ChuiCanadaAsiya Javayant RENEWAL
Murillo Q StockhamBrazilXuxue Feng QUALIFIED
Ivar W VocelkaAustraliaIoni Bowcher NEGOTIATION
Juan I FerenczItalyAmy Elsner UNQUALIFIED
Maisha E RoysterAustraliaIvan Magalhaes 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>