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
Smith A SchemmerSpainAmy Elsner UNQUALIFIED
Cody E AlbaresRussiaOnyama Limba PROPOSAL
Francesco Y DilliardArgentinaXuxue Feng PROPOSAL
Aika C SchemmerBrazilBernardo Dominic QUALIFIED
Smith L RimArgentinaIoni Bowcher NEW
Arvin I PoquetteSpainBernardo Dominic NEGOTIATION
Jefferson A StockhamItalyStephen Shaw UNQUALIFIED
Francesco J GillianJapanIvan Magalhaes NEGOTIATION
Claire E RimBrazilOnyama Limba NEGOTIATION
Murillo Y AlbaresCanadaAnna Fali RENEWAL
James E FollerBrazilAnna Fali PROPOSAL
Deepesh T RimItalyStephen Shaw NEGOTIATION
Adams O WhobreyItalyAnna Fali RENEWAL
Claire V CaldareraBrazilElwin Sharvill NEGOTIATION
Ashley J KuskoSpainElwin Sharvill NEW
Maisha S ButtArgentinaIvan Magalhaes UNQUALIFIED
Aruna H GillianUnited KingdomIoni Bowcher NEGOTIATION
Costa B GlickUnited KingdomElwin Sharvill PROPOSAL
Stacey A FigeroaItalyAsiya Javayant NEGOTIATION
Alejandro Q DoeItalyBernardo Dominic NEGOTIATION
Morrow W PoquetteBrazilIvan Magalhaes PROPOSAL
James B DarakjyUnited KingdomOnyama Limba PROPOSAL
Maria N CaudyCanadaIvan Magalhaes PROPOSAL
David T RoysterUnited KingdomBernardo Dominic QUALIFIED
Juan S SergiRussiaIoni Bowcher NEGOTIATION
Leon E StensethBrazilIvan Magalhaes QUALIFIED
Alejandro P VocelkaItalyAnna Fali RENEWAL
Salvatore S CampainSpainAsiya Javayant RENEWAL
Maria X RulapaughFranceElwin Sharvill NEW
Julie X BriddickBrazilIoni Bowcher NEGOTIATION
Clifford J RoysterRussiaStephen Shaw UNQUALIFIED
Jones X NestleItalyElwin Sharvill UNQUALIFIED
Antonio J TollnerRussiaAmy Elsner RENEWAL
Greenwood J FlosiFranceBernardo Dominic PROPOSAL
Jeanfrancois D MaletRussiaIvan Magalhaes NEW
Emily H AmigonAustraliaIoni Bowcher NEGOTIATION
Octavia X NestleArgentinaAsiya Javayant RENEWAL
Aruna H StockhamCanadaOnyama Limba UNQUALIFIED
Deepesh N TollnerAustraliaOnyama Limba QUALIFIED
Murillo G MaletGermanyStephen Shaw RENEWAL
Jeanfrancois E CampainArgentinaStephen Shaw PROPOSAL
Claire T VenereArgentinaIvan Magalhaes QUALIFIED
Nicolas A FollerArgentinaStephen Shaw UNQUALIFIED
Kaitlin W WaycottUnited KingdomElwin Sharvill PROPOSAL
James J PaprockiIndiaAnna Fali RENEWAL
Aruna H KuskoIndiaAmy Elsner NEGOTIATION
Kaitlin K SergiFranceAnna Fali NEW
Morrow Y TollnerGermanyIoni Bowcher NEW
Leon A MorascaCanadaOnyama Limba RENEWAL
Mayumi X CampainBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio S GauchoFranceXuxue Feng PROPOSAL
Jones N StockhamFranceIoni Bowcher UNQUALIFIED
Morrow U SchemmerRussiaAsiya Javayant RENEWAL
Deepesh R SlusarskiFranceIvan Magalhaes NEGOTIATION
Leon S ShinkoJapanIoni Bowcher NEGOTIATION
Jennifer V RimIndiaIvan Magalhaes QUALIFIED
Sinclair D WieserSpainBernardo Dominic PROPOSAL
Juan H AlbaresFranceElwin Sharvill NEGOTIATION
Smith J PoquetteFranceStephen Shaw QUALIFIED
Johnson N BriddickCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro G FlosiIndia2024-06-02Feiner Bros NEW18Elwin Sharvill
1001Nicolas G OldroydSpain2024-05-28Truhlar And Truhlar Attys QUALIFIED48Stephen Shaw
1002Francesco D RimAustralia2024-05-26Rangoni Of Florence QUALIFIED17Asiya Javayant
1003Maisha A MaletJapan2024-06-20Commercial Press PROPOSAL66Xuxue Feng
1004Aika D ShinkoRussia2024-06-20Commercial Press NEGOTIATION58Elwin Sharvill
1005David S OldroydJapan2024-05-29King, Christopher A Esq PROPOSAL27Asiya Javayant
1006Stacey I SchemmerFrance2024-05-25Printing Dimensions NEGOTIATION69Ioni Bowcher
1007Mujtaba L FerenczCanada2024-06-18Chanay, Jeffrey A Esq PROPOSAL6Anna Fali
1008Jefferson F CaldareraIndia2024-06-06Buckley Miller Wright QUALIFIED80Elwin Sharvill
1009Ricardo J GauchoIndia2024-06-12Rangoni Of Florence QUALIFIED44Bernardo Dominic
1010Johnson J SchemmerIndia2024-06-05Chapman, Ross E Esq NEGOTIATION4Asiya Javayant
1011Juan Y MaletRussia2024-06-09Commercial Press NEW15Anna Fali
1012Cody C WaycottJapan2024-06-15Truhlar And Truhlar Attys QUALIFIED18Stephen Shaw
1013Maria J WieserIndia2024-05-29Benton, John B Jr NEW17Ivan Magalhaes
1014Jeanfrancois B MorascaIndia2024-06-18Feltz Printing Service RENEWAL42Xuxue Feng
1015Clifford Z PerinCanada2024-06-06Benton, John B Jr NEW34Xuxue Feng
1016Alejandro M BowleyFrance2024-05-29Rangoni Of Florence UNQUALIFIED30Asiya Javayant
1017Chavez C FigeroaIndia2024-06-15Dorl, James J Esq PROPOSAL92Ioni Bowcher
1018Claire S RutaSpain2024-05-26Benton, John B Jr UNQUALIFIED84Asiya Javayant
1019James T CaldareraSpain2024-06-03Chemel, James L Cpa NEGOTIATION75Elwin Sharvill
1020Silvio B FerenczRussia2024-06-19Chemel, James L Cpa NEGOTIATION8Anna Fali
1021James G SchemmerRussia2024-05-27Dorl, James J Esq NEGOTIATION31Ioni Bowcher
1022Antonio A VocelkaGermany2024-06-13Buckley Miller Wright PROPOSAL44Ivan Magalhaes
1023Clifford W RulapaughIndia2024-05-30King, Christopher A Esq RENEWAL58Ivan Magalhaes
1024Clifford M VocelkaBrazil2024-06-02Chapman, Ross E Esq QUALIFIED63Ioni Bowcher
1025Kaitlin K DilliardArgentina2024-05-27Truhlar And Truhlar Attys NEW27Bernardo Dominic
1026Clifford P PaprockiCanada2024-06-02Commercial Press UNQUALIFIED26Ivan Magalhaes
1027James T MaletJapan2024-05-25Truhlar And Truhlar Attys NEW63Elwin Sharvill
1028Darci V NickaJapan2024-06-09Rangoni Of Florence QUALIFIED44Xuxue Feng
1029Antonio U BriddickSpain2024-06-11Feiner Bros NEGOTIATION51Asiya Javayant
1030Claire C WhobreyJapan2024-06-06Benton, John B Jr NEW55Ioni Bowcher
1031Arvin X ButtAustralia2024-05-30King, Christopher A Esq NEGOTIATION84Stephen Shaw
1032Leja Y RoysterFrance2024-06-11Benton, John B Jr PROPOSAL67Asiya Javayant
1033Arvin T KuskoCanada2024-05-24Printing Dimensions NEW47Xuxue Feng
1034Aditya B StockhamRussia2024-06-05Feiner Bros NEW70Ivan Magalhaes
1035Ashley O FollerIndia2024-05-28Chanay, Jeffrey A Esq PROPOSAL14Elwin Sharvill
1036Jeanfrancois S InouyeItaly2024-06-20Buckley Miller Wright QUALIFIED67Elwin Sharvill
1037Rodrigues A VenereBrazil2024-05-31Buckley Miller Wright NEW51Xuxue Feng
1038Jennifer Q GlickIndia2024-06-01Chanay, Jeffrey A Esq RENEWAL63Bernardo Dominic
1039Faith C MarrierJapan2024-06-16Rousseaux, Michael Esq NEW82Asiya Javayant
1040Sinclair E BowleyFrance2024-05-27Benton, John B Jr NEW11Xuxue Feng
1041Emily Y BriddickCanada2024-06-12Printing Dimensions UNQUALIFIED98Xuxue Feng
1042Leon F NickaAustralia2024-06-16Benton, John B Jr PROPOSAL63Asiya Javayant
1043Juan X GarufiCanada2024-06-13Commercial Press NEW99Anna Fali
1044Salvatore I SchemmerRussia2024-06-14Feiner Bros RENEWAL51Stephen Shaw
1045Misaki V StensethUnited Kingdom2024-06-04Buckley Miller Wright NEW27Elwin Sharvill
1046Misaki D RulapaughFrance2024-06-14Morlong Associates PROPOSAL33Stephen Shaw
1047Darci M PaprockiGermany2024-06-18Feltz Printing Service NEW96Xuxue Feng
1048Salvatore S OstroskyGermany2024-06-03Feltz Printing Service RENEWAL93Anna Fali
1049Sinclair B DarakjyFrance2024-06-07Chapman, Ross E Esq NEGOTIATION1Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David B RutaArgentinaBernardo Dominic RENEWAL
Ivar S BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Johnson I ChuiBrazilOnyama Limba QUALIFIED
Chavez Z FlosiFranceBernardo Dominic UNQUALIFIED
Aditya H WieserGermanyAmy Elsner QUALIFIED
Deepesh H CaudyUnited KingdomAnna Fali NEW
Murillo N InouyeCanadaXuxue Feng NEW
Rodrigues V PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Julie W ShinkoItalyElwin Sharvill QUALIFIED
Maisha H MorascaUnited KingdomOnyama Limba PROPOSAL
Johnson P SlusarskiIndiaBernardo Dominic UNQUALIFIED
Jefferson C GarufiAustraliaBernardo Dominic QUALIFIED
Deepesh T CaudyCanadaAsiya Javayant RENEWAL
Munro B SergiUnited KingdomAnna Fali UNQUALIFIED
Emily O RoysterUnited KingdomStephen Shaw NEW
Kaitlin S GillianJapanOnyama Limba RENEWAL
Jennifer L PerinAustraliaAsiya Javayant QUALIFIED
Octavia U SergiGermanyXuxue Feng UNQUALIFIED
Tony E SaylorsFranceOnyama Limba UNQUALIFIED
Maisha E ChuiFranceAsiya Javayant PROPOSAL
Adams F KuskoSpainIvan Magalhaes NEGOTIATION
Greenwood T FlosiArgentinaXuxue Feng NEGOTIATION
Aruna I AlbaresJapanAmy Elsner RENEWAL
Morrow F PerinRussiaAnna Fali NEGOTIATION
Silvio U TollnerRussiaXuxue Feng NEW
Adams F OstroskyUnited KingdomElwin Sharvill NEW
Aruna B DilliardBrazilElwin Sharvill QUALIFIED
Maria M OstroskyCanadaIoni Bowcher NEGOTIATION
Silvio T StockhamArgentinaAsiya Javayant QUALIFIED
Nicolas K StensethIndiaStephen Shaw PROPOSAL
Francesco Y KuskoUnited KingdomAnna Fali QUALIFIED
Aruna V SchemmerUnited KingdomXuxue Feng RENEWAL
Kaitlin J AlbaresItalyBernardo Dominic UNQUALIFIED
Juan N CaudyAustraliaBernardo Dominic PROPOSAL
Francesco M InouyeItalyAmy Elsner NEW
Isabel T NickaJapanStephen Shaw RENEWAL
Isabel H StensethCanadaAmy Elsner PROPOSAL
Wickens C NickaArgentinaStephen Shaw PROPOSAL
Aruna K ButtFranceIoni Bowcher UNQUALIFIED
Kadeem W StockhamGermanyAsiya Javayant QUALIFIED
Mujtaba C CaldareraGermanyIoni Bowcher NEGOTIATION
Arvin V CaldareraArgentinaBernardo Dominic NEW
Maria S WieserSpainAmy Elsner UNQUALIFIED
Jeanfrancois G SaylorsArgentinaAnna Fali UNQUALIFIED
Alejandro W DarakjyFranceXuxue Feng UNQUALIFIED
Leon B SergiAustraliaElwin Sharvill NEW
Maisha M BowleyIndiaXuxue Feng QUALIFIED
Isabel C StockhamGermanyAsiya Javayant NEW
Ricardo Z WhobreyArgentinaIoni Bowcher RENEWAL
Ivar V GlickRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Julie H Inouye
Greenwood L Caldarera
Mayumi A Inouye
Leon S Marrier
Munro K Sergi
Adams K Kusko
Mujtaba I Gaucho
Jeanfrancois P Gaucho
Chavez B Oldroyd
Morrow Z Perin
Francesco I Ferencz
Stacey U Ostrosky
Jefferson L Kolmetz
Stacey B Figeroa
Rodrigues U Tollner
Leja O Figeroa
Ivar A Campain
Rodrigues N Malet
Johnson K Royster
Ashley T Whobrey
Costa C Glick
Jones J Marrier
Smith L Perin
Alejandro K Briddick
Ricardo E Poquette
James W Iturbide
Salvatore P Slusarski
Mayumi I Ferencz
James S Tollner
Francesco Q Malet
Salvatore Q Gaucho
Mayumi E Ferencz
Rodrigues F Briddick
Johnson C Wieser
Antonio F Butt
Tony F Foller
Isabel H Vocelka
Aditya E Venere
Salvatore B Dilliard
Morrow L Darakjy
Ricardo Q Flosi
Maria A Malet
Aruna L Morasca
Misaki D Figeroa
Izzy M Tollner
Julie S Albares
Sinclair Z Campain
Ricardo I Nestle
Chavez O Campain
Chavez D Flosi
IdCountryDate
1000India2024-06-17
1001United Kingdom2024-06-08
1002Japan2024-05-30
1003Russia2024-06-10
1004Argentina2024-05-31
1005Canada2024-06-13
1006Germany2024-06-11
1007India2024-06-04
1008Australia2024-05-25
1009Russia2024-05-29
1010Australia2024-06-09
1011Argentina2024-05-31
1012Argentina2024-05-25
1013Russia2024-06-11
1014United Kingdom2024-06-05
1015Germany2024-06-03
1016Spain2024-06-11
1017Australia2024-06-11
1018Spain2024-06-06
1019Spain2024-06-11
1020Canada2024-06-14
1021Canada2024-06-08
1022Canada2024-06-07
1023Russia2024-05-25
1024Italy2024-06-13
1025Australia2024-06-01
1026Japan2024-06-09
1027Russia2024-05-31
1028Russia2024-05-26
1029Italy2024-06-06
1030Canada2024-06-11
1031United Kingdom2024-06-06
1032United Kingdom2024-06-19
1033India2024-06-02
1034Brazil2024-05-26
1035Germany2024-06-03
1036Argentina2024-06-22
1037Italy2024-06-02
1038Brazil2024-06-20
1039France2024-06-11
1040Russia2024-06-15
1041Germany2024-06-08
1042Japan2024-06-03
1043Germany2024-06-17
1044India2024-06-06
1045Brazil2024-06-15
1046Spain2024-06-01
1047Germany2024-06-22
1048France2024-06-08
1049France2024-06-11

