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
Isabel G DarakjyArgentinaAmy Elsner UNQUALIFIED
Claire B OldroydBrazilAnna Fali PROPOSAL
Francesco E BowleyItalyIoni Bowcher RENEWAL
Munro D FigeroaSpainAnna Fali NEGOTIATION
Francesco O RulapaughJapanAmy Elsner NEW
Clifford Y MacleadSpainXuxue Feng QUALIFIED
Ashley J IturbideUnited KingdomStephen Shaw UNQUALIFIED
Leon I IturbideBrazilIoni Bowcher QUALIFIED
Emily A WieserGermanyAnna Fali PROPOSAL
Ashley A CaudyArgentinaOnyama Limba NEW
Nicolas V RutaFranceXuxue Feng RENEWAL
Cody D CampainCanadaStephen Shaw NEW
Munro L FollerRussiaXuxue Feng NEW
Ashley T PaprockiRussiaBernardo Dominic RENEWAL
Antonio X IturbideBrazilStephen Shaw QUALIFIED
Rodrigues K SchemmerGermanyBernardo Dominic NEGOTIATION
Misaki J SergiGermanyXuxue Feng NEGOTIATION
Chavez F GlickAustraliaIoni Bowcher NEW
Wickens K CaudyBrazilBernardo Dominic RENEWAL
Leon V TollnerCanadaBernardo Dominic UNQUALIFIED
Mayumi A MacleadFranceAmy Elsner RENEWAL
Murillo C VocelkaBrazilIoni Bowcher UNQUALIFIED
James E SlusarskiFranceIoni Bowcher UNQUALIFIED
Kaitlin A PerinFranceBernardo Dominic UNQUALIFIED
Francesco D MacleadBrazilOnyama Limba RENEWAL
Jones E KolmetzFranceAmy Elsner RENEWAL
Darci H GlickGermanyStephen Shaw RENEWAL
Salvatore S BriddickRussiaIoni Bowcher RENEWAL
Leon P InouyeJapanOnyama Limba RENEWAL
Tony F DoeUnited KingdomXuxue Feng QUALIFIED
Jefferson R AmigonItalyAnna Fali PROPOSAL
Stacey L RimGermanyOnyama Limba PROPOSAL
Ricardo G VocelkaArgentinaAsiya Javayant UNQUALIFIED
Nicolas L PoquetteBrazilOnyama Limba RENEWAL
Arvin Q BologniaArgentinaAnna Fali NEW
Ivar D NickaJapanAsiya Javayant NEW
Wickens J InouyeCanadaAnna Fali UNQUALIFIED
Smith Y AmigonUnited KingdomOnyama Limba RENEWAL
David S SlusarskiUnited KingdomAnna Fali NEW
Jones X GarufiUnited KingdomStephen Shaw QUALIFIED
Isabel M TollnerUnited KingdomAnna Fali PROPOSAL
Mayumi V RoysterAustraliaIoni Bowcher QUALIFIED
Silvio R MaletUnited KingdomOnyama Limba NEW
Octavia V VocelkaUnited KingdomBernardo Dominic QUALIFIED
Misaki H NickaUnited KingdomAnna Fali NEW
David M CaldareraAustraliaElwin Sharvill QUALIFIED
Jones Q RimFranceIoni Bowcher PROPOSAL
Ashley F NestleUnited KingdomIoni Bowcher PROPOSAL
Ashley I WhobreyIndiaElwin Sharvill UNQUALIFIED
Darci Q AlbaresFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki R CaudyJapanAnna Fali UNQUALIFIED
Darci N VenereFranceIoni Bowcher QUALIFIED
Salvatore C CaldareraGermanyStephen Shaw PROPOSAL
Kadeem Z WaycottGermanyAsiya Javayant UNQUALIFIED
Nicolas J SaylorsItalyAnna Fali UNQUALIFIED
Maisha J NickaRussiaIoni Bowcher UNQUALIFIED
Aika A VenereBrazilIoni Bowcher NEW
Wickens U DoeGermanyElwin Sharvill PROPOSAL
Kadeem A AlbaresBrazilAsiya Javayant NEW
Leon U SaylorsSpainAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Z CampainGermany2024-06-03Feiner Bros NEGOTIATION91Ivan Magalhaes
1001Kadeem G TollnerRussia2024-06-13Rangoni Of Florence UNQUALIFIED92Amy Elsner
1002Murillo X StockhamArgentina2024-05-24Truhlar And Truhlar Attys UNQUALIFIED49Onyama Limba
1003Aditya D PerinCanada2024-05-26Chemel, James L Cpa PROPOSAL17Asiya Javayant
1004Stacey Y WieserGermany2024-06-15Rangoni Of Florence NEGOTIATION47Onyama Limba
1005Juan I BowleySpain2024-06-11Rangoni Of Florence PROPOSAL7Ioni Bowcher
1006Octavia W PoquetteIndia2024-06-01King, Christopher A Esq NEW14Amy Elsner
1007Silvio Y BologniaIndia2024-06-01Benton, John B Jr PROPOSAL10Onyama Limba
1008Deepesh Z DoeItaly2024-06-19Chapman, Ross E Esq QUALIFIED66Asiya Javayant
1009Munro N DilliardRussia2024-05-24Chapman, Ross E Esq NEW15Ivan Magalhaes
1010Alejandro U MacleadIndia2024-06-12Chemel, James L Cpa NEGOTIATION72Stephen Shaw
1011Emily D WaycottArgentina2024-06-19Feltz Printing Service UNQUALIFIED13Xuxue Feng
1012Ricardo R GillianBrazil2024-06-18Chapman, Ross E Esq RENEWAL35Anna Fali
1013Aruna Y GauchoItaly2024-05-26Chanay, Jeffrey A Esq NEGOTIATION30Ioni Bowcher
1014Greenwood Z WieserFrance2024-06-05Rangoni Of Florence RENEWAL98Bernardo Dominic
1015Aruna O GauchoIndia2024-05-25Printing Dimensions NEW1Xuxue Feng
1016Chavez V MacleadRussia2024-06-22Buckley Miller Wright UNQUALIFIED9Asiya Javayant
1017Adams B WaycottAustralia2024-06-17Chemel, James L Cpa QUALIFIED87Amy Elsner
1018David P ShinkoFrance2024-05-24Buckley Miller Wright NEW56Ivan Magalhaes
1019Murillo K AmigonItaly2024-06-17Rangoni Of Florence RENEWAL99Asiya Javayant
1020Smith G SergiItaly2024-06-14Chanay, Jeffrey A Esq NEW36Xuxue Feng
1021James N DarakjyGermany2024-05-26King, Christopher A Esq QUALIFIED62Asiya Javayant
1022Aditya W WhobreyIndia2024-05-27Printing Dimensions NEGOTIATION98Onyama Limba
1023Stacey M CaudyUnited Kingdom2024-06-02Truhlar And Truhlar Attys RENEWAL72Bernardo Dominic
1024Adams B KolmetzUnited Kingdom2024-06-11Rangoni Of Florence UNQUALIFIED68Anna Fali
1025Leja U ChuiArgentina2024-06-22King, Christopher A Esq UNQUALIFIED65Onyama Limba
1026Jennifer K TollnerArgentina2024-06-16Dorl, James J Esq RENEWAL7Asiya Javayant
1027Mayumi D CaldareraBrazil2024-06-17Rangoni Of Florence PROPOSAL8Bernardo Dominic
1028Stacey Y RutaArgentina2024-06-17Rangoni Of Florence QUALIFIED95Amy Elsner
1029Morrow P MacleadSpain2024-05-31Dorl, James J Esq NEGOTIATION52Asiya Javayant
1030Silvio C OstroskyUnited Kingdom2024-06-06Morlong Associates NEW22Ioni Bowcher
1031Jones L KuskoAustralia2024-05-27Rangoni Of Florence PROPOSAL55Stephen Shaw
1032Tony D CaldareraFrance2024-05-27Benton, John B Jr RENEWAL64Xuxue Feng
1033Nicolas D NestleFrance2024-06-10Rangoni Of Florence PROPOSAL80Ivan Magalhaes
1034Cody H InouyeSpain2024-06-11Feiner Bros NEGOTIATION97Onyama Limba
1035Costa H BriddickSpain2024-06-03Truhlar And Truhlar Attys PROPOSAL73Ivan Magalhaes
1036Kaitlin I FigeroaRussia2024-06-08Feiner Bros NEGOTIATION26Ivan Magalhaes
1037Juan E RulapaughItaly2024-05-26Truhlar And Truhlar Attys NEW63Bernardo Dominic
1038Greenwood T SaylorsAustralia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION58Asiya Javayant
1039Aditya H RutaCanada2024-06-18Chapman, Ross E Esq PROPOSAL53Anna Fali
1040Ashley W KolmetzCanada2024-06-20Commercial Press QUALIFIED7Xuxue Feng
1041Smith X FollerAustralia2024-05-31Chanay, Jeffrey A Esq NEGOTIATION14Onyama Limba
1042Clifford N PoquetteItaly2024-06-07Truhlar And Truhlar Attys QUALIFIED49Amy Elsner
1043Tony L BriddickGermany2024-06-13Morlong Associates UNQUALIFIED53Bernardo Dominic
1044Aika E GauchoJapan2024-06-10King, Christopher A Esq UNQUALIFIED84Ivan Magalhaes
1045Antonio Y BowleyFrance2024-06-19Truhlar And Truhlar Attys RENEWAL52Xuxue Feng
1046Octavia N PaprockiJapan2024-06-11Benton, John B Jr PROPOSAL94Amy Elsner
1047Smith L PoquetteJapan2024-06-06King, Christopher A Esq NEW49Asiya Javayant
1048Darci G PerinBrazil2024-06-12Feltz Printing Service PROPOSAL1Amy Elsner
1049Aika T PerinUnited Kingdom2024-06-20Morlong Associates UNQUALIFIED43Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem J TollnerGermanyAsiya Javayant RENEWAL
Juan O GauchoRussiaXuxue Feng RENEWAL
Maisha T VenereCanadaXuxue Feng NEW
Silvio T WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Munro Q MaletCanadaXuxue Feng RENEWAL
Murillo W TollnerRussiaXuxue Feng NEW
Maria B TollnerBrazilElwin Sharvill QUALIFIED
Munro P RimItalyBernardo Dominic QUALIFIED
Julie P WaycottUnited KingdomBernardo Dominic PROPOSAL
Mayumi I DarakjyUnited KingdomIoni Bowcher RENEWAL
Francesco C CaudyBrazilStephen Shaw NEGOTIATION
Sinclair D VocelkaAustraliaAmy Elsner NEW
Johnson L MarrierBrazilIoni Bowcher QUALIFIED
Murillo M FerenczBrazilAmy Elsner RENEWAL
Munro X BologniaAustraliaXuxue Feng NEW
Aditya R OstroskySpainIoni Bowcher NEW
Izzy E GarufiRussiaIoni Bowcher QUALIFIED
Smith Z GlickSpainElwin Sharvill RENEWAL
Maisha H FlosiUnited KingdomElwin Sharvill NEW
Misaki L PoquetteIndiaAmy Elsner RENEWAL
James Z CampainUnited KingdomAmy Elsner UNQUALIFIED
Johnson K RutaCanadaOnyama Limba RENEWAL
Mujtaba S GarufiItalyOnyama Limba UNQUALIFIED
Deepesh J OldroydItalyAnna Fali UNQUALIFIED
Johnson E GarufiCanadaAnna Fali NEGOTIATION
Adams T CampainGermanyAnna Fali NEW
Cody K VocelkaFranceAmy Elsner QUALIFIED
Emily R ButtIndiaIvan Magalhaes NEW
Mujtaba N KuskoArgentinaIvan Magalhaes NEW
Jefferson F CaudyBrazilAsiya Javayant UNQUALIFIED
Maisha B VenereIndiaAnna Fali NEW
Deepesh W MaletFranceStephen Shaw UNQUALIFIED
Antonio P RimCanadaAsiya Javayant UNQUALIFIED
Aika L GarufiBrazilBernardo Dominic PROPOSAL
Clifford Z CampainBrazilElwin Sharvill PROPOSAL
Tony T WhobreyArgentinaXuxue Feng UNQUALIFIED
Ricardo Z RulapaughFranceElwin Sharvill NEW
Adams Q ChuiIndiaAsiya Javayant PROPOSAL
Emily Q CampainItalyAnna Fali NEGOTIATION
Alejandro A BowleyBrazilAmy Elsner UNQUALIFIED
Tony X MaletUnited KingdomAsiya Javayant PROPOSAL
Wickens K ButtIndiaAnna Fali QUALIFIED
Juan B InouyeJapanIvan Magalhaes UNQUALIFIED
James H VocelkaFranceAnna Fali NEGOTIATION
Claire H RimJapanAsiya Javayant RENEWAL
Tony V OstroskyIndiaAsiya Javayant PROPOSAL
Leon I KolmetzSpainBernardo Dominic UNQUALIFIED
Izzy I KolmetzGermanyStephen Shaw NEGOTIATION
Chavez D DoeAustraliaAnna Fali PROPOSAL
Costa V GillianUnited KingdomXuxue Feng NEGOTIATION
Frozen Columns
Name
Arvin W Flosi
Leja B Albares
Costa V Saylors
Salvatore W Stockham
Isabel K Marrier
Emily I Malet
Francesco F Royster
Jeanfrancois T Doe
Chavez H Ruta
James D Stockham
Juan B Kusko
Chavez L Ostrosky
Mujtaba G Foller
Emily E Bowley
David S Maclead
Isabel A Vocelka
Jennifer F Stenseth
Isabel X Tollner
Jones L Garufi
Cody A Kolmetz
Jefferson P Flosi
Nicolas F Inouye
Juan N Saylors
Leon S Figeroa
Silvio O Rim
Isabel B Waycott
Isabel R Royster
Smith X Whobrey
Stacey S Foller
Emily H Sergi
Silvio X Albares
Nicolas A Maclead
Claire E Gaucho
Aruna H Butt
Costa G Albares
Greenwood B Malet
Smith W Rulapaugh
Aruna X Waycott
Kadeem D Stockham
Wickens B Garufi
Clifford Y Gaucho
Misaki C Briddick
Mujtaba M Glick
Faith O Stenseth
Kadeem G Ferencz
Aika H Garufi
Arvin Q Dilliard
David O Doe
Octavia C Ferencz
Leon Q Figeroa
IdCountryDate
1000Germany2024-06-22
1001United Kingdom2024-06-22
1002France2024-05-30
1003Canada2024-06-22
1004Brazil2024-06-07
1005India2024-06-05
1006Argentina2024-05-27
1007Brazil2024-06-18
1008Italy2024-06-15
1009Germany2024-06-02
1010United Kingdom2024-06-09
1011Germany2024-06-08
1012Japan2024-06-10
1013Brazil2024-06-10
1014Spain2024-06-09
1015Argentina2024-06-08
1016United Kingdom2024-06-01
1017France2024-05-26
1018France2024-06-08
1019France2024-06-19
1020Spain2024-06-05
1021Germany2024-06-19
1022Canada2024-06-17
1023Italy2024-05-30
1024Australia2024-06-14
1025Germany2024-05-27
1026France2024-05-31
1027France2024-06-13
1028Brazil2024-05-24
1029Germany2024-06-10
1030Australia2024-06-19
1031Argentina2024-06-03
1032Brazil2024-06-10
1033Russia2024-06-18
1034Brazil2024-06-22
1035Russia2024-06-12
1036Italy2024-05-25
1037Australia2024-05-30
1038Spain2024-06-15
1039Russia2024-06-14
1040Germany2024-06-13
1041France2024-06-18
1042India2024-06-15
1043United Kingdom2024-06-13
1044Germany2024-05-24
1045France2024-06-08
1046Australia2024-05-25
1047Japan2024-06-07
1048Russia2024-06-14
1049Brazil2024-06-07

On-Demand Data

NameIdCountryDate
Tony A Vocelka1000Brazil2024-06-02
Julie Y Kusko1001Japan2024-05-31
Stacey D Rulapaugh1002Italy2024-06-08
Ivar N Wieser1003Brazil2024-06-08
Adams X Doe1004Japan2024-06-19
Aika U Nestle1005India2024-06-16
Munro U Amigon1006Italy2024-06-07
Emily S Tollner1007United Kingdom2024-06-01
Chavez S Paprocki1008Germany2024-06-10
Misaki A Doe1009Brazil2024-06-20
Leja C Malet1010United Kingdom2024-05-27
Octavia G Kusko1011Argentina2024-06-09
Johnson H Inouye1012Japan2024-06-11
Adams M Doe1013Germany2024-06-02
James C Paprocki1014Canada2024-06-18
Jones R Glick1015Russia2024-05-27
Adams A Malet1016Canada2024-06-09
Sinclair C Marrier1017Australia2024-06-17
Salvatore E Whobrey1018Spain2024-05-29
Juan J Briddick1019Brazil2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi P BologniaSpainXuxue Feng NEW
Cody L FerenczCanadaStephen Shaw UNQUALIFIED
Leon T RutaUnited KingdomAsiya Javayant QUALIFIED
Johnson Z OldroydRussiaBernardo Dominic PROPOSAL
Costa U CaldareraSpainIvan Magalhaes QUALIFIED
Jefferson I PerinArgentinaElwin Sharvill NEGOTIATION
Faith F FollerFranceAsiya Javayant PROPOSAL
Cody Z InouyeCanadaIvan Magalhaes RENEWAL
Izzy I ChuiFranceAmy Elsner UNQUALIFIED
Jefferson W DilliardFranceOnyama Limba RENEWAL
Darci C DilliardIndiaOnyama Limba RENEWAL
Arvin H BowleyIndiaOnyama Limba NEGOTIATION
Alejandro H GauchoFranceStephen Shaw PROPOSAL
Nicolas D DilliardGermanyXuxue Feng QUALIFIED
Jeanfrancois B DilliardIndiaAmy Elsner NEGOTIATION
Nicolas H PoquetteGermanyAmy Elsner PROPOSAL
Deepesh B CaudyFranceAmy Elsner PROPOSAL
Julie L GarufiItalyAmy Elsner PROPOSAL
Arvin X CaudyAustraliaAsiya Javayant QUALIFIED
Emily L MaletFranceIvan Magalhaes QUALIFIED
Ivar V FollerFranceOnyama Limba NEW
Murillo K StockhamCanadaBernardo Dominic PROPOSAL
Tony I RoysterArgentinaElwin Sharvill NEW
Johnson H VenereRussiaStephen Shaw NEGOTIATION
Sinclair H WieserBrazilAnna Fali NEGOTIATION
Misaki S VocelkaRussiaIvan Magalhaes PROPOSAL
James N BowleyItalyAnna Fali RENEWAL
Alejandro K VocelkaJapanAsiya Javayant RENEWAL
Greenwood G BologniaCanadaIoni Bowcher PROPOSAL
Kaitlin P GillianArgentinaXuxue Feng PROPOSAL
Alejandro P BologniaIndiaOnyama Limba RENEWAL
Greenwood J MacleadGermanyStephen Shaw UNQUALIFIED
Clifford H PerinIndiaIvan Magalhaes QUALIFIED
Mujtaba K RulapaughBrazilAsiya Javayant NEGOTIATION
Aruna Z StockhamRussiaXuxue Feng QUALIFIED
Alejandro B VenereCanadaAnna Fali UNQUALIFIED
Munro D FigeroaIndiaAsiya Javayant NEGOTIATION
Maisha O OstroskyBrazilAmy Elsner NEGOTIATION
Wickens N FlosiRussiaAnna Fali NEGOTIATION
Misaki I PaprockiItalyAsiya Javayant 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>