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
Aika A WaycottCanadaIoni Bowcher UNQUALIFIED
Misaki D MacleadIndiaAsiya Javayant NEGOTIATION
Mayumi Q DoeGermanyAnna Fali UNQUALIFIED
Johnson W SlusarskiCanadaXuxue Feng UNQUALIFIED
Juan R WhobreyUnited KingdomAnna Fali NEW
Kadeem S VenereSpainIoni Bowcher UNQUALIFIED
Ivar T StockhamArgentinaIvan Magalhaes PROPOSAL
Izzy E CampainIndiaXuxue Feng NEW
Mayumi W RutaFranceElwin Sharvill RENEWAL
Aditya U MarrierIndiaElwin Sharvill RENEWAL
Silvio B RimArgentinaAsiya Javayant QUALIFIED
Nicolas C StockhamItalyIvan Magalhaes PROPOSAL
Antonio U GillianArgentinaOnyama Limba UNQUALIFIED
Ashley C GauchoFranceIvan Magalhaes PROPOSAL
Stacey N RutaItalyIoni Bowcher RENEWAL
Leja L InouyeIndiaAmy Elsner RENEWAL
Arvin D MaletSpainIoni Bowcher NEGOTIATION
Greenwood V PerinJapanStephen Shaw QUALIFIED
Jones Q BowleyGermanyElwin Sharvill RENEWAL
Ashley Z RoysterCanadaElwin Sharvill NEGOTIATION
Tony K GlickFranceXuxue Feng QUALIFIED
Chavez F MarrierBrazilAmy Elsner NEW
Silvio F CampainGermanyAmy Elsner PROPOSAL
Ivar E SergiRussiaIvan Magalhaes PROPOSAL
Aditya V CaldareraItalyStephen Shaw NEGOTIATION
Arvin X FigeroaArgentinaIoni Bowcher UNQUALIFIED
Wickens C WieserIndiaAmy Elsner PROPOSAL
Isabel F RoysterAustraliaAsiya Javayant NEGOTIATION
Julie A NestleAustraliaAmy Elsner UNQUALIFIED
Maisha Q PoquetteItalyOnyama Limba RENEWAL
Chavez Q KuskoUnited KingdomIoni Bowcher NEGOTIATION
Costa K BriddickItalyIoni Bowcher QUALIFIED
Jennifer M BowleyIndiaElwin Sharvill RENEWAL
Mayumi P PoquetteFranceStephen Shaw UNQUALIFIED
Jennifer O AmigonIndiaStephen Shaw UNQUALIFIED
Julie X ChuiGermanyAsiya Javayant RENEWAL
Maria Q RoysterUnited KingdomAnna Fali PROPOSAL
Misaki Z MaletFranceAmy Elsner QUALIFIED
Tony U DoeAustraliaStephen Shaw NEGOTIATION
Tony W OstroskyJapanIoni Bowcher QUALIFIED
Ashley I RoysterUnited KingdomElwin Sharvill PROPOSAL
Adams B WieserJapanStephen Shaw QUALIFIED
Ivar C NickaItalyAsiya Javayant RENEWAL
Alejandro G ButtAustraliaAsiya Javayant QUALIFIED
James Q BriddickUnited KingdomAsiya Javayant PROPOSAL
Kaitlin S AmigonCanadaOnyama Limba NEGOTIATION
Misaki E DarakjyArgentinaAmy Elsner PROPOSAL
Sinclair W WieserCanadaIvan Magalhaes RENEWAL
Emily F StockhamArgentinaIvan Magalhaes NEW
Ivar K BriddickCanadaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar P MacleadCanadaAmy Elsner QUALIFIED
Leon Q OldroydSpainAnna Fali RENEWAL
Murillo S GillianSpainAnna Fali UNQUALIFIED
Clifford V MorascaCanadaOnyama Limba NEW
Johnson L RutaAustraliaAmy Elsner QUALIFIED
Maisha T NestleRussiaXuxue Feng NEGOTIATION
Emily B CaudyItalyAsiya Javayant RENEWAL
Maria Y AmigonFranceBernardo Dominic QUALIFIED
Deepesh B ButtCanadaAnna Fali RENEWAL
Chavez V FollerUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James W RimArgentina2024-05-26Commercial Press UNQUALIFIED19Xuxue Feng
1001Jones O BriddickSpain2024-06-12Truhlar And Truhlar Attys RENEWAL44Asiya Javayant
1002Stacey D DilliardBrazil2024-06-20Chemel, James L Cpa PROPOSAL69Ivan Magalhaes
1003Leja U RulapaughUnited Kingdom2024-06-02Benton, John B Jr PROPOSAL5Bernardo Dominic
1004Kadeem Q KolmetzJapan2024-06-08Chanay, Jeffrey A Esq NEGOTIATION81Stephen Shaw
1005David K DoeUnited Kingdom2024-05-24Chemel, James L Cpa NEGOTIATION54Elwin Sharvill
1006Ivar I PerinFrance2024-06-05Feiner Bros NEW29Xuxue Feng
1007Aika F CaldareraSpain2024-06-01Truhlar And Truhlar Attys RENEWAL31Xuxue Feng
1008Sinclair J CampainItaly2024-06-09Rousseaux, Michael Esq UNQUALIFIED14Bernardo Dominic
1009Salvatore E GlickIndia2024-06-15Chemel, James L Cpa PROPOSAL83Amy Elsner
1010Francesco G PerinFrance2024-06-06Chapman, Ross E Esq NEGOTIATION95Bernardo Dominic
1011Izzy Z WieserUnited Kingdom2024-05-30Feiner Bros NEW41Elwin Sharvill
1012James B VocelkaBrazil2024-06-07Rangoni Of Florence NEW58Stephen Shaw
1013Clifford F MaletSpain2024-06-05Chemel, James L Cpa NEW98Ioni Bowcher
1014Arvin Y AlbaresRussia2024-06-11Feiner Bros PROPOSAL31Amy Elsner
1015Adams K PoquetteCanada2024-06-10Chemel, James L Cpa RENEWAL38Xuxue Feng
1016Leon B VenereUnited Kingdom2024-06-11Feiner Bros PROPOSAL10Stephen Shaw
1017Claire L RutaRussia2024-05-30Buckley Miller Wright NEGOTIATION70Stephen Shaw
1018Leon S PoquetteRussia2024-05-25Rangoni Of Florence PROPOSAL27Amy Elsner
1019Arvin P AlbaresItaly2024-06-09Truhlar And Truhlar Attys PROPOSAL16Ioni Bowcher
1020Deepesh G GarufiSpain2024-06-04Feiner Bros UNQUALIFIED52Ioni Bowcher
1021Francesco Y RoysterFrance2024-05-24Printing Dimensions NEW12Anna Fali
1022James Q FigeroaBrazil2024-06-17Chapman, Ross E Esq RENEWAL84Bernardo Dominic
1023Rodrigues U OstroskyRussia2024-06-18Rousseaux, Michael Esq NEW96Onyama Limba
1024Octavia I MaletItaly2024-06-19Rangoni Of Florence NEW26Ivan Magalhaes
1025Darci D FollerUnited Kingdom2024-06-13Rangoni Of Florence NEW58Ioni Bowcher
1026Costa O SlusarskiFrance2024-06-02Benton, John B Jr UNQUALIFIED93Anna Fali
1027Adams B MaletAustralia2024-06-15Chapman, Ross E Esq RENEWAL18Stephen Shaw
1028Salvatore X SergiSpain2024-06-12Chanay, Jeffrey A Esq PROPOSAL87Ioni Bowcher
1029Jeanfrancois J MaletItaly2024-05-31Chapman, Ross E Esq PROPOSAL5Anna Fali
1030Salvatore W GauchoArgentina2024-06-19Commercial Press NEW88Bernardo Dominic
1031Darci B IturbideFrance2024-05-31Morlong Associates UNQUALIFIED3Onyama Limba
1032Adams E GillianRussia2024-06-20Chanay, Jeffrey A Esq NEGOTIATION90Anna Fali
1033Maria P DilliardBrazil2024-05-27Truhlar And Truhlar Attys NEW12Xuxue Feng
1034Leon E KolmetzRussia2024-06-07Rousseaux, Michael Esq PROPOSAL5Bernardo Dominic
1035Octavia X VocelkaCanada2024-06-21Dorl, James J Esq NEW4Ioni Bowcher
1036Faith N ButtIndia2024-06-04Feiner Bros RENEWAL0Stephen Shaw
1037Antonio V FlosiUnited Kingdom2024-06-05Rangoni Of Florence NEW40Ivan Magalhaes
1038Arvin M NickaIndia2024-05-26Chemel, James L Cpa QUALIFIED24Ioni Bowcher
1039Emily H KolmetzSpain2024-06-21Rousseaux, Michael Esq UNQUALIFIED86Ivan Magalhaes
1040Munro W RimBrazil2024-05-25Rangoni Of Florence NEGOTIATION90Anna Fali
1041Smith B PoquetteIndia2024-06-15Morlong Associates PROPOSAL15Ivan Magalhaes
1042Jefferson R ChuiIndia2024-06-14King, Christopher A Esq NEW71Amy Elsner
1043Salvatore K MaletBrazil2024-06-22Truhlar And Truhlar Attys NEW48Onyama Limba
1044Clifford H GarufiRussia2024-05-24Printing Dimensions RENEWAL74Asiya Javayant
1045Jeanfrancois P SlusarskiCanada2024-06-15Feltz Printing Service NEW82Amy Elsner
1046Faith O PerinSpain2024-06-20Chemel, James L Cpa QUALIFIED82Ivan Magalhaes
1047Kadeem T CampainGermany2024-05-24Commercial Press NEGOTIATION66Ioni Bowcher
1048James B CaldareraFrance2024-05-31Rousseaux, Michael Esq NEW60Xuxue Feng
1049Kadeem L SlusarskiIndia2024-06-21Printing Dimensions UNQUALIFIED91Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Julie G AmigonFranceAnna Fali UNQUALIFIED
Arvin F BriddickFranceAsiya Javayant UNQUALIFIED
Tony F FlosiItalyAnna Fali NEW
Misaki I FlosiArgentinaXuxue Feng NEW
Faith Z ChuiGermanyXuxue Feng UNQUALIFIED
Mayumi U VocelkaRussiaOnyama Limba UNQUALIFIED
Sinclair X OldroydSpainOnyama Limba PROPOSAL
Leja D SaylorsIndiaStephen Shaw NEW
Leja I FerenczJapanIvan Magalhaes NEW
Deepesh C CampainIndiaAmy Elsner UNQUALIFIED
Sinclair J ChuiItalyIoni Bowcher NEW
Jefferson Y BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi M BologniaAustraliaAsiya Javayant NEGOTIATION
Chavez N ChuiGermanyAmy Elsner QUALIFIED
Emily K NickaFranceAsiya Javayant NEGOTIATION
Izzy L MaletItalyIvan Magalhaes QUALIFIED
Claire Y DoeArgentinaAsiya Javayant PROPOSAL
Misaki H ButtBrazilIoni Bowcher UNQUALIFIED
Claire V ButtAustraliaAsiya Javayant QUALIFIED
Mujtaba K VenereFranceOnyama Limba NEW
Tony S ShinkoJapanAmy Elsner QUALIFIED
Silvio M RulapaughIndiaBernardo Dominic NEGOTIATION
Misaki Y BowleyItalyBernardo Dominic PROPOSAL
Jones Z GauchoArgentinaAsiya Javayant PROPOSAL
Smith G DarakjyAustraliaStephen Shaw QUALIFIED
Cody Z VocelkaItalyBernardo Dominic NEGOTIATION
Cody S MaletAustraliaElwin Sharvill NEW
Arvin K VenereSpainAsiya Javayant NEW
Darci R NestleUnited KingdomAmy Elsner UNQUALIFIED
Aika N BologniaItalyXuxue Feng QUALIFIED
Stacey W CaudyGermanyIoni Bowcher PROPOSAL
David N MaletBrazilElwin Sharvill NEW
Clifford X PerinIndiaAnna Fali NEGOTIATION
Clifford W AmigonItalyIvan Magalhaes QUALIFIED
Izzy V AmigonRussiaAsiya Javayant UNQUALIFIED
Mayumi O DoeAustraliaStephen Shaw NEGOTIATION
Chavez D VocelkaUnited KingdomBernardo Dominic NEW
Faith X CampainUnited KingdomAmy Elsner NEW
Leja A BowleySpainBernardo Dominic NEW
Morrow S CaldareraRussiaXuxue Feng PROPOSAL
Ricardo D MacleadJapanIoni Bowcher RENEWAL
Isabel V MacleadCanadaAmy Elsner PROPOSAL
Kadeem S GillianAustraliaIvan Magalhaes RENEWAL
Jones H GlickSpainXuxue Feng RENEWAL
Francesco T RoysterSpainIoni Bowcher NEGOTIATION
Aditya Z FlosiCanadaStephen Shaw NEGOTIATION
Sinclair F RulapaughArgentinaStephen Shaw NEW
Leja K WaycottSpainAsiya Javayant PROPOSAL
Deepesh S BriddickCanadaAnna Fali NEW
Leja L WaycottSpainXuxue Feng QUALIFIED
Frozen Columns
Name
Isabel B Bolognia
Deepesh X Ferencz
Mujtaba X Bolognia
Ricardo X Stenseth
Costa S Flosi
Costa Z Tollner
Juan R Poquette
Costa B Maclead
Cody C Foller
Jefferson L Marrier
Smith V Royster
Greenwood O Stenseth
Morrow C Chui
Leon K Albares
Jones N Gaucho
Julie A Figeroa
Tony C Morasca
Greenwood V Darakjy
Izzy A Figeroa
Aruna Y Morasca
Rodrigues I Malet
Isabel Z Rulapaugh
Emily V Inouye
Darci L Venere
Johnson B Sergi
Leja N Darakjy
Aruna W Ferencz
Julie Y Ostrosky
Costa X Vocelka
Ivar J Ostrosky
Cody B Royster
Chavez W Chui
Tony D Tollner
Juan C Venere
Darci H Butt
Costa H Royster
Izzy Z Sergi
Juan X Amigon
Smith X Oldroyd
Wickens K Slusarski
Misaki R Malet
Smith H Stockham
Chavez V Whobrey
Arvin P Stockham
Tony O Venere
Emily C Darakjy
Silvio U Rulapaugh
Izzy F Maclead
Isabel D Briddick
Ashley I Nestle
IdCountryDate
1000United Kingdom2024-06-06
1001Brazil2024-05-25
1002Australia2024-06-02
1003Japan2024-06-16
1004United Kingdom2024-05-31
1005Japan2024-06-21
1006Canada2024-05-27
1007Japan2024-05-24
1008Germany2024-06-16
1009Japan2024-05-27
1010Germany2024-06-14
1011Spain2024-06-21
1012Canada2024-05-30
1013France2024-05-31
1014Argentina2024-06-18
1015Brazil2024-05-26
1016Germany2024-06-20
1017India2024-06-11
1018India2024-05-31
1019Canada2024-06-22
1020Canada2024-05-30
1021United Kingdom2024-06-06
1022Germany2024-06-12
1023Japan2024-06-06
1024Italy2024-06-18
1025India2024-06-10
1026Canada2024-05-28
1027Russia2024-06-19
1028France2024-06-07
1029Russia2024-06-15
1030United Kingdom2024-06-12
1031India2024-06-02
1032Russia2024-05-28
1033Spain2024-06-20
1034France2024-06-15
1035Argentina2024-06-08
1036Russia2024-05-29
1037Germany2024-06-18
1038United Kingdom2024-06-16
1039Canada2024-05-30
1040France2024-05-24
1041Spain2024-06-16
1042Italy2024-05-30
1043Spain2024-06-17
1044India2024-06-14
1045Australia2024-06-22
1046Spain2024-06-12
1047Spain2024-06-18
1048Australia2024-06-14
1049Spain2024-06-05