On-Demand Data

NameIdCountryDate
Darci E Figeroa1000Spain2024-06-05
Tony P Flosi1001United Kingdom2024-06-04
Jennifer U Tollner1002Brazil2024-06-09
Mujtaba D Bolognia1003France2024-06-06
Alejandro S Bolognia1004Spain2024-06-02
James C Malet1005Russia2024-06-03
Maisha S Stockham1006Germany2024-06-07
Stacey N Campain1007Germany2024-05-31
James Y Morasca1008Spain2024-05-24
Jefferson B Figeroa1009Germany2024-06-08
Leja W Darakjy1010Argentina2024-06-09
Octavia F Doe1011United Kingdom2024-05-31
Emily U Vocelka1012Russia2024-06-03
Nicolas P Chui1013France2024-06-16
Sinclair E Dilliard1014Germany2024-06-01
Sinclair U Kusko1015Australia2024-05-26
Maisha Q Morasca1016Brazil2024-05-29
Octavia E Perin1017Brazil2024-06-09
Misaki S Amigon1018Australia2024-05-28
Maisha B Kolmetz1019Germany2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith A OstroskyIndiaXuxue Feng RENEWAL
Aruna T IturbideAustraliaAsiya Javayant PROPOSAL
Sinclair J FerenczAustraliaAnna Fali NEW
Arvin Z BowleyBrazilIoni Bowcher UNQUALIFIED
Salvatore K StensethFranceStephen Shaw PROPOSAL
Deepesh G MorascaRussiaXuxue Feng PROPOSAL
Izzy Z CaldareraSpainAmy Elsner PROPOSAL
Salvatore D NestleGermanyStephen Shaw NEGOTIATION
Smith U SchemmerArgentinaAnna Fali PROPOSAL
Wickens D OstroskyCanadaXuxue Feng QUALIFIED
Aditya A GlickRussiaStephen Shaw UNQUALIFIED
Clifford I ShinkoCanadaElwin Sharvill NEW
Leon S CampainAustraliaXuxue Feng NEW
Murillo C BowleyCanadaAsiya Javayant PROPOSAL
Salvatore W VocelkaItalyOnyama Limba NEW
Tony H WhobreyGermanyOnyama Limba RENEWAL
Alejandro D InouyeFranceElwin Sharvill NEGOTIATION
Murillo S StockhamItalyStephen Shaw UNQUALIFIED
Adams U DarakjyRussiaBernardo Dominic NEW
Arvin K FollerUnited KingdomElwin Sharvill RENEWAL
Kadeem Y PoquetteFranceAmy Elsner NEGOTIATION
Cody S KolmetzRussiaIoni Bowcher UNQUALIFIED
Ricardo Q SlusarskiJapanElwin Sharvill RENEWAL
Juan B CampainFranceAmy Elsner RENEWAL
Maisha C IturbideGermanyAnna Fali RENEWAL
Jefferson Y SergiItalyStephen Shaw UNQUALIFIED
Costa W IturbideSpainXuxue Feng NEW
Chavez T WhobreyItalyAsiya Javayant RENEWAL
Juan E SaylorsCanadaAmy Elsner RENEWAL
Silvio W WaycottBrazilIoni Bowcher NEW
Antonio J VenereUnited KingdomBernardo Dominic RENEWAL
Antonio F InouyeCanadaElwin Sharvill PROPOSAL
Chavez T PerinCanadaIvan Magalhaes QUALIFIED
Clifford I SchemmerRussiaAnna Fali UNQUALIFIED
Jeanfrancois S DarakjyGermanyElwin Sharvill PROPOSAL
Antonio H PoquetteIndiaOnyama Limba RENEWAL
Leon T FerenczArgentinaIoni Bowcher NEGOTIATION
Sinclair T MorascaAustraliaXuxue Feng RENEWAL
Tony T GauchoItalyOnyama Limba RENEWAL
Alejandro H PerinFranceStephen Shaw QUALIFIED

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