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
David R MaletAustraliaAnna Fali UNQUALIFIED
Leon O FigeroaBrazilStephen Shaw NEW
Adams W FollerFranceElwin Sharvill PROPOSAL
Faith B BriddickSpainElwin Sharvill NEGOTIATION
Johnson Z GlickCanadaIoni Bowcher NEGOTIATION
Misaki D WaycottSpainAmy Elsner RENEWAL
Arvin C WhobreyBrazilAmy Elsner UNQUALIFIED
Francesco I ChuiArgentinaOnyama Limba PROPOSAL
Isabel Y GauchoCanadaBernardo Dominic QUALIFIED
James I CaldareraBrazilOnyama Limba NEGOTIATION
Deepesh T AlbaresItalyAmy Elsner PROPOSAL
Tony C MorascaJapanBernardo Dominic RENEWAL
Deepesh G BologniaJapanAnna Fali RENEWAL
Izzy U GarufiSpainXuxue Feng RENEWAL
Maisha U SergiSpainXuxue Feng NEW
Aika O DarakjyRussiaBernardo Dominic UNQUALIFIED
Isabel P CampainAustraliaAsiya Javayant QUALIFIED
Julie N ChuiAustraliaIoni Bowcher NEGOTIATION
Ashley X MaletAustraliaXuxue Feng NEW
Jennifer G SergiIndiaXuxue Feng QUALIFIED
Rodrigues O OldroydAustraliaOnyama Limba UNQUALIFIED
Johnson N WhobreyCanadaXuxue Feng PROPOSAL
Kadeem U RutaGermanyStephen Shaw NEW
Jefferson B MaletAustraliaAsiya Javayant NEW
Misaki S KolmetzAustraliaIoni Bowcher NEW
Tony R NickaIndiaBernardo Dominic NEGOTIATION
Mujtaba D OldroydCanadaXuxue Feng UNQUALIFIED
Isabel C TollnerSpainIvan Magalhaes RENEWAL
Antonio T StensethRussiaAmy Elsner QUALIFIED
Misaki A GlickFranceElwin Sharvill UNQUALIFIED
Adams P FigeroaRussiaXuxue Feng NEGOTIATION
David P AmigonFranceIoni Bowcher PROPOSAL
Aditya B SlusarskiRussiaOnyama Limba UNQUALIFIED
Silvio K NestleAustraliaAmy Elsner UNQUALIFIED
Chavez T MacleadFranceAmy Elsner UNQUALIFIED
Munro N DilliardBrazilXuxue Feng RENEWAL
Clifford I InouyeItalyOnyama Limba QUALIFIED
Kadeem E CampainJapanBernardo Dominic NEGOTIATION
Silvio O MaletAustraliaIoni Bowcher RENEWAL
Kadeem J DarakjyAustraliaStephen Shaw QUALIFIED
Kadeem O ChuiFranceIvan Magalhaes RENEWAL
Clifford C PoquetteAustraliaElwin Sharvill PROPOSAL
Stacey R MarrierBrazilStephen Shaw RENEWAL
Kaitlin K CaldareraJapanXuxue Feng QUALIFIED
Mayumi I KuskoBrazilAsiya Javayant UNQUALIFIED
Johnson G IturbideUnited KingdomOnyama Limba RENEWAL
Alejandro J RutaGermanyStephen Shaw RENEWAL
Maria O RulapaughItalyAnna Fali NEGOTIATION
Ricardo V SlusarskiItalyXuxue Feng RENEWAL
Adams G NickaRussiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo W BologniaAustraliaIvan Magalhaes PROPOSAL
Morrow F BriddickArgentinaAmy Elsner UNQUALIFIED
Munro E BriddickArgentinaXuxue Feng NEW
Juan P KuskoUnited KingdomBernardo Dominic NEW
Isabel Y PerinIndiaAsiya Javayant UNQUALIFIED
Maria R BriddickJapanBernardo Dominic NEW
Faith G KuskoIndiaElwin Sharvill QUALIFIED
Kaitlin Q DarakjySpainIvan Magalhaes RENEWAL
Tony G MarrierAustraliaIoni Bowcher NEW
Leon R DilliardSpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan S IturbideGermany2024-06-06Printing Dimensions RENEWAL26Xuxue Feng
1001Leon X RutaCanada2024-06-17Chanay, Jeffrey A Esq NEW57Bernardo Dominic
1002Darci U FerenczAustralia2024-06-01Chemel, James L Cpa NEGOTIATION25Anna Fali
1003Tony X RimBrazil2024-05-31Printing Dimensions UNQUALIFIED26Anna Fali
1004Sinclair E VenereBrazil2024-06-02Feiner Bros NEW61Anna Fali
1005Aika E GlickAustralia2024-05-25Chemel, James L Cpa RENEWAL10Onyama Limba
1006Maisha Y BowleyBrazil2024-05-31King, Christopher A Esq NEGOTIATION10Stephen Shaw
1007Leon W OldroydRussia2024-06-08Printing Dimensions QUALIFIED82Elwin Sharvill
1008Tony S RimItaly2024-06-20Morlong Associates NEW98Onyama Limba
1009David A OldroydFrance2024-06-12Chapman, Ross E Esq PROPOSAL22Stephen Shaw
1010Francesco U PoquetteArgentina2024-06-05Chanay, Jeffrey A Esq NEGOTIATION34Ioni Bowcher
1011Claire P MaletCanada2024-06-16Morlong Associates RENEWAL75Ioni Bowcher
1012Nicolas V PaprockiBrazil2024-06-08Rousseaux, Michael Esq NEW34Ioni Bowcher
1013Francesco Y InouyeJapan2024-06-20King, Christopher A Esq NEW89Xuxue Feng
1014Darci G GauchoArgentina2024-06-10Printing Dimensions NEW70Anna Fali
1015Jennifer H InouyeGermany2024-06-07Printing Dimensions QUALIFIED34Elwin Sharvill
1016Alejandro D BologniaCanada2024-06-21Feiner Bros QUALIFIED42Elwin Sharvill
1017Maisha V PoquetteIndia2024-06-17Chemel, James L Cpa QUALIFIED16Ioni Bowcher
1018Costa W KolmetzGermany2024-06-20Rousseaux, Michael Esq PROPOSAL69Ivan Magalhaes
1019Leon P TollnerBrazil2024-06-19Feltz Printing Service NEGOTIATION59Xuxue Feng
1020Salvatore A KuskoJapan2024-05-27Buckley Miller Wright UNQUALIFIED28Bernardo Dominic
1021Octavia Y MorascaSpain2024-05-29Chapman, Ross E Esq RENEWAL62Stephen Shaw
1022Costa D RoysterAustralia2024-05-28Rangoni Of Florence NEW28Asiya Javayant
1023Misaki P MacleadGermany2024-06-05Truhlar And Truhlar Attys QUALIFIED45Stephen Shaw
1024Maria A FerenczBrazil2024-05-25Commercial Press QUALIFIED76Ioni Bowcher
1025Izzy F DoeUnited Kingdom2024-05-30Chemel, James L Cpa NEGOTIATION67Elwin Sharvill
1026James Q RutaRussia2024-05-27King, Christopher A Esq UNQUALIFIED37Xuxue Feng
1027Sinclair C GauchoJapan2024-06-12Benton, John B Jr NEGOTIATION21Ioni Bowcher
1028Leja D RulapaughCanada2024-05-30Benton, John B Jr NEW16Elwin Sharvill
1029Mayumi Y FerenczItaly2024-06-06Benton, John B Jr RENEWAL61Stephen Shaw
1030Chavez N RoysterIndia2024-05-31Commercial Press NEGOTIATION88Ioni Bowcher
1031Isabel L NestleSpain2024-06-04Rangoni Of Florence UNQUALIFIED23Stephen Shaw
1032Kaitlin K CaldareraRussia2024-06-10Benton, John B Jr RENEWAL30Bernardo Dominic
1033Juan U FlosiCanada2024-06-17Truhlar And Truhlar Attys PROPOSAL69Anna Fali
1034Kadeem O BriddickJapan2024-05-31Buckley Miller Wright PROPOSAL20Onyama Limba
1035Clifford J InouyeFrance2024-06-10Rousseaux, Michael Esq RENEWAL42Ioni Bowcher
1036Morrow Z MaletAustralia2024-06-04Dorl, James J Esq QUALIFIED62Amy Elsner
1037Greenwood Z FigeroaSpain2024-06-05Dorl, James J Esq RENEWAL56Anna Fali
1038Greenwood H AmigonItaly2024-05-29Morlong Associates QUALIFIED55Anna Fali
1039Cody K SergiItaly2024-05-25Buckley Miller Wright UNQUALIFIED21Ioni Bowcher
1040Aika J BriddickItaly2024-06-06Rangoni Of Florence NEW66Onyama Limba
1041Isabel X NestleFrance2024-06-02Chapman, Ross E Esq NEW95Asiya Javayant
1042Antonio G WhobreyCanada2024-06-06Commercial Press NEW78Ivan Magalhaes
1043Murillo X OldroydArgentina2024-06-21Rangoni Of Florence PROPOSAL99Ivan Magalhaes
1044Costa N RulapaughUnited Kingdom2024-05-23Feltz Printing Service PROPOSAL39Onyama Limba
1045Deepesh H KuskoSpain2024-05-29Morlong Associates NEW68Xuxue Feng
1046Murillo T CampainJapan2024-06-01Commercial Press NEGOTIATION73Xuxue Feng
1047Deepesh B IturbideUnited Kingdom2024-06-07Printing Dimensions NEW95Amy Elsner
1048Munro E FollerArgentina2024-05-23Feiner Bros NEGOTIATION95Xuxue Feng
1049Rodrigues T CampainFrance2024-06-01King, Christopher A Esq PROPOSAL90Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Clifford S NestleGermanyXuxue Feng NEGOTIATION
Cody U PaprockiUnited KingdomOnyama Limba RENEWAL
Morrow L VocelkaSpainXuxue Feng NEGOTIATION
Deepesh C KuskoGermanyOnyama Limba UNQUALIFIED
Isabel I FerenczAustraliaXuxue Feng RENEWAL
Maria V FigeroaIndiaIoni Bowcher UNQUALIFIED
Aruna D MacleadCanadaAmy Elsner NEW
Misaki P KuskoRussiaXuxue Feng RENEWAL
Ashley S FollerRussiaIoni Bowcher QUALIFIED
Costa X MorascaItalyBernardo Dominic NEGOTIATION
Ashley R FlosiGermanyIvan Magalhaes RENEWAL
Leja K PaprockiRussiaOnyama Limba UNQUALIFIED
Leon Y BriddickAustraliaAmy Elsner PROPOSAL
Nicolas M MorascaArgentinaAmy Elsner NEW
Juan J WhobreyCanadaAsiya Javayant PROPOSAL
Maisha E RulapaughIndiaOnyama Limba QUALIFIED
Costa M NestleUnited KingdomAsiya Javayant RENEWAL
Maria D DarakjyJapanIoni Bowcher NEGOTIATION
Aruna Q ButtCanadaAnna Fali RENEWAL
Maria Q FollerAustraliaIoni Bowcher RENEWAL
Tony D KuskoRussiaOnyama Limba PROPOSAL
Darci G KuskoUnited KingdomAsiya Javayant RENEWAL
Adams W PaprockiJapanStephen Shaw RENEWAL
Salvatore N MaletSpainAsiya Javayant NEW
Salvatore E SlusarskiUnited KingdomAnna Fali PROPOSAL
Silvio Q RulapaughGermanyIvan Magalhaes PROPOSAL
Jennifer J PoquetteGermanyAsiya Javayant NEW
Wickens L SlusarskiIndiaIvan Magalhaes NEW
Aditya D InouyeCanadaXuxue Feng RENEWAL
David I FlosiJapanAmy Elsner UNQUALIFIED
Murillo I RoysterItalyOnyama Limba UNQUALIFIED
Tony Z MacleadCanadaElwin Sharvill RENEWAL
Mayumi P VenereJapanBernardo Dominic UNQUALIFIED
Costa Q WieserGermanyAsiya Javayant NEW
Stacey Z SlusarskiItalyBernardo Dominic NEW
Salvatore M BriddickFranceAmy Elsner RENEWAL
Isabel M FlosiUnited KingdomAmy Elsner UNQUALIFIED
Munro V OstroskySpainXuxue Feng QUALIFIED
Maria X ButtUnited KingdomIoni Bowcher NEGOTIATION
Deepesh Y PerinAustraliaAmy Elsner NEW
Antonio G FerenczRussiaElwin Sharvill QUALIFIED
Izzy K InouyeJapanBernardo Dominic PROPOSAL
Sinclair H VenereItalyIvan Magalhaes NEW
Ivar V AlbaresGermanyAnna Fali QUALIFIED
Emily V KuskoUnited KingdomAmy Elsner QUALIFIED
Jones Z InouyeJapanAnna Fali PROPOSAL
Adams C VocelkaIndiaAsiya Javayant NEGOTIATION
Mayumi Q BologniaIndiaXuxue Feng NEGOTIATION
Aruna G SaylorsAustraliaXuxue Feng NEW
Jones T TollnerUnited KingdomAmy Elsner PROPOSAL
Frozen Columns
Name
Salvatore D Flosi
Maisha D Gillian
Chavez P Campain
Francesco E Amigon
Chavez L Briddick
Salvatore F Maclead
Darci X Stockham
Adams E Waycott
James Q Malet
Deepesh V Chui
Wickens B Briddick
Ricardo N Rulapaugh
Aika L Caldarera
Sinclair K Caudy
Izzy P Marrier
Arvin A Saylors
Izzy S Garufi
Ricardo O Amigon
Jennifer Z Schemmer
Stacey Q Sergi
Maria W Stenseth
Ashley Q Doe
Leon D Malet
Alejandro O Caudy
Johnson F Sergi
Kaitlin J Nicka
Rodrigues N Caudy
Ashley U Ostrosky
Juan X Garufi
Kadeem B Ruta
Arvin I Figeroa
Jefferson F Caldarera
Kaitlin H Kusko
Juan C Briddick
Johnson U Waycott
Tony A Darakjy
Claire A Waycott
Tony E Waycott
Faith B Amigon
Mayumi F Butt
Adams K Bolognia
Aruna G Briddick
Misaki W Iturbide
Maisha H Foller
Francesco J Figeroa
Ivar X Flosi
Izzy D Figeroa
Cody P Kusko
Alejandro O Caldarera
Maisha F Gillian
IdCountryDate
1000Italy2024-06-19
1001Canada2024-06-08
1002Brazil2024-05-27
1003India2024-05-26
1004Japan2024-06-10
1005Argentina2024-06-13
1006United Kingdom2024-05-28
1007Japan2024-06-14
1008France2024-05-23
1009Japan2024-06-03
1010Russia2024-06-07
1011Germany2024-06-07
1012Germany2024-06-08
1013Brazil2024-06-05
1014Japan2024-06-18
1015India2024-06-20
1016Russia2024-06-13
1017Italy2024-06-16
1018Brazil2024-05-23
1019United Kingdom2024-05-24
1020Germany2024-05-30
1021Argentina2024-05-28
1022France2024-06-19
1023Canada2024-06-03
1024Australia2024-06-10
1025Canada2024-06-11
1026Germany2024-06-08
1027Germany2024-06-14
1028France2024-06-08
1029India2024-06-06
1030Russia2024-06-17
1031Australia2024-06-13
1032Australia2024-05-27
1033Canada2024-05-30
1034Brazil2024-05-25
1035Russia2024-06-10
1036Brazil2024-06-03
1037Argentina2024-06-11
1038United Kingdom2024-06-10
1039Brazil2024-06-02
1040Italy2024-05-26
1041Russia2024-06-03
1042Australia2024-06-16
1043Canada2024-06-11
1044Argentina2024-05-23
1045Brazil2024-06-15
1046Germany2024-06-19
1047United Kingdom2024-06-16
1048Canada2024-06-20
1049Spain2024-06-11

