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
Rodrigues K FlosiGermanyElwin Sharvill PROPOSAL
Ashley F CaudyCanadaAnna Fali PROPOSAL
Tony W WieserArgentinaIvan Magalhaes NEGOTIATION
Murillo C OldroydArgentinaIvan Magalhaes RENEWAL
Deepesh K TollnerSpainAsiya Javayant NEGOTIATION
Octavia P BowleySpainIvan Magalhaes PROPOSAL
Jefferson Y MarrierGermanyOnyama Limba NEW
Costa K VenereAustraliaOnyama Limba UNQUALIFIED
Antonio M GillianItalyXuxue Feng QUALIFIED
Rodrigues M PerinIndiaAmy Elsner NEGOTIATION
Morrow I TollnerItalyIvan Magalhaes PROPOSAL
Maria Y VenereArgentinaAnna Fali QUALIFIED
Jones F FigeroaRussiaBernardo Dominic RENEWAL
Maisha R GillianItalyOnyama Limba RENEWAL
Sinclair E MaletArgentinaOnyama Limba UNQUALIFIED
Maria H MaletArgentinaAnna Fali NEGOTIATION
Antonio E OldroydArgentinaBernardo Dominic NEGOTIATION
David D SaylorsCanadaXuxue Feng NEGOTIATION
Ivar Y PoquetteUnited KingdomXuxue Feng UNQUALIFIED
Jefferson Q VenereUnited KingdomAnna Fali RENEWAL
Clifford H RulapaughAustraliaXuxue Feng NEGOTIATION
Adams N WaycottIndiaXuxue Feng NEGOTIATION
Maisha D DilliardJapanBernardo Dominic NEW
Aruna M KolmetzJapanIoni Bowcher QUALIFIED
Aditya D BriddickAustraliaXuxue Feng RENEWAL
James H PerinJapanAnna Fali PROPOSAL
Octavia U VenereSpainAnna Fali NEGOTIATION
Francesco E IturbideBrazilAsiya Javayant UNQUALIFIED
Nicolas N KuskoGermanyOnyama Limba RENEWAL
Clifford X SergiRussiaBernardo Dominic QUALIFIED
Ashley J RoysterIndiaAsiya Javayant UNQUALIFIED
Maisha H WaycottCanadaAmy Elsner QUALIFIED
Faith Y PaprockiAustraliaIoni Bowcher PROPOSAL
Jefferson O NickaGermanyXuxue Feng PROPOSAL
Leja I GlickGermanyAsiya Javayant NEGOTIATION
Leon L PerinUnited KingdomAnna Fali RENEWAL
Claire Z SlusarskiJapanAmy Elsner NEW
Julie I OldroydJapanAnna Fali NEGOTIATION
Deepesh S OstroskyFranceElwin Sharvill QUALIFIED
Francesco G WhobreySpainAmy Elsner NEW
Izzy A NickaArgentinaOnyama Limba NEGOTIATION
Arvin Y GlickArgentinaElwin Sharvill QUALIFIED
Mayumi C SchemmerItalyAsiya Javayant RENEWAL
Silvio Y InouyeJapanAnna Fali UNQUALIFIED
Leja V ChuiAustraliaAmy Elsner QUALIFIED
Leon B DilliardIndiaAnna Fali PROPOSAL
Cody O OstroskyJapanAsiya Javayant UNQUALIFIED
Octavia B CaudyCanadaElwin Sharvill QUALIFIED
Greenwood N GlickCanadaStephen Shaw NEGOTIATION
Antonio W PaprockiSpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem X VenereIndiaOnyama Limba NEGOTIATION
Jeanfrancois Z WaycottBrazilXuxue Feng PROPOSAL
Murillo W GlickRussiaElwin Sharvill QUALIFIED
Jefferson N FerenczRussiaOnyama Limba NEGOTIATION
Chavez D SergiJapanBernardo Dominic PROPOSAL
Julie X MaletArgentinaAsiya Javayant RENEWAL
Emily Y StensethBrazilBernardo Dominic NEW
Adams E VocelkaFranceIvan Magalhaes QUALIFIED
Leon U CaudyJapanXuxue Feng QUALIFIED
Smith U BriddickRussiaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens B ShinkoGermany2024-05-17Rangoni Of Florence QUALIFIED84Anna Fali
1001Morrow D WhobreyItaly2024-06-06Dorl, James J Esq QUALIFIED81Ioni Bowcher
1002Clifford R AmigonRussia2024-05-26Morlong Associates UNQUALIFIED59Stephen Shaw
1003Misaki B RulapaughAustralia2024-05-31Feltz Printing Service PROPOSAL45Asiya Javayant
1004Aditya J MacleadJapan2024-06-02Printing Dimensions QUALIFIED61Elwin Sharvill
1005Arvin G RoysterUnited Kingdom2024-05-22Dorl, James J Esq PROPOSAL4Anna Fali
1006Ricardo Z BriddickItaly2024-06-07Dorl, James J Esq QUALIFIED19Elwin Sharvill
1007Nicolas W StensethSpain2024-06-03Benton, John B Jr UNQUALIFIED79Onyama Limba
1008Izzy S CampainFrance2024-05-16Buckley Miller Wright NEGOTIATION16Ioni Bowcher
1009Wickens T AlbaresFrance2024-05-17Benton, John B Jr RENEWAL77Amy Elsner
1010Adams N KuskoAustralia2024-05-21Feiner Bros NEGOTIATION79Onyama Limba
1011Antonio S MaletUnited Kingdom2024-06-11Chemel, James L Cpa QUALIFIED92Stephen Shaw
1012Aruna R SaylorsAustralia2024-06-03Benton, John B Jr UNQUALIFIED87Onyama Limba
1013Clifford F AmigonArgentina2024-06-12Dorl, James J Esq NEGOTIATION18Bernardo Dominic
1014Octavia H CaudyUnited Kingdom2024-05-28Printing Dimensions NEGOTIATION59Anna Fali
1015Ricardo R BowleyFrance2024-05-29Chemel, James L Cpa NEGOTIATION12Asiya Javayant
1016Costa A BriddickFrance2024-05-26Feltz Printing Service RENEWAL53Onyama Limba
1017David G PoquetteItaly2024-06-12Rousseaux, Michael Esq PROPOSAL4Xuxue Feng
1018Ashley I GlickItaly2024-06-07Dorl, James J Esq QUALIFIED16Stephen Shaw
1019Ashley O FollerRussia2024-06-14Chanay, Jeffrey A Esq PROPOSAL96Onyama Limba
1020Johnson C VocelkaCanada2024-05-27Feltz Printing Service NEGOTIATION81Amy Elsner
1021Munro J StockhamIndia2024-05-27Chapman, Ross E Esq RENEWAL46Bernardo Dominic
1022Adams G BriddickItaly2024-05-25Dorl, James J Esq PROPOSAL95Stephen Shaw
1023Tony Z ChuiBrazil2024-06-09Commercial Press UNQUALIFIED26Ioni Bowcher
1024Deepesh O ButtFrance2024-06-11Chapman, Ross E Esq RENEWAL31Asiya Javayant
1025Jennifer X WhobreyArgentina2024-05-20Benton, John B Jr RENEWAL97Ivan Magalhaes
1026Clifford H ButtUnited Kingdom2024-06-11Commercial Press QUALIFIED75Ioni Bowcher
1027Isabel L WhobreyItaly2024-06-12Feiner Bros NEGOTIATION99Anna Fali
1028Leja D IturbideRussia2024-05-29Chapman, Ross E Esq NEW8Asiya Javayant
1029Leon U AlbaresIndia2024-05-28Buckley Miller Wright UNQUALIFIED95Ivan Magalhaes
1030Cody I CaldareraJapan2024-05-29Chapman, Ross E Esq NEGOTIATION25Ioni Bowcher
1031Maria L PerinGermany2024-06-09Feiner Bros UNQUALIFIED41Onyama Limba
1032Antonio T SchemmerJapan2024-05-24Dorl, James J Esq NEGOTIATION23Ioni Bowcher
1033Isabel P BologniaIndia2024-05-29Truhlar And Truhlar Attys PROPOSAL84Amy Elsner
1034Maria K RimAustralia2024-06-10Dorl, James J Esq NEGOTIATION56Ioni Bowcher
1035Wickens H DoeUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEW58Ioni Bowcher
1036Greenwood T KuskoJapan2024-05-21Chapman, Ross E Esq NEW51Anna Fali
1037Murillo N RimJapan2024-05-16Truhlar And Truhlar Attys UNQUALIFIED15Amy Elsner
1038Nicolas X CaudyItaly2024-06-06Chanay, Jeffrey A Esq PROPOSAL2Elwin Sharvill
1039Arvin J SlusarskiBrazil2024-05-25Dorl, James J Esq PROPOSAL21Bernardo Dominic
1040Aditya N AmigonItaly2024-05-25Commercial Press RENEWAL54Onyama Limba
1041Mayumi Q ShinkoGermany2024-06-05Dorl, James J Esq NEW4Ivan Magalhaes
1042Aditya Z BowleyGermany2024-06-14Buckley Miller Wright NEGOTIATION71Xuxue Feng
1043Ricardo X FigeroaRussia2024-05-21Morlong Associates PROPOSAL68Elwin Sharvill
1044Rodrigues H MorascaRussia2024-06-03Chanay, Jeffrey A Esq NEGOTIATION41Onyama Limba
1045Faith U PaprockiUnited Kingdom2024-05-28Commercial Press NEGOTIATION63Bernardo Dominic
1046Salvatore A KolmetzAustralia2024-05-27Printing Dimensions NEW75Ioni Bowcher
1047Chavez J GarufiRussia2024-06-14Morlong Associates NEGOTIATION92Xuxue Feng
1048Jennifer G FigeroaBrazil2024-05-24King, Christopher A Esq NEGOTIATION88Onyama Limba
1049Isabel I CaldareraBrazil2024-05-22Feltz Printing Service NEW17Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Johnson Y RulapaughSpainAsiya Javayant NEW
David D StensethFranceIvan Magalhaes UNQUALIFIED
Munro T StensethAustraliaAmy Elsner RENEWAL
Emily Y WaycottCanadaIvan Magalhaes UNQUALIFIED
Julie U MaletGermanyAnna Fali NEW
Arvin C OstroskyIndiaBernardo Dominic PROPOSAL
Tony N SaylorsIndiaAnna Fali PROPOSAL
Jones O ChuiCanadaBernardo Dominic PROPOSAL
Kaitlin K OldroydJapanAnna Fali NEW
Morrow C FerenczUnited KingdomXuxue Feng QUALIFIED
Stacey J GlickItalyIoni Bowcher QUALIFIED
Isabel C GillianAustraliaIvan Magalhaes PROPOSAL
Deepesh W FerenczBrazilIvan Magalhaes NEGOTIATION
Stacey O MaletIndiaIoni Bowcher UNQUALIFIED
Sinclair Z SlusarskiJapanAsiya Javayant UNQUALIFIED
Leja B AmigonUnited KingdomStephen Shaw QUALIFIED
Morrow D ShinkoSpainOnyama Limba RENEWAL
Adams X DilliardIndiaIoni Bowcher NEGOTIATION
Smith M DarakjyAustraliaIvan Magalhaes PROPOSAL
Ricardo K PaprockiGermanyIoni Bowcher NEGOTIATION
Misaki J PerinGermanyIoni Bowcher NEW
Ivar O WhobreyCanadaIvan Magalhaes RENEWAL
Sinclair D ButtFranceElwin Sharvill NEGOTIATION
Nicolas X WieserGermanyIvan Magalhaes QUALIFIED
Kadeem N FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Leja X NestleFranceIvan Magalhaes RENEWAL
Claire N GillianFranceStephen Shaw NEW
Mayumi W MaletCanadaIvan Magalhaes NEW
Darci Q StockhamItalyIoni Bowcher PROPOSAL
Kadeem W VenereCanadaElwin Sharvill QUALIFIED
Octavia G SaylorsArgentinaBernardo Dominic NEGOTIATION
James J MaletSpainAnna Fali QUALIFIED
Jeanfrancois T BowleyAustraliaAnna Fali PROPOSAL
Tony E GarufiItalyAsiya Javayant UNQUALIFIED
Arvin H ChuiArgentinaIvan Magalhaes QUALIFIED
Jefferson Q StensethGermanyStephen Shaw PROPOSAL
David K DarakjyRussiaIoni Bowcher NEW
Jefferson H GlickRussiaAsiya Javayant UNQUALIFIED
Francesco K GlickItalyIoni Bowcher NEGOTIATION
David J SlusarskiCanadaAsiya Javayant NEGOTIATION
Munro Y BologniaCanadaAnna Fali NEGOTIATION
Clifford Y ShinkoAustraliaXuxue Feng RENEWAL
Claire C PoquetteCanadaIoni Bowcher UNQUALIFIED
Wickens C OldroydSpainIoni Bowcher NEGOTIATION
Arvin D AlbaresRussiaAnna Fali NEW
Claire K IturbideCanadaElwin Sharvill QUALIFIED
Costa B MaletRussiaAnna Fali PROPOSAL
Darci R NickaSpainElwin Sharvill QUALIFIED
Jennifer M GillianItalyBernardo Dominic UNQUALIFIED
Jones F SchemmerAustraliaBernardo Dominic NEW
Frozen Columns
Name
Sinclair Y Marrier
Salvatore A Albares
Mujtaba K Flosi
Ivar O Gillian
Greenwood C Nicka
Jones W Whobrey
Ashley R Rulapaugh
Claire C Ferencz
Stacey O Figeroa
Juan B Bowley
Aruna U Schemmer
Aruna Z Marrier
Ashley K Tollner
Isabel K Bowley
Wickens Z Gillian
Cody Z Paprocki
Greenwood M Kusko
Antonio V Bowley
Adams Z Rulapaugh
Wickens W Caudy
Munro F Caldarera
Jeanfrancois C Kolmetz
Ricardo J Slusarski
Kadeem I Stockham
Julie Q Shinko
James R Slusarski
Ivar U Inouye
Julie U Figeroa
Emily D Kusko
Jeanfrancois N Nestle
Sinclair H Caldarera
Salvatore L Ruta
Arvin N Rim
James X Sergi
Arvin R Rim
Silvio Q Royster
Tony D Caldarera
Tony T Paprocki
Kaitlin S Inouye
Leon V Oldroyd
Costa N Ferencz
Emily H Morasca
Stacey A Briddick
Costa U Rim
Morrow I Flosi
Murillo I Tollner
Aditya P Rim
Murillo U Butt
Izzy X Perin
Murillo Y Stenseth
IdCountryDate
1000Russia2024-06-05
1001Australia2024-06-10
1002Spain2024-06-08
1003Brazil2024-05-21
1004Spain2024-06-10
1005Italy2024-05-18
1006France2024-05-22
1007Brazil2024-06-08
1008Spain2024-06-14
1009Italy2024-06-09
1010France2024-05-26
1011Japan2024-05-23
1012Germany2024-05-20
1013India2024-06-01
1014Japan2024-05-16
1015Japan2024-05-30
1016India2024-05-20
1017Russia2024-05-25
1018Spain2024-05-29
1019Brazil2024-05-30
1020Australia2024-05-24
1021India2024-05-28
1022Brazil2024-06-12
1023Australia2024-05-22
1024Spain2024-05-16
1025Canada2024-05-17
1026France2024-05-25
1027France2024-06-12
1028United Kingdom2024-05-27
1029Germany2024-05-16
1030Italy2024-05-21
1031Australia2024-05-28
1032Russia2024-05-18
1033Russia2024-06-12
1034Russia2024-05-30
1035Australia2024-05-26
1036India2024-05-31
1037Italy2024-06-07
1038India2024-05-29
1039France2024-05-24
1040Spain2024-05-18
1041Italy2024-06-01
1042Germany2024-05-16
1043Spain2024-06-01
1044Canada2024-05-22
1045India2024-05-25
1046Spain2024-05-16
1047Russia2024-05-22
1048Argentina2024-05-25
1049France2024-05-27

