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
Kadeem I GlickIndiaElwin Sharvill NEW
Octavia C ChuiAustraliaIvan Magalhaes PROPOSAL
Izzy O WhobreyItalyStephen Shaw UNQUALIFIED
Leon V DoeFranceBernardo Dominic NEGOTIATION
Cody M KolmetzSpainStephen Shaw NEGOTIATION
Mayumi S BriddickArgentinaStephen Shaw QUALIFIED
Francesco V AlbaresFranceAsiya Javayant UNQUALIFIED
Francesco T AmigonCanadaIvan Magalhaes RENEWAL
Cody S VenereAustraliaIoni Bowcher PROPOSAL
Murillo P FollerIndiaAmy Elsner PROPOSAL
Faith E RoysterUnited KingdomIoni Bowcher NEGOTIATION
Misaki P BriddickAustraliaIoni Bowcher NEW
Alejandro V ChuiGermanyIvan Magalhaes NEGOTIATION
Murillo R VenereFranceAmy Elsner UNQUALIFIED
Munro M StensethArgentinaElwin Sharvill NEGOTIATION
Faith S OldroydJapanOnyama Limba UNQUALIFIED
Francesco Y GarufiBrazilOnyama Limba UNQUALIFIED
Kadeem V FigeroaFranceAmy Elsner QUALIFIED
Juan P VenereIndiaOnyama Limba NEW
Ricardo F OldroydArgentinaAsiya Javayant PROPOSAL
Kaitlin G RutaAustraliaBernardo Dominic UNQUALIFIED
Misaki F KuskoArgentinaAsiya Javayant PROPOSAL
Adams L SchemmerSpainIvan Magalhaes NEGOTIATION
Ricardo U SaylorsAustraliaAsiya Javayant NEGOTIATION
Maria C RoysterRussiaAnna Fali QUALIFIED
Jones B GauchoSpainOnyama Limba NEW
Nicolas M VenereRussiaStephen Shaw RENEWAL
Maisha Y VocelkaIndiaAmy Elsner NEGOTIATION
Wickens T PaprockiSpainAmy Elsner NEW
Nicolas F MaletFranceAsiya Javayant RENEWAL
Claire U MacleadGermanyIoni Bowcher RENEWAL
Kaitlin Y GlickItalyElwin Sharvill UNQUALIFIED
Maria W AlbaresUnited KingdomAmy Elsner PROPOSAL
Morrow K SlusarskiUnited KingdomAmy Elsner RENEWAL
Julie R SchemmerCanadaIvan Magalhaes QUALIFIED
Kaitlin M AmigonIndiaAmy Elsner QUALIFIED
Kaitlin M RoysterFranceElwin Sharvill RENEWAL
David A GillianIndiaBernardo Dominic UNQUALIFIED
Darci Z KolmetzItalyStephen Shaw UNQUALIFIED
David O PaprockiSpainIoni Bowcher RENEWAL
James Q ButtArgentinaStephen Shaw PROPOSAL
Aika G FigeroaGermanyStephen Shaw UNQUALIFIED
Alejandro L IturbideCanadaIvan Magalhaes RENEWAL
Claire E StockhamAustraliaAmy Elsner NEGOTIATION
Jeanfrancois C BowleyCanadaAsiya Javayant PROPOSAL
David U RimRussiaBernardo Dominic PROPOSAL
Tony U MacleadFranceAnna Fali NEGOTIATION
Deepesh C StockhamRussiaElwin Sharvill PROPOSAL
Costa I OldroydBrazilBernardo Dominic PROPOSAL
Julie W SergiBrazilAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci V VocelkaFranceOnyama Limba PROPOSAL
Nicolas D NickaJapanBernardo Dominic UNQUALIFIED
Mayumi N SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Munro L MaletRussiaAmy Elsner RENEWAL
Greenwood S MaletItalyXuxue Feng PROPOSAL
Izzy M VocelkaJapanXuxue Feng UNQUALIFIED
Sinclair T KolmetzUnited KingdomAnna Fali NEW
Leja R AlbaresArgentinaStephen Shaw NEGOTIATION
Julie M AmigonUnited KingdomIoni Bowcher PROPOSAL
Kadeem C RoysterRussiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson K OstroskyUnited Kingdom2026-07-09Feiner Bros NEGOTIATION73Xuxue Feng
1001Maria B TollnerUnited Kingdom2026-07-15King, Christopher A Esq QUALIFIED39Bernardo Dominic
1002Misaki Q BriddickCanada2026-07-06Morlong Associates RENEWAL3Bernardo Dominic
1003Rodrigues G VocelkaGermany2026-07-13Feiner Bros QUALIFIED93Anna Fali
1004Maria W InouyeRussia2026-07-20Dorl, James J Esq QUALIFIED77Amy Elsner
1005Aditya U MaletRussia2026-07-21Feltz Printing Service UNQUALIFIED43Bernardo Dominic
1006Deepesh C SlusarskiSpain2026-07-06Dorl, James J Esq PROPOSAL93Asiya Javayant
1007Izzy Y PerinJapan2026-07-12Feiner Bros RENEWAL39Asiya Javayant
1008Claire T ShinkoArgentina2026-07-18Rangoni Of Florence PROPOSAL70Amy Elsner
1009Antonio O CaudyFrance2026-07-11Morlong Associates NEGOTIATION57Onyama Limba
1010Izzy B IturbideSpain2026-07-12Chanay, Jeffrey A Esq RENEWAL28Stephen Shaw
1011Johnson J RutaAustralia2026-07-22Feiner Bros QUALIFIED73Elwin Sharvill
1012Munro U RoysterJapan2026-07-28Rousseaux, Michael Esq QUALIFIED8Onyama Limba
1013Smith B WaycottAustralia2026-07-11Chanay, Jeffrey A Esq QUALIFIED93Stephen Shaw
1014Smith S SergiAustralia2026-07-09Printing Dimensions NEGOTIATION28Stephen Shaw
1015Ashley I MaletIndia2026-07-27Feltz Printing Service RENEWAL41Amy Elsner
1016Aditya Z SergiUnited Kingdom2026-07-29Morlong Associates RENEWAL21Onyama Limba
1017Alejandro I WieserArgentina2026-07-19Truhlar And Truhlar Attys NEGOTIATION45Onyama Limba
1018Antonio X RoysterBrazil2026-07-14Commercial Press PROPOSAL98Onyama Limba
1019Maisha H SchemmerBrazil2026-07-18Chapman, Ross E Esq NEW77Ioni Bowcher
1020Aruna R MaletItaly2026-07-04Feiner Bros RENEWAL45Anna Fali
1021Rodrigues R SchemmerUnited Kingdom2026-07-21Rousseaux, Michael Esq QUALIFIED14Stephen Shaw
1022Costa N RutaCanada2026-07-05Printing Dimensions PROPOSAL48Anna Fali
1023Tony B SlusarskiBrazil2026-07-28Morlong Associates NEGOTIATION90Stephen Shaw
1024Munro A DilliardIndia2026-07-01Rangoni Of Florence NEW86Stephen Shaw
1025Leja D DarakjyUnited Kingdom2026-07-16King, Christopher A Esq PROPOSAL74Asiya Javayant
1026Aruna S StockhamAustralia2026-07-23Chemel, James L Cpa NEW46Bernardo Dominic
1027Jeanfrancois G DilliardUnited Kingdom2026-07-10Commercial Press UNQUALIFIED8Asiya Javayant
1028Aika Z PoquetteIndia2026-07-17Chemel, James L Cpa PROPOSAL68Bernardo Dominic
1029Aruna V BriddickIndia2026-07-25Truhlar And Truhlar Attys UNQUALIFIED4Xuxue Feng
1030Juan X FlosiUnited Kingdom2026-07-22Buckley Miller Wright NEGOTIATION19Elwin Sharvill
1031Juan B RutaItaly2026-06-30Chanay, Jeffrey A Esq PROPOSAL26Onyama Limba
1032Murillo F MacleadCanada2026-07-01Chemel, James L Cpa NEW11Bernardo Dominic
1033Salvatore B WieserFrance2026-07-03Printing Dimensions NEGOTIATION41Onyama Limba
1034Clifford I DoeCanada2026-07-26Commercial Press RENEWAL23Ivan Magalhaes
1035Jennifer R PoquetteBrazil2026-07-24Rousseaux, Michael Esq PROPOSAL31Ivan Magalhaes
1036Leja E MorascaRussia2026-07-16Feltz Printing Service NEW30Bernardo Dominic
1037Nicolas I WaycottGermany2026-07-22Feltz Printing Service NEW26Elwin Sharvill
1038Francesco P GlickBrazil2026-07-20Chapman, Ross E Esq NEW92Amy Elsner
1039Juan C KuskoUnited Kingdom2026-07-05Chapman, Ross E Esq PROPOSAL58Elwin Sharvill
1040Faith L FerenczAustralia2026-07-18Commercial Press NEGOTIATION92Amy Elsner
1041Cody K WhobreyGermany2026-07-08Truhlar And Truhlar Attys NEW16Bernardo Dominic
1042Misaki L MorascaRussia2026-07-05Chapman, Ross E Esq UNQUALIFIED49Ivan Magalhaes
1043Misaki U RutaRussia2026-07-19Morlong Associates QUALIFIED99Bernardo Dominic
1044Kadeem G CampainJapan2026-07-03Commercial Press UNQUALIFIED18Elwin Sharvill
1045Aruna M IturbideRussia2026-07-15Chemel, James L Cpa RENEWAL81Stephen Shaw
1046Leon H RimArgentina2026-07-11Commercial Press RENEWAL36Anna Fali
1047Jones P NestleArgentina2026-07-15Rousseaux, Michael Esq NEW74Stephen Shaw
1048Sinclair K VocelkaRussia2026-07-07Printing Dimensions NEGOTIATION19Onyama Limba
1049Mayumi X MaletBrazil2026-07-27Chapman, Ross E Esq QUALIFIED34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois U NickaJapanAsiya Javayant PROPOSAL
Antonio C OldroydSpainIvan Magalhaes NEW
Julie K PerinCanadaAnna Fali PROPOSAL
Kadeem V IturbideCanadaXuxue Feng UNQUALIFIED
Rodrigues B SchemmerIndiaIvan Magalhaes UNQUALIFIED
Jennifer X CaldareraItalyElwin Sharvill NEGOTIATION
Salvatore G KolmetzGermanyAnna Fali NEGOTIATION
Aruna H WaycottFranceOnyama Limba RENEWAL
Johnson T VenereCanadaStephen Shaw NEGOTIATION
Smith N PaprockiCanadaAnna Fali QUALIFIED
Sinclair Z GillianItalyAsiya Javayant NEGOTIATION
Jefferson I AlbaresArgentinaIoni Bowcher PROPOSAL
Chavez M FollerUnited KingdomAsiya Javayant NEGOTIATION
Arvin H GlickSpainStephen Shaw NEGOTIATION
Jefferson B GlickGermanyIvan Magalhaes PROPOSAL
Wickens L AlbaresSpainAsiya Javayant RENEWAL
Stacey X IturbideRussiaXuxue Feng RENEWAL
Jones X GauchoRussiaStephen Shaw QUALIFIED
Costa Q InouyeIndiaAmy Elsner PROPOSAL
Emily V GarufiJapanXuxue Feng RENEWAL
Johnson R GlickUnited KingdomAmy Elsner PROPOSAL
Faith B CaudyItalyStephen Shaw QUALIFIED
James B KuskoJapanElwin Sharvill UNQUALIFIED
Jones M PaprockiItalyAnna Fali RENEWAL
Izzy V MaletJapanBernardo Dominic PROPOSAL
Francesco Q ChuiJapanAnna Fali NEW
Leja W MacleadArgentinaXuxue Feng UNQUALIFIED
Leon S RoysterSpainAnna Fali NEGOTIATION
Isabel K ButtBrazilOnyama Limba QUALIFIED
Aika S RoysterRussiaBernardo Dominic NEW
Wickens N DilliardRussiaStephen Shaw UNQUALIFIED
Salvatore M VenereUnited KingdomAmy Elsner NEW
Morrow I MaletUnited KingdomIvan Magalhaes NEGOTIATION
Chavez W CampainRussiaAnna Fali NEW
Maisha N BriddickIndiaStephen Shaw NEW
Johnson G SlusarskiItalyAnna Fali RENEWAL
Mujtaba D FollerBrazilAnna Fali NEW
Jennifer J WieserFranceBernardo Dominic RENEWAL
David P NestleGermanyXuxue Feng NEGOTIATION
Munro J CaldareraCanadaStephen Shaw UNQUALIFIED
Salvatore Z BriddickJapanAsiya Javayant PROPOSAL
Francesco K DilliardRussiaElwin Sharvill RENEWAL
David D FollerCanadaIvan Magalhaes NEW
Leon S BriddickUnited KingdomAmy Elsner QUALIFIED
Aruna C MaletGermanyStephen Shaw PROPOSAL
Costa Q GillianArgentinaStephen Shaw UNQUALIFIED
Arvin F NestleBrazilIoni Bowcher RENEWAL
David H VocelkaUnited KingdomBernardo Dominic PROPOSAL
Munro Q RoysterGermanyIvan Magalhaes PROPOSAL
Juan S MaletJapanElwin Sharvill NEW
Frozen Columns
Name
Antonio J Stockham
Mayumi W Stenseth
Octavia Q Poquette
James I Figeroa
Mujtaba G Ferencz
Leon N Nestle
Claire T Waycott
Rodrigues D Oldroyd
Jeanfrancois G Vocelka
Jeanfrancois E Whobrey
Darci D Paprocki
Silvio O Saylors
Greenwood X Wieser
Silvio T Paprocki
Antonio Q Dilliard
Chavez A Malet
Misaki X Iturbide
Jefferson G Nicka
Jefferson Q Glick
Cody I Schemmer
James C Shinko
Aika T Saylors
Jeanfrancois H Amigon
Clifford X Wieser
Wickens N Briddick
Isabel G Bowley
Aika U Iturbide
Alejandro Z Nestle
Jefferson W Venere
Jones H Rim
Alejandro O Saylors
Arvin Y Gillian
Smith H Wieser
Aditya L Slusarski
Wickens D Venere
James K Waycott
Misaki P Ostrosky
Greenwood R Chui
Jennifer O Glick
David M Poquette
Costa M Chui
Aruna A Iturbide
Julie D Campain
Jones D Butt
Sinclair Y Albares
Aika P Wieser
Darci Y Kolmetz
Francesco X Ruta
Mujtaba E Ferencz
Darci G Kusko
IdCountryDate
1000Australia2026-07-04
1001Italy2026-07-11
1002United Kingdom2026-07-07
1003Russia2026-07-23
1004Russia2026-07-01
1005Argentina2026-07-15
1006Spain2026-06-30
1007Russia2026-07-10
1008Spain2026-07-14
1009Argentina2026-07-27
1010Australia2026-07-18
1011United Kingdom2026-07-06
1012Spain2026-07-12
1013Russia2026-07-27
1014France2026-07-19
1015Spain2026-07-18
1016Brazil2026-07-03
1017Russia2026-07-03
1018Australia2026-07-09
1019Brazil2026-07-05
1020Argentina2026-07-14
1021Japan2026-07-19
1022France2026-07-03
1023Argentina2026-07-10
1024Japan2026-07-20
1025Germany2026-07-11
1026Germany2026-07-21
1027United Kingdom2026-07-21
1028Canada2026-07-20
1029Germany2026-07-06
1030United Kingdom2026-07-02
1031Brazil2026-07-14
1032Australia2026-07-07
1033Australia2026-07-13
1034Italy2026-07-17
1035Australia2026-07-08
1036India2026-07-25
1037Germany2026-07-13
1038Germany2026-07-24
1039Germany2026-07-04
1040Brazil2026-07-15
1041Japan2026-07-11
1042Argentina2026-07-25
1043Argentina2026-07-29
1044Italy2026-07-27
1045Spain2026-07-22
1046India2026-07-13
1047Russia2026-06-30
1048Brazil2026-07-08
1049France2026-07-19