On-Demand Data

NameIdCountryDate
Misaki F Whobrey1000France2024-06-17
Stacey X Kusko1001Australia2024-06-03
Salvatore M Nestle1002Australia2024-06-17
Octavia F Stenseth1003Spain2024-06-13
Antonio N Malet1004Russia2024-05-24
James W Maclead1005Brazil2024-06-13
Emily W Stockham1006India2024-05-26
Ivar T Kusko1007Russia2024-06-20
Mujtaba N Doe1008Japan2024-05-30
Kaitlin V Malet1009Argentina2024-06-19
Francesco A Maclead1010Russia2024-05-24
Claire O Albares1011Spain2024-06-11
Clifford N Flosi1012Australia2024-06-03
Isabel R Caudy1013France2024-06-06
Deepesh D Royster1014Brazil2024-05-23
Nicolas T Gaucho1015Argentina2024-06-09
Maria Z Figeroa1016Argentina2024-05-30
Emily A Oldroyd1017Russia2024-06-04
Izzy R Maclead1018France2024-05-24
Mujtaba G Slusarski1019Australia2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar E SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Mayumi X InouyeJapanBernardo Dominic RENEWAL
Johnson A SergiUnited KingdomStephen Shaw PROPOSAL
Ricardo R RutaItalyOnyama Limba NEW
Adams W TollnerIndiaIoni Bowcher NEW
Wickens F IturbideCanadaBernardo Dominic NEW
Mayumi U AlbaresArgentinaXuxue Feng UNQUALIFIED
Deepesh V MacleadGermanyElwin Sharvill PROPOSAL
Johnson Y SchemmerArgentinaXuxue Feng NEW
Faith E IturbideJapanOnyama Limba PROPOSAL
Ricardo U TollnerIndiaElwin Sharvill PROPOSAL
Silvio D CampainRussiaElwin Sharvill QUALIFIED
Maisha V FlosiAustraliaBernardo Dominic RENEWAL
Munro J RimJapanIvan Magalhaes NEGOTIATION
Maria J PoquetteBrazilOnyama Limba QUALIFIED
Deepesh M PaprockiSpainOnyama Limba PROPOSAL
Aruna C OstroskyRussiaXuxue Feng PROPOSAL
Stacey A RutaSpainIoni Bowcher NEW
Cody M ShinkoFranceBernardo Dominic QUALIFIED
Kadeem Y SchemmerArgentinaAmy Elsner UNQUALIFIED
Wickens J PaprockiArgentinaXuxue Feng QUALIFIED
Jones X SlusarskiGermanyIoni Bowcher RENEWAL
Alejandro C RutaUnited KingdomXuxue Feng PROPOSAL
Smith T BowleyBrazilIoni Bowcher RENEWAL
Leon A SaylorsArgentinaBernardo Dominic PROPOSAL
Silvio B SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Silvio B MaletArgentinaIvan Magalhaes NEW
Aruna O IturbideFranceIoni Bowcher UNQUALIFIED
Jones A GillianFranceBernardo Dominic QUALIFIED
Aditya N BologniaSpainOnyama Limba NEGOTIATION
Antonio B BowleyUnited KingdomIoni Bowcher NEGOTIATION
Misaki O VocelkaArgentinaIvan Magalhaes QUALIFIED
Isabel Y PerinIndiaBernardo Dominic UNQUALIFIED
Claire K MaletAustraliaOnyama Limba NEW
Adams M MacleadIndiaBernardo Dominic PROPOSAL
Rodrigues V BowleyGermanyIvan Magalhaes PROPOSAL
Chavez F FerenczCanadaStephen Shaw UNQUALIFIED
Maria S WaycottAustraliaOnyama Limba PROPOSAL
Aruna Z InouyeItalyIvan Magalhaes QUALIFIED
Ashley Q MaletBrazilIoni Bowcher 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>