On-Demand Data

NameIdCountryDate
Francesco I Perin1000Italy2024-05-21
Alejandro F Figeroa1001France2024-06-10
Tony N Malet1002Australia2024-06-02
Greenwood A Tollner1003Russia2024-06-06
Nicolas J Caudy1004Italy2024-05-23
Emily I Royster1005Argentina2024-05-28
Maria L Briddick1006India2024-06-05
Maria C Albares1007Russia2024-06-04
Kadeem L Kolmetz1008India2024-05-16
Emily Z Garufi1009India2024-05-17
Chavez H Foller1010Russia2024-06-09
Munro Z Rim1011Brazil2024-05-18
Julie O Amigon1012Argentina2024-05-19
Leon V Rim1013Spain2024-06-02
Ashley S Morasca1014Canada2024-06-14
Jennifer Q Rulapaugh1015Germany2024-06-11
Faith R Slusarski1016Japan2024-05-23
Ivar E Sergi1017France2024-05-25
Ricardo X Tollner1018Argentina2024-06-14
Jones H Schemmer1019France2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya E StockhamBrazilAmy Elsner NEGOTIATION
Ricardo C OstroskyRussiaBernardo Dominic RENEWAL
Francesco Y NestleArgentinaOnyama Limba RENEWAL
Mujtaba B SchemmerSpainIvan Magalhaes QUALIFIED
Jefferson D FollerRussiaBernardo Dominic RENEWAL
Nicolas L TollnerCanadaAnna Fali RENEWAL
Isabel Q ButtIndiaIoni Bowcher QUALIFIED
Greenwood R GauchoIndiaAsiya Javayant PROPOSAL
Francesco D CaldareraSpainAnna Fali QUALIFIED
Francesco U FerenczCanadaIvan Magalhaes QUALIFIED
David A NickaArgentinaStephen Shaw PROPOSAL
Izzy J GauchoFranceIvan Magalhaes PROPOSAL
Clifford Z AmigonCanadaAnna Fali RENEWAL
Smith N PaprockiCanadaStephen Shaw NEGOTIATION
Chavez N ChuiArgentinaXuxue Feng NEW
Stacey L MorascaAustraliaAnna Fali NEW
Kaitlin A PaprockiUnited KingdomElwin Sharvill PROPOSAL
Leon N CaldareraIndiaBernardo Dominic UNQUALIFIED
Ivar M SlusarskiBrazilAmy Elsner NEGOTIATION
Ricardo H RutaSpainAmy Elsner PROPOSAL
Isabel K ShinkoJapanAsiya Javayant NEW
Sinclair B CampainCanadaAmy Elsner RENEWAL
Deepesh V BowleyArgentinaIoni Bowcher RENEWAL
Julie Y RimJapanAsiya Javayant NEW
Alejandro M SaylorsGermanyElwin Sharvill NEGOTIATION
Ivar N WhobreyItalyStephen Shaw NEW
Leja C SlusarskiBrazilAsiya Javayant NEGOTIATION
David X RulapaughItalyElwin Sharvill UNQUALIFIED
Mayumi E RutaItalyIvan Magalhaes UNQUALIFIED
Smith J FollerSpainXuxue Feng QUALIFIED
Cody S VocelkaRussiaAnna Fali RENEWAL
James O CampainItalyAsiya Javayant PROPOSAL
Maria U SergiIndiaStephen Shaw NEW
Costa T GlickBrazilStephen Shaw NEW
Mayumi D ButtItalyXuxue Feng PROPOSAL
Adams F WhobreyBrazilBernardo Dominic PROPOSAL
Costa F MarrierCanadaStephen Shaw RENEWAL
Antonio E ChuiIndiaElwin Sharvill PROPOSAL
Francesco T KuskoItalyAmy Elsner UNQUALIFIED
Jones W BriddickIndiaIvan Magalhaes NEW

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