On-Demand Data

NameIdCountryDate
Antonio D Inouye1000Spain2026-07-29
Kaitlin E Kusko1001United Kingdom2026-07-15
Stacey M Morasca1002Russia2026-07-01
Octavia C Kusko1003India2026-07-29
Darci H Dilliard1004Canada2026-07-22
Morrow C Stockham1005Germany2026-07-28
Darci T Briddick1006Russia2026-07-29
Johnson X Figeroa1007Italy2026-07-07
Misaki R Marrier1008Australia2026-06-30
Wickens X Rulapaugh1009Brazil2026-07-09
Aditya G Wieser1010Italy2026-07-11
Morrow C Sergi1011France2026-07-23
Murillo H Shinko1012Brazil2026-07-20
Aditya I Wieser1013Brazil2026-07-24
Aditya Q Wieser1014Italy2026-07-25
Izzy Z Flosi1015Brazil2026-07-12
Clifford X Caldarera1016Brazil2026-07-15
Leon I Glick1017France2026-07-01
Octavia O Saylors1018Argentina2026-07-25
Julie M Kolmetz1019Argentina2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams X BowleyArgentinaStephen Shaw QUALIFIED
Mayumi L OldroydGermanyOnyama Limba QUALIFIED
Francesco W GillianRussiaIvan Magalhaes RENEWAL
Greenwood U KolmetzCanadaStephen Shaw PROPOSAL
Wickens F RimJapanAsiya Javayant PROPOSAL
Antonio J NickaArgentinaIvan Magalhaes PROPOSAL
Maria U GlickCanadaAnna Fali NEW
Maria P NickaAustraliaBernardo Dominic UNQUALIFIED
Wickens G GauchoGermanyXuxue Feng QUALIFIED
Smith X NestleIndiaStephen Shaw RENEWAL
Jennifer B NickaBrazilStephen Shaw NEW
Leja H WieserCanadaAmy Elsner NEGOTIATION
Misaki W ButtSpainIvan Magalhaes PROPOSAL
Antonio V WieserArgentinaIvan Magalhaes RENEWAL
Adams L StockhamRussiaAnna Fali QUALIFIED
Leja O StockhamUnited KingdomBernardo Dominic RENEWAL
Adams W NickaItalyAnna Fali UNQUALIFIED
Deepesh S RimAustraliaElwin Sharvill RENEWAL
Kaitlin Q CampainIndiaIvan Magalhaes RENEWAL
Munro T StockhamIndiaAnna Fali QUALIFIED
Leja O SchemmerItalyIvan Magalhaes NEGOTIATION
Aditya Z VenereItalyAmy Elsner UNQUALIFIED
Jeanfrancois N MorascaIndiaStephen Shaw RENEWAL
Mujtaba E ShinkoBrazilIvan Magalhaes NEGOTIATION
Claire K OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Wickens C CaldareraGermanyBernardo Dominic QUALIFIED
Sinclair B RulapaughIndiaStephen Shaw PROPOSAL
Faith I CampainFranceStephen Shaw RENEWAL
Aika K SergiAustraliaOnyama Limba NEW
Stacey H RulapaughUnited KingdomAmy Elsner NEGOTIATION
David F MaletCanadaXuxue Feng PROPOSAL
Alejandro R RoysterUnited KingdomIoni Bowcher PROPOSAL
Julie R MaletJapanOnyama Limba RENEWAL
James X MarrierFranceIvan Magalhaes NEW
Deepesh B MarrierRussiaAnna Fali PROPOSAL
Emily J SergiCanadaStephen Shaw QUALIFIED
Silvio G BowleyBrazilIoni Bowcher NEW
James F ShinkoJapanXuxue Feng RENEWAL
Jeanfrancois Z OldroydBrazilStephen Shaw RENEWAL
Jones J ShinkoCanadaStephen Shaw 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>