On-Demand Data

NameIdCountryDate
Johnson O Briddick1000United Kingdom2024-06-04
Kadeem Z Butt1001Italy2024-05-24
Julie J Caudy1002India2024-06-02
Izzy P Amigon1003India2024-06-04
Munro F Shinko1004India2024-06-12
Stacey K Briddick1005United Kingdom2024-06-14
Salvatore Y Kusko1006India2024-05-28
Jones G Kolmetz1007France2024-06-02
Jennifer Z Bolognia1008Spain2024-06-17
Ivar O Darakjy1009India2024-06-05
Morrow Z Gaucho1010Brazil2024-06-08
Chavez F Wieser1011Argentina2024-06-06
Alejandro T Rulapaugh1012Italy2024-05-30
Leja B Whobrey1013Japan2024-06-09
Adams R Gillian1014Russia2024-06-17
Jones G Whobrey1015United Kingdom2024-06-03
Chavez V Caldarera1016Germany2024-06-21
Munro E Ruta1017Germany2024-05-26
Ashley S Garufi1018Canada2024-06-09
Mujtaba F Maclead1019Germany2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa S GlickGermanyIvan Magalhaes NEW
James Y BowleyJapanStephen Shaw NEW
Arvin J GarufiArgentinaAnna Fali NEGOTIATION
Claire B NickaFranceIvan Magalhaes NEGOTIATION
Julie K NestleUnited KingdomIvan Magalhaes NEW
Costa U GillianJapanStephen Shaw PROPOSAL
Faith W PoquetteIndiaElwin Sharvill PROPOSAL
Greenwood T DilliardGermanyOnyama Limba UNQUALIFIED
Stacey W SchemmerRussiaOnyama Limba QUALIFIED
Misaki T AmigonFranceStephen Shaw QUALIFIED
Morrow I StensethGermanyXuxue Feng NEGOTIATION
Cody H PoquetteBrazilAnna Fali PROPOSAL
Leon T VenereAustraliaXuxue Feng RENEWAL
Leon G NestleIndiaBernardo Dominic NEW
Johnson Q SlusarskiUnited KingdomIvan Magalhaes NEW
Deepesh S MacleadAustraliaIoni Bowcher UNQUALIFIED
Wickens E RoysterCanadaAmy Elsner QUALIFIED
James L TollnerArgentinaXuxue Feng UNQUALIFIED
Rodrigues J FigeroaFranceAnna Fali PROPOSAL
Arvin X DoeItalyStephen Shaw QUALIFIED
Misaki P KolmetzJapanOnyama Limba PROPOSAL
Murillo D OldroydFranceAnna Fali UNQUALIFIED
Murillo O BologniaArgentinaIvan Magalhaes PROPOSAL
Ashley U MaletSpainElwin Sharvill RENEWAL
Ivar L NestleIndiaAsiya Javayant NEW
Kaitlin B DilliardIndiaAnna Fali UNQUALIFIED
Mujtaba K IturbideAustraliaXuxue Feng PROPOSAL
Francesco O NestleBrazilOnyama Limba PROPOSAL
Aditya K CaldareraAustraliaAmy Elsner RENEWAL
Rodrigues T CaudyCanadaAmy Elsner NEW
Kadeem X CaudyUnited KingdomAnna Fali RENEWAL
Stacey G KuskoGermanyElwin Sharvill UNQUALIFIED
Antonio C PerinUnited KingdomElwin Sharvill QUALIFIED
Nicolas Q BologniaGermanyAsiya Javayant PROPOSAL
Alejandro N BologniaJapanIoni Bowcher PROPOSAL
Arvin I GauchoAustraliaElwin Sharvill PROPOSAL
Stacey D SaylorsFranceElwin Sharvill UNQUALIFIED
Costa L GarufiRussiaIvan Magalhaes PROPOSAL
Munro Q InouyeBrazilAsiya Javayant PROPOSAL
Smith Y PerinAustraliaIvan Magalhaes 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>