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
Darci W ChuiCanadaOnyama Limba NEW
Jennifer F VenereArgentinaAsiya Javayant NEGOTIATION
Isabel B SergiGermanyIoni Bowcher NEGOTIATION
Aditya U PoquetteIndiaElwin Sharvill NEGOTIATION
Jefferson U BowleyArgentinaIoni Bowcher NEW
Mayumi V CaldareraJapanIoni Bowcher NEGOTIATION
Munro Y WaycottIndiaStephen Shaw QUALIFIED
Arvin I PoquetteCanadaAmy Elsner PROPOSAL
Octavia R MacleadJapanXuxue Feng RENEWAL
Greenwood N FerenczAustraliaIoni Bowcher NEGOTIATION
Aruna V SaylorsIndiaAmy Elsner UNQUALIFIED
Wickens U MorascaCanadaOnyama Limba NEW
Faith X NestleItalyIoni Bowcher RENEWAL
Jones C WieserSpainElwin Sharvill NEW
Jones U KolmetzCanadaAmy Elsner QUALIFIED
Sinclair V DilliardJapanElwin Sharvill PROPOSAL
Sinclair G RoysterItalyStephen Shaw PROPOSAL
Mujtaba L SaylorsAustraliaAsiya Javayant UNQUALIFIED
Maria B InouyeGermanyStephen Shaw NEW
Maisha N CaudyUnited KingdomStephen Shaw NEW
Francesco X BologniaItalyStephen Shaw PROPOSAL
Deepesh O ShinkoCanadaAnna Fali NEW
Nicolas K RutaRussiaIoni Bowcher NEGOTIATION
Aruna K PerinAustraliaAsiya Javayant NEGOTIATION
Julie U DilliardGermanyIvan Magalhaes NEW
Octavia M FollerArgentinaIoni Bowcher UNQUALIFIED
Mujtaba W CampainArgentinaXuxue Feng QUALIFIED
Ashley D CaudyJapanXuxue Feng NEW
Munro V GarufiBrazilAnna Fali NEW
Nicolas F DoeBrazilAmy Elsner QUALIFIED
David D KuskoArgentinaAmy Elsner PROPOSAL
Julie P RoysterCanadaIoni Bowcher PROPOSAL
Emily S WieserRussiaBernardo Dominic QUALIFIED
Munro W RutaFranceElwin Sharvill PROPOSAL
Nicolas T NestleBrazilXuxue Feng QUALIFIED
Ivar O GauchoRussiaStephen Shaw NEW
Nicolas D WaycottSpainBernardo Dominic NEW
Mujtaba W MaletIndiaOnyama Limba PROPOSAL
Deepesh Z BriddickCanadaElwin Sharvill NEGOTIATION
Leja R GillianIndiaIoni Bowcher UNQUALIFIED
Jennifer R FlosiItalyAmy Elsner UNQUALIFIED
Greenwood R VenereItalyAmy Elsner NEW
Jennifer K MacleadBrazilAmy Elsner NEGOTIATION
Morrow R PaprockiAustraliaAsiya Javayant UNQUALIFIED
Tony V NickaJapanIvan Magalhaes NEW
Kadeem V ShinkoSpainOnyama Limba NEW
Aditya E GarufiAustraliaOnyama Limba PROPOSAL
Johnson Y KolmetzAustraliaBernardo Dominic UNQUALIFIED
Octavia D PoquetteFranceIvan Magalhaes UNQUALIFIED
Wickens V MarrierSpainOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci N ButtSpainAsiya Javayant PROPOSAL
Ivar D SaylorsBrazilAmy Elsner QUALIFIED
Rodrigues O OldroydItalyAnna Fali NEGOTIATION
Francesco G IturbideFranceIvan Magalhaes UNQUALIFIED
Tony M VenereCanadaAnna Fali RENEWAL
Cody D BriddickArgentinaIvan Magalhaes QUALIFIED
Kaitlin Q DilliardSpainAnna Fali PROPOSAL
Arvin Q MorascaItalyAnna Fali UNQUALIFIED
Costa N PerinCanadaAmy Elsner UNQUALIFIED
David K MarrierFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna B ButtJapan2024-05-24Rangoni Of Florence UNQUALIFIED35Stephen Shaw
1001Johnson Z FlosiCanada2024-06-15Buckley Miller Wright NEGOTIATION48Ivan Magalhaes
1002Leja I FigeroaGermany2024-06-12Chemel, James L Cpa NEGOTIATION9Elwin Sharvill
1003Aika G TollnerArgentina2024-06-13Rangoni Of Florence NEGOTIATION78Ioni Bowcher
1004Aika B PoquetteJapan2024-06-06Dorl, James J Esq NEW71Amy Elsner
1005Misaki X FollerJapan2024-05-25Truhlar And Truhlar Attys QUALIFIED96Elwin Sharvill
1006Alejandro T RimCanada2024-05-29Benton, John B Jr NEW35Asiya Javayant
1007Mayumi W MacleadFrance2024-06-01Rangoni Of Florence RENEWAL73Ioni Bowcher
1008Costa Z SlusarskiArgentina2024-06-02Rangoni Of Florence NEW77Anna Fali
1009Mayumi C GauchoIndia2024-06-13Rangoni Of Florence NEGOTIATION69Ivan Magalhaes
1010Aika J GlickItaly2024-06-09Chapman, Ross E Esq NEW70Elwin Sharvill
1011Ivar Y FollerCanada2024-06-10Commercial Press QUALIFIED76Ivan Magalhaes
1012Alejandro F WaycottAustralia2024-05-26Chemel, James L Cpa RENEWAL8Onyama Limba
1013Deepesh O OstroskyIndia2024-05-24Dorl, James J Esq RENEWAL35Bernardo Dominic
1014Silvio K DarakjyGermany2024-06-20Feltz Printing Service QUALIFIED55Onyama Limba
1015Ashley T VenereFrance2024-06-05Rousseaux, Michael Esq UNQUALIFIED3Ioni Bowcher
1016Octavia G RoysterSpain2024-05-29Feiner Bros UNQUALIFIED68Xuxue Feng
1017Misaki M ButtJapan2024-06-14Feiner Bros NEGOTIATION86Xuxue Feng
1018Nicolas L RimBrazil2024-06-19Morlong Associates RENEWAL46Amy Elsner
1019Rodrigues Y RulapaughSpain2024-06-16Feltz Printing Service NEGOTIATION49Amy Elsner
1020Leja Z ShinkoSpain2024-05-31Truhlar And Truhlar Attys PROPOSAL54Anna Fali
1021Jones G KolmetzRussia2024-05-23Printing Dimensions PROPOSAL73Anna Fali
1022James M AlbaresFrance2024-05-28King, Christopher A Esq UNQUALIFIED49Onyama Limba
1023Izzy G GarufiSpain2024-06-14King, Christopher A Esq PROPOSAL9Elwin Sharvill
1024Deepesh E OstroskyIndia2024-06-13Feiner Bros NEGOTIATION95Ivan Magalhaes
1025Ivar L DoeItaly2024-06-15King, Christopher A Esq RENEWAL76Amy Elsner
1026Aditya E FigeroaUnited Kingdom2024-06-12Commercial Press QUALIFIED87Bernardo Dominic
1027Salvatore Y FollerCanada2024-06-07Printing Dimensions NEW56Stephen Shaw
1028Octavia I WhobreyItaly2024-06-02Chemel, James L Cpa UNQUALIFIED89Ioni Bowcher
1029Octavia Q BologniaCanada2024-06-18Printing Dimensions PROPOSAL17Elwin Sharvill
1030Julie N MarrierUnited Kingdom2024-06-16Chemel, James L Cpa RENEWAL50Amy Elsner
1031Silvio R VocelkaGermany2024-06-18Benton, John B Jr UNQUALIFIED0Amy Elsner
1032Ashley C ChuiGermany2024-05-27King, Christopher A Esq RENEWAL67Ivan Magalhaes
1033Antonio R KolmetzArgentina2024-06-15Buckley Miller Wright NEGOTIATION25Elwin Sharvill
1034Munro M MaletRussia2024-06-12Truhlar And Truhlar Attys QUALIFIED71Anna Fali
1035Claire W WieserBrazil2024-06-12Truhlar And Truhlar Attys PROPOSAL48Elwin Sharvill
1036Francesco F FerenczAustralia2024-05-23Chemel, James L Cpa RENEWAL37Ivan Magalhaes
1037David A FollerJapan2024-06-06Printing Dimensions RENEWAL84Onyama Limba
1038Faith U MaletRussia2024-06-15King, Christopher A Esq UNQUALIFIED49Ivan Magalhaes
1039Francesco B DilliardIndia2024-06-08Morlong Associates PROPOSAL61Onyama Limba
1040Julie B StockhamIndia2024-06-06Benton, John B Jr NEW88Asiya Javayant
1041Greenwood T StensethAustralia2024-05-29Feltz Printing Service UNQUALIFIED46Elwin Sharvill
1042Misaki O DilliardSpain2024-05-23Feiner Bros PROPOSAL86Xuxue Feng
1043Costa Y InouyeGermany2024-06-17Truhlar And Truhlar Attys UNQUALIFIED79Elwin Sharvill
1044Murillo A KolmetzRussia2024-06-16Chanay, Jeffrey A Esq QUALIFIED17Stephen Shaw
1045Silvio E PaprockiArgentina2024-06-18Chapman, Ross E Esq NEGOTIATION98Anna Fali
1046Greenwood V NickaIndia2024-06-14Chanay, Jeffrey A Esq PROPOSAL14Anna Fali
1047Nicolas X SergiRussia2024-06-20Feltz Printing Service NEW86Ivan Magalhaes
1048Alejandro A PerinIndia2024-06-07Chapman, Ross E Esq NEGOTIATION59Ioni Bowcher
1049Maisha Y DoeArgentina2024-06-20Rangoni Of Florence RENEWAL21Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa I GlickFranceAsiya Javayant NEGOTIATION
Claire S SlusarskiBrazilAmy Elsner NEW
Julie U OldroydSpainStephen Shaw NEW
Arvin B InouyeRussiaBernardo Dominic NEGOTIATION
Murillo B IturbideArgentinaXuxue Feng QUALIFIED
Johnson K MaletAustraliaOnyama Limba RENEWAL
Munro D NestleBrazilBernardo Dominic NEGOTIATION
Ricardo K DoeCanadaAmy Elsner UNQUALIFIED
Silvio A VenereFranceIoni Bowcher RENEWAL
Antonio Q IturbideArgentinaXuxue Feng NEW
Nicolas P DilliardGermanyAmy Elsner NEGOTIATION
Jennifer L ButtJapanStephen Shaw NEGOTIATION
Leon F RutaFranceAmy Elsner NEGOTIATION
Nicolas G MaletJapanXuxue Feng QUALIFIED
Aditya U AlbaresBrazilAsiya Javayant QUALIFIED
Emily Y WhobreyFranceIoni Bowcher NEW
Greenwood P WaycottBrazilAsiya Javayant PROPOSAL
Claire N ShinkoRussiaBernardo Dominic PROPOSAL
Aruna C NestleIndiaStephen Shaw UNQUALIFIED
Darci B FlosiJapanOnyama Limba RENEWAL
Sinclair W IturbideUnited KingdomAsiya Javayant RENEWAL
Stacey M GauchoIndiaStephen Shaw NEGOTIATION
Johnson U ShinkoAustraliaElwin Sharvill RENEWAL
Arvin M SergiItalyAnna Fali NEW
Salvatore R DoeArgentinaAnna Fali NEGOTIATION
Jennifer S GarufiAustraliaXuxue Feng NEW
James Q CampainIndiaBernardo Dominic QUALIFIED
Silvio V BologniaFranceOnyama Limba UNQUALIFIED
Maisha R StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Claire H GauchoJapanOnyama Limba NEGOTIATION
Leon E WaycottGermanyOnyama Limba NEW
Antonio H FerenczRussiaAnna Fali RENEWAL
Salvatore O SergiIndiaStephen Shaw RENEWAL
Emily Q WieserGermanyOnyama Limba RENEWAL
Alejandro F ChuiUnited KingdomElwin Sharvill NEW
Octavia K GauchoUnited KingdomStephen Shaw NEGOTIATION
Maisha J AmigonSpainXuxue Feng RENEWAL
Claire J VenereJapanXuxue Feng QUALIFIED
Kadeem G CaudyArgentinaAsiya Javayant NEW
Rodrigues G MaletFranceAnna Fali RENEWAL
Mujtaba V SergiJapanBernardo Dominic QUALIFIED
Misaki A MacleadArgentinaIvan Magalhaes NEGOTIATION
Arvin P DarakjyCanadaBernardo Dominic UNQUALIFIED
Izzy I StensethCanadaStephen Shaw UNQUALIFIED
Juan T MacleadBrazilXuxue Feng PROPOSAL
Cody X AmigonAustraliaBernardo Dominic PROPOSAL
Deepesh L FollerAustraliaBernardo Dominic PROPOSAL
Aditya Q TollnerFranceBernardo Dominic UNQUALIFIED
Kadeem T BologniaItalyOnyama Limba NEW
Maisha X AmigonJapanAnna Fali NEGOTIATION
Frozen Columns
Name
Chavez R Malet
Mayumi I Saylors
Julie Y Marrier
Leon L Dilliard
Mujtaba H Dilliard
Johnson K Shinko
Cody B Morasca
Clifford R Gaucho
Francesco J Maclead
Stacey D Inouye
Kaitlin N Caudy
Maisha Z Bolognia
Jefferson Z Shinko
Leja E Foller
Kaitlin S Dilliard
Emily P Marrier
Jennifer R Stockham
Arvin V Butt
Deepesh N Flosi
Darci R Venere
Ashley Y Iturbide
Emily W Glick
Leon W Bolognia
Ivar X Venere
Misaki E Caldarera
Clifford K Doe
Arvin G Oldroyd
Jeanfrancois Q Morasca
Morrow U Briddick
Kadeem Z Royster
Greenwood T Tollner
Claire G Poquette
Aruna U Garufi
Murillo O Maclead
Ricardo H Venere
Emily W Bolognia
Jefferson Z Figeroa
Maisha Z Flosi
Sinclair A Flosi
Leja N Kusko
James F Caldarera
Alejandro Y Paprocki
Izzy D Dilliard
Faith H Butt
Leon K Vocelka
Aditya T Ostrosky
Arvin J Wieser
Faith V Venere
Rodrigues A Ostrosky
James R Bowley
IdCountryDate
1000India2024-06-17
1001Spain2024-05-28
1002Brazil2024-06-18
1003Russia2024-06-18
1004Italy2024-06-05
1005France2024-06-12
1006Brazil2024-06-18
1007Spain2024-05-29
1008United Kingdom2024-06-16
1009Argentina2024-05-29
1010United Kingdom2024-06-05
1011Germany2024-06-13
1012Germany2024-06-01
1013Japan2024-06-20
1014France2024-06-11
1015Canada2024-06-12
1016Spain2024-06-20
1017Argentina2024-06-04
1018Australia2024-05-30
1019United Kingdom2024-06-11
1020Brazil2024-06-14
1021Spain2024-05-31
1022United Kingdom2024-05-24
1023France2024-06-03
1024France2024-06-06
1025Brazil2024-06-20
1026France2024-05-29
1027Argentina2024-06-07
1028Russia2024-05-23
1029Russia2024-06-05
1030United Kingdom2024-06-04
1031India2024-06-04
1032India2024-05-23
1033United Kingdom2024-05-26
1034France2024-05-24
1035Spain2024-06-11
1036Brazil2024-05-31
1037Russia2024-06-15
1038Russia2024-06-10
1039Spain2024-06-07
1040Brazil2024-05-24
1041United Kingdom2024-05-26
1042Japan2024-05-30
1043Canada2024-05-24
1044Italy2024-06-08
1045India2024-06-11
1046Brazil2024-06-13
1047Germany2024-06-04
1048United Kingdom2024-06-08
1049United Kingdom2024-05-26

On-Demand Data

NameIdCountryDate
Maisha S Waycott1000Spain2024-06-08
Sinclair L Briddick1001Germany2024-06-10
Mayumi T Schemmer1002Brazil2024-06-13
Aika I Malet1003France2024-06-14
Julie U Perin1004Japan2024-05-26
Leja U Stockham1005France2024-06-06
Costa R Rim1006Spain2024-06-20
Isabel D Schemmer1007Japan2024-06-15
Aruna N Maclead1008Germany2024-05-29
Ashley V Campain1009Russia2024-06-07
Morrow K Inouye1010France2024-06-02
Salvatore A Saylors1011Argentina2024-06-16
Octavia U Poquette1012Argentina2024-06-19
Antonio S Tollner1013United Kingdom2024-05-25
Leon D Rulapaugh1014Germany2024-05-30
Cody B Paprocki1015Russia2024-06-18
Darci X Campain1016Brazil2024-05-24
Nicolas Y Campain1017Australia2024-06-16
Mujtaba S Amigon1018France2024-06-06
Alejandro W Saylors1019Spain2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson S AlbaresArgentinaBernardo Dominic RENEWAL
Smith Z PoquetteAustraliaAmy Elsner NEW
Misaki V DilliardSpainStephen Shaw PROPOSAL
Smith M AlbaresAustraliaElwin Sharvill UNQUALIFIED
Leja J InouyeCanadaAsiya Javayant PROPOSAL
Nicolas Y PerinGermanyStephen Shaw UNQUALIFIED
Mujtaba Y FigeroaAustraliaAnna Fali NEW
James F FlosiAustraliaAnna Fali UNQUALIFIED
Chavez K WaycottItalyStephen Shaw PROPOSAL
Cody Z StockhamBrazilAmy Elsner PROPOSAL
Munro E BologniaCanadaAsiya Javayant NEW
Arvin P WaycottRussiaAnna Fali QUALIFIED
Sinclair V AmigonCanadaIoni Bowcher NEGOTIATION
Octavia K RulapaughArgentinaOnyama Limba PROPOSAL
Stacey N WieserJapanAsiya Javayant PROPOSAL
Julie K ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Greenwood W GlickIndiaXuxue Feng PROPOSAL
Ricardo A RutaIndiaElwin Sharvill NEW
Aruna W BologniaCanadaXuxue Feng QUALIFIED
Isabel Y AmigonRussiaXuxue Feng RENEWAL
Juan S DilliardUnited KingdomAmy Elsner NEGOTIATION
Leon W SaylorsCanadaAnna Fali NEGOTIATION
Clifford B VenereItalyAmy Elsner PROPOSAL
Mujtaba V IturbideSpainAnna Fali PROPOSAL
Julie Z StensethRussiaAnna Fali RENEWAL
Leon H InouyeJapanAsiya Javayant RENEWAL
Tony L DilliardArgentinaOnyama Limba NEGOTIATION
Deepesh T ButtBrazilAsiya Javayant QUALIFIED
Juan Q ShinkoGermanyOnyama Limba UNQUALIFIED
Claire J VocelkaRussiaXuxue Feng QUALIFIED
Aika Q InouyeItalyIvan Magalhaes NEGOTIATION
Munro C SergiFranceIvan Magalhaes NEGOTIATION
Leja X RutaBrazilXuxue Feng PROPOSAL
Smith B KolmetzArgentinaAnna Fali RENEWAL
Tony G PaprockiUnited KingdomStephen Shaw PROPOSAL
Morrow U DoeCanadaAnna Fali NEW
Jones S OstroskyRussiaAnna Fali UNQUALIFIED
Ivar Y MacleadUnited KingdomIoni Bowcher RENEWAL
Mujtaba J WhobreyArgentinaAmy Elsner NEW
Munro N NickaRussiaStephen 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>