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
Stacey R CaudyFranceAmy Elsner QUALIFIED
Ashley P CaldareraItalyElwin Sharvill NEGOTIATION
Morrow T SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Adams O StockhamAustraliaOnyama Limba PROPOSAL
Rodrigues E GarufiItalyStephen Shaw QUALIFIED
Leon A FollerFranceAnna Fali UNQUALIFIED
Chavez L DarakjyBrazilAsiya Javayant RENEWAL
Johnson V MacleadAustraliaBernardo Dominic PROPOSAL
Jeanfrancois B FigeroaCanadaAsiya Javayant NEW
Wickens O WhobreyGermanyXuxue Feng RENEWAL
Munro R WhobreyIndiaElwin Sharvill QUALIFIED
Cody P NestleRussiaAsiya Javayant NEGOTIATION
Ivar Q WaycottIndiaXuxue Feng RENEWAL
James B InouyeRussiaIvan Magalhaes NEGOTIATION
Stacey Q MaletJapanStephen Shaw PROPOSAL
Leja U AlbaresIndiaElwin Sharvill PROPOSAL
Silvio M BowleyJapanElwin Sharvill PROPOSAL
Adams T OstroskySpainBernardo Dominic NEGOTIATION
Morrow N MorascaJapanAnna Fali QUALIFIED
Wickens W IturbideBrazilIvan Magalhaes PROPOSAL
Leon Y DoeIndiaAnna Fali UNQUALIFIED
Ricardo Y KuskoIndiaAsiya Javayant RENEWAL
Izzy K SaylorsRussiaIvan Magalhaes PROPOSAL
Darci G BologniaArgentinaIvan Magalhaes NEW
Jennifer J StensethAustraliaStephen Shaw QUALIFIED
Munro R GillianBrazilXuxue Feng RENEWAL
Jones R FlosiCanadaAnna Fali NEGOTIATION
Deepesh R MaletCanadaXuxue Feng RENEWAL
Smith S MorascaJapanAmy Elsner RENEWAL
Greenwood O DoeRussiaIvan Magalhaes PROPOSAL
Ashley D DilliardAustraliaOnyama Limba NEW
Francesco Y VenereIndiaXuxue Feng NEW
Aika Z NestleIndiaAnna Fali RENEWAL
Cody T InouyeJapanIoni Bowcher PROPOSAL
Ivar H FlosiIndiaOnyama Limba QUALIFIED
Jefferson U SlusarskiFranceIoni Bowcher QUALIFIED
Smith K OstroskyCanadaAnna Fali PROPOSAL
Stacey J FollerCanadaAnna Fali NEGOTIATION
Rodrigues F NickaArgentinaStephen Shaw UNQUALIFIED
Izzy O FerenczCanadaBernardo Dominic RENEWAL
Isabel U PerinRussiaAmy Elsner RENEWAL
Octavia Q AmigonRussiaIvan Magalhaes UNQUALIFIED
Leja A VocelkaItalyXuxue Feng QUALIFIED
Octavia O BowleyBrazilIvan Magalhaes NEW
Nicolas T MaletGermanyAnna Fali UNQUALIFIED
Jones A CaldareraUnited KingdomIoni Bowcher QUALIFIED
Emily L NestleJapanAmy Elsner RENEWAL
Rodrigues Q CaldareraArgentinaIoni Bowcher QUALIFIED
David W RutaAustraliaXuxue Feng NEGOTIATION
Adams E CaudyArgentinaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio T VenereRussiaXuxue Feng RENEWAL
Adams K MacleadRussiaXuxue Feng RENEWAL
Kadeem J GlickGermanyElwin Sharvill NEW
Clifford M OldroydUnited KingdomOnyama Limba PROPOSAL
David Z KuskoSpainElwin Sharvill UNQUALIFIED
Leja G FerenczFranceStephen Shaw RENEWAL
Jennifer R GarufiRussiaAmy Elsner PROPOSAL
Juan L StockhamRussiaElwin Sharvill UNQUALIFIED
Smith N PoquetteItalyAsiya Javayant PROPOSAL
Misaki A WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson V KolmetzFrance2025-05-19Rousseaux, Michael Esq RENEWAL33Anna Fali
1001Jefferson C ChuiIndia2025-06-13Rousseaux, Michael Esq PROPOSAL82Amy Elsner
1002David O FollerAustralia2025-06-02Feiner Bros NEGOTIATION76Bernardo Dominic
1003Antonio I MarrierItaly2025-05-31Feltz Printing Service UNQUALIFIED30Xuxue Feng
1004Alejandro M CampainBrazil2025-06-11Benton, John B Jr PROPOSAL58Xuxue Feng
1005Francesco A DoeJapan2025-05-29Truhlar And Truhlar Attys UNQUALIFIED6Onyama Limba
1006Isabel A SlusarskiRussia2025-06-06Feltz Printing Service RENEWAL9Amy Elsner
1007Nicolas A VenereArgentina2025-05-28Chanay, Jeffrey A Esq QUALIFIED41Elwin Sharvill
1008Julie M PaprockiBrazil2025-05-18Morlong Associates NEW60Onyama Limba
1009Misaki Y RulapaughGermany2025-06-05Rousseaux, Michael Esq QUALIFIED31Amy Elsner
1010Rodrigues Q OstroskyRussia2025-06-04Rousseaux, Michael Esq NEW35Bernardo Dominic
1011Faith K DarakjyJapan2025-05-30Buckley Miller Wright NEGOTIATION17Xuxue Feng
1012Jefferson M NickaAustralia2025-05-29Chemel, James L Cpa NEW63Xuxue Feng
1013Jones H CaldareraCanada2025-06-12Dorl, James J Esq RENEWAL69Asiya Javayant
1014Murillo J IturbideArgentina2025-05-20Dorl, James J Esq NEGOTIATION70Elwin Sharvill
1015Kaitlin P ShinkoArgentina2025-06-13Chanay, Jeffrey A Esq NEGOTIATION41Ivan Magalhaes
1016Faith X NickaSpain2025-05-30Chanay, Jeffrey A Esq NEGOTIATION59Bernardo Dominic
1017Claire R SaylorsSpain2025-05-19Buckley Miller Wright RENEWAL87Anna Fali
1018Isabel V SchemmerGermany2025-06-11Chanay, Jeffrey A Esq PROPOSAL25Xuxue Feng
1019Adams C MacleadCanada2025-05-18King, Christopher A Esq QUALIFIED7Elwin Sharvill
1020Costa Y MacleadFrance2025-05-25Morlong Associates QUALIFIED47Onyama Limba
1021Tony E GauchoIndia2025-05-29Printing Dimensions NEGOTIATION72Bernardo Dominic
1022Mayumi K AlbaresBrazil2025-06-15King, Christopher A Esq QUALIFIED43Elwin Sharvill
1023Ivar S MarrierItaly2025-06-16Chanay, Jeffrey A Esq NEGOTIATION45Bernardo Dominic
1024Kaitlin W DoeFrance2025-06-02Chapman, Ross E Esq QUALIFIED9Anna Fali
1025David V DilliardGermany2025-05-27Commercial Press NEGOTIATION6Stephen Shaw
1026Tony T PerinArgentina2025-06-09Chanay, Jeffrey A Esq QUALIFIED91Amy Elsner
1027Alejandro L FollerFrance2025-06-11Morlong Associates UNQUALIFIED85Ivan Magalhaes
1028Octavia I KolmetzRussia2025-06-02Chemel, James L Cpa QUALIFIED4Onyama Limba
1029Stacey B VocelkaJapan2025-06-15Chapman, Ross E Esq NEW13Ivan Magalhaes
1030Rodrigues U DarakjyBrazil2025-05-21Morlong Associates NEW78Stephen Shaw
1031Maria Q RulapaughFrance2025-06-15Benton, John B Jr QUALIFIED44Amy Elsner
1032Cody N WieserSpain2025-05-29Morlong Associates NEGOTIATION32Ivan Magalhaes
1033Francesco U AlbaresItaly2025-05-18Benton, John B Jr UNQUALIFIED40Asiya Javayant
1034Stacey J ChuiGermany2025-06-12Chanay, Jeffrey A Esq RENEWAL64Ioni Bowcher
1035Jennifer N DarakjyItaly2025-05-21Printing Dimensions PROPOSAL75Elwin Sharvill
1036Silvio C RimGermany2025-06-02Chanay, Jeffrey A Esq PROPOSAL97Xuxue Feng
1037Munro J GillianIndia2025-06-15Chapman, Ross E Esq NEGOTIATION71Elwin Sharvill
1038Francesco D PoquetteRussia2025-05-29Benton, John B Jr UNQUALIFIED98Ivan Magalhaes
1039Faith W AlbaresUnited Kingdom2025-06-16Morlong Associates QUALIFIED32Anna Fali
1040Jennifer G DoeRussia2025-05-30Printing Dimensions UNQUALIFIED69Amy Elsner
1041Aruna Q WaycottAustralia2025-05-20Rangoni Of Florence NEGOTIATION81Asiya Javayant
1042Jennifer L ChuiItaly2025-06-13Chemel, James L Cpa NEGOTIATION57Bernardo Dominic
1043Misaki C FerenczAustralia2025-06-05Printing Dimensions QUALIFIED7Stephen Shaw
1044Stacey X OldroydJapan2025-06-06Printing Dimensions PROPOSAL82Amy Elsner
1045Darci O MacleadAustralia2025-05-18Morlong Associates QUALIFIED24Xuxue Feng
1046Maisha U ChuiBrazil2025-06-07Commercial Press NEW32Anna Fali
1047Wickens M KuskoArgentina2025-05-27King, Christopher A Esq PROPOSAL19Amy Elsner
1048Juan S AmigonGermany2025-06-06Benton, John B Jr QUALIFIED42Anna Fali
1049Jones U BologniaGermany2025-05-29Commercial Press NEGOTIATION78Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues T RimAustraliaIoni Bowcher UNQUALIFIED
Jennifer P WaycottSpainBernardo Dominic NEW
Chavez O RutaCanadaOnyama Limba NEW
Deepesh Q BriddickItalyElwin Sharvill QUALIFIED
Emily T SergiFranceAsiya Javayant NEGOTIATION
Mujtaba G GillianBrazilAsiya Javayant UNQUALIFIED
Sinclair O FlosiGermanyBernardo Dominic NEGOTIATION
Smith Y IturbideBrazilBernardo Dominic NEGOTIATION
Chavez N DilliardFranceAsiya Javayant NEGOTIATION
Silvio H IturbideBrazilStephen Shaw PROPOSAL
Ricardo M MacleadFranceXuxue Feng QUALIFIED
Silvio X ShinkoIndiaAsiya Javayant QUALIFIED
Leon Y OstroskyJapanOnyama Limba RENEWAL
Kaitlin D FlosiFranceAsiya Javayant RENEWAL
Johnson H OldroydFranceIoni Bowcher RENEWAL
Murillo Z RulapaughItalyXuxue Feng PROPOSAL
Aika L IturbideRussiaAnna Fali PROPOSAL
Deepesh B SlusarskiFranceIoni Bowcher RENEWAL
Jefferson I InouyeFranceElwin Sharvill PROPOSAL
Clifford B GlickFranceAsiya Javayant NEW
Silvio I WieserArgentinaBernardo Dominic QUALIFIED
Nicolas F RoysterItalyElwin Sharvill QUALIFIED
Rodrigues E WhobreyFranceIoni Bowcher NEW
Antonio X GillianCanadaAnna Fali NEW
Munro H SergiArgentinaXuxue Feng PROPOSAL
Smith K InouyeJapanAsiya Javayant RENEWAL
Munro C KolmetzIndiaAnna Fali UNQUALIFIED
Stacey M DilliardSpainAnna Fali NEGOTIATION
Jones X AmigonGermanyElwin Sharvill PROPOSAL
Antonio L DoeSpainAnna Fali PROPOSAL
Jefferson V DilliardRussiaIvan Magalhaes QUALIFIED
Stacey K DilliardBrazilOnyama Limba RENEWAL
Claire Q WhobreyAustraliaElwin Sharvill PROPOSAL
Aruna A GarufiGermanyStephen Shaw NEW
Maisha H BowleyIndiaAnna Fali NEGOTIATION
Darci K GillianGermanyBernardo Dominic NEW
Ricardo F DilliardUnited KingdomIoni Bowcher PROPOSAL
Munro F SchemmerAustraliaBernardo Dominic RENEWAL
Alejandro D OldroydFranceIvan Magalhaes NEGOTIATION
Juan C RulapaughItalyStephen Shaw QUALIFIED
Aika T DilliardSpainIvan Magalhaes QUALIFIED
Nicolas V GarufiRussiaOnyama Limba QUALIFIED
Rodrigues J DilliardGermanyAmy Elsner UNQUALIFIED
Costa H MaletIndiaOnyama Limba UNQUALIFIED
James U WieserJapanXuxue Feng NEGOTIATION
Johnson U MaletSpainAnna Fali NEW
Mujtaba C AlbaresJapanBernardo Dominic UNQUALIFIED
Ivar R NickaSpainStephen Shaw UNQUALIFIED
Aditya U VenereIndiaAmy Elsner NEW
Wickens P KuskoIndiaIoni Bowcher NEW
Frozen Columns
Name
Misaki O Nestle
Cody S Caudy
Isabel E Royster
Misaki Z Ruta
Mujtaba X Kolmetz
Salvatore C Flosi
Arvin Z Iturbide
Ashley S Briddick
Maria C Flosi
Juan A Sergi
Nicolas K Figeroa
Jennifer J Saylors
Ivar N Marrier
Julie Q Inouye
Jennifer A Amigon
James Y Perin
Ricardo D Marrier
David N Oldroyd
Cody C Perin
Claire U Stockham
Isabel S Caudy
Emily E Briddick
Leon K Sergi
Kadeem M Poquette
Arvin W Figeroa
Smith R Malet
Morrow G Maclead
Octavia N Doe
Jennifer T Vocelka
Murillo L Stenseth
Kadeem I Vocelka
Smith G Marrier
Jones B Royster
Chavez G Gillian
Kadeem Q Figeroa
Deepesh E Doe
Maisha A Gillian
Deepesh E Inouye
Jennifer P Marrier
Silvio Z Royster
Claire L Malet
Maisha T Amigon
Aruna K Waycott
Isabel T Maclead
Aditya A Gillian
Stacey H Malet
Leon V Dilliard
Tony S Kolmetz
Kadeem E Perin
Faith J Gaucho
IdCountryDate
1000Australia2025-06-02
1001Italy2025-06-03
1002United Kingdom2025-06-06
1003Japan2025-05-23
1004Russia2025-05-28
1005Russia2025-06-05
1006Canada2025-05-25
1007India2025-06-12
1008Japan2025-05-18
1009Canada2025-05-21
1010Argentina2025-06-16
1011France2025-06-08
1012Germany2025-06-16
1013Brazil2025-06-06
1014France2025-06-09
1015Spain2025-05-24
1016Australia2025-05-26
1017Argentina2025-05-30
1018Canada2025-06-01
1019United Kingdom2025-06-15
1020Argentina2025-06-03
1021Canada2025-06-10
1022Russia2025-05-28
1023Brazil2025-05-25
1024Argentina2025-05-28
1025Brazil2025-06-14
1026Australia2025-06-10
1027France2025-06-15
1028Spain2025-06-11
1029Italy2025-06-05
1030India2025-06-07
1031United Kingdom2025-06-11
1032Italy2025-05-24
1033Japan2025-05-19
1034France2025-06-14
1035Russia2025-06-10
1036Brazil2025-06-05
1037Italy2025-05-22
1038Argentina2025-06-07
1039Australia2025-05-24
1040Germany2025-06-11
1041India2025-06-03
1042India2025-06-10
1043Japan2025-05-23
1044France2025-05-31
1045Spain2025-06-16
1046Australia2025-05-27
1047Japan2025-06-02
1048Russia2025-06-12
1049Canada2025-05-22

On-Demand Data

NameIdCountryDate
Isabel H Bowley1000Japan2025-06-13
Johnson Q Bolognia1001Argentina2025-05-28
Ashley V Wieser1002Argentina2025-06-03
Mayumi H Doe1003United Kingdom2025-06-07
Jeanfrancois T Gillian1004United Kingdom2025-06-06
Antonio W Ferencz1005Russia2025-06-11
Ashley Y Chui1006Argentina2025-06-09
Wickens U Chui1007Italy2025-06-07
Mujtaba V Perin1008Brazil2025-05-24
Chavez X Dilliard1009Canada2025-05-29
Wickens D Royster1010India2025-05-20
Leon D Royster1011Brazil2025-06-14
Cody J Bowley1012Australia2025-06-07
Aditya Y Slusarski1013Australia2025-06-06
James H Glick1014Australia2025-06-02
Misaki S Royster1015Spain2025-05-26
Wickens X Butt1016Canada2025-05-18
Stacey L Malet1017Germany2025-06-11
Munro Q Nestle1018United Kingdom2025-05-25
Chavez C Inouye1019Spain2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley D FlosiGermanyAnna Fali PROPOSAL
Stacey J BowleyItalyStephen Shaw NEW
James W MaletRussiaElwin Sharvill NEGOTIATION
Rodrigues Z WaycottJapanAmy Elsner NEGOTIATION
Salvatore N CaudyItalyAnna Fali NEGOTIATION
Smith B MaletIndiaAsiya Javayant NEW
Maisha D GlickIndiaOnyama Limba RENEWAL
Antonio G ShinkoBrazilXuxue Feng QUALIFIED
David V FlosiBrazilIoni Bowcher NEGOTIATION
Ivar J ShinkoUnited KingdomAmy Elsner NEGOTIATION
Johnson W SaylorsFranceXuxue Feng RENEWAL
Jennifer I WhobreyJapanAsiya Javayant RENEWAL
Aruna W GillianItalyXuxue Feng QUALIFIED
Ricardo Y FlosiGermanyAmy Elsner NEW
Claire P ButtUnited KingdomAsiya Javayant NEW
Francesco L InouyeIndiaIvan Magalhaes NEGOTIATION
Aruna L PaprockiRussiaAsiya Javayant NEGOTIATION
Johnson O BriddickJapanBernardo Dominic RENEWAL
Aika G OstroskyGermanyAmy Elsner RENEWAL
Aditya M FigeroaCanadaElwin Sharvill QUALIFIED
Rodrigues H ButtRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois N PoquetteGermanyBernardo Dominic QUALIFIED
Murillo L RoysterGermanyStephen Shaw QUALIFIED
Mayumi H MaletIndiaIoni Bowcher NEGOTIATION
Munro C RutaFranceXuxue Feng NEW
Murillo U TollnerFranceElwin Sharvill NEW
Ricardo D BriddickArgentinaOnyama Limba NEW
Jefferson S SlusarskiAustraliaBernardo Dominic PROPOSAL
Julie B InouyeSpainAmy Elsner NEW
Greenwood T MarrierCanadaOnyama Limba NEW
Antonio Y RutaAustraliaElwin Sharvill NEGOTIATION
Ricardo F OstroskyArgentinaIvan Magalhaes NEGOTIATION
Octavia P BowleyRussiaBernardo Dominic RENEWAL
Leja V VenereItalyBernardo Dominic NEGOTIATION
Aruna F NickaJapanAmy Elsner RENEWAL
Darci L PaprockiIndiaAnna Fali NEW
Claire A BologniaItalyElwin Sharvill NEW
Chavez P ChuiJapanAnna Fali QUALIFIED
Ricardo T SchemmerGermanyBernardo Dominic NEW
James H PoquetteItalyOnyama Limba RENEWAL

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