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
Nicolas H WhobreyUnited KingdomXuxue Feng UNQUALIFIED
Leon S RutaAustraliaBernardo Dominic NEGOTIATION
Ashley O NickaBrazilIoni Bowcher QUALIFIED
Claire F ShinkoIndiaElwin Sharvill UNQUALIFIED
Misaki I OldroydBrazilAmy Elsner NEGOTIATION
Cody G BriddickCanadaBernardo Dominic PROPOSAL
Deepesh I ChuiIndiaBernardo Dominic NEW
Jennifer M StensethFranceIoni Bowcher QUALIFIED
Ashley B ShinkoSpainAsiya Javayant NEW
Aika I StockhamGermanyOnyama Limba NEGOTIATION
Ashley D MacleadSpainAnna Fali NEW
Jones J RoysterItalyIvan Magalhaes NEGOTIATION
Cody H GillianRussiaBernardo Dominic NEW
Leon W GillianCanadaBernardo Dominic RENEWAL
Francesco J ShinkoUnited KingdomAmy Elsner PROPOSAL
Aika P BowleyRussiaIoni Bowcher NEGOTIATION
Isabel M SaylorsAustraliaIvan Magalhaes PROPOSAL
Clifford O WaycottUnited KingdomAsiya Javayant PROPOSAL
Greenwood B NestleCanadaStephen Shaw PROPOSAL
Maria K IturbideRussiaElwin Sharvill UNQUALIFIED
Ricardo M AmigonRussiaStephen Shaw RENEWAL
Johnson Z KolmetzItalyBernardo Dominic UNQUALIFIED
Emily P MaletArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois S DarakjyBrazilAsiya Javayant PROPOSAL
Rodrigues Z TollnerAustraliaBernardo Dominic NEW
Izzy G GlickArgentinaStephen Shaw RENEWAL
Chavez U StensethItalyAsiya Javayant RENEWAL
David L FlosiAustraliaXuxue Feng NEGOTIATION
Munro M RulapaughGermanyAmy Elsner RENEWAL
Aika I MacleadIndiaAnna Fali QUALIFIED
Greenwood M WhobreyUnited KingdomAsiya Javayant PROPOSAL
Nicolas W DilliardArgentinaAnna Fali NEW
David Y AlbaresSpainIvan Magalhaes RENEWAL
Ricardo I GillianUnited KingdomStephen Shaw NEGOTIATION
Wickens J GauchoSpainAsiya Javayant UNQUALIFIED
Ivar L RutaGermanyStephen Shaw NEGOTIATION
Chavez L ShinkoJapanAnna Fali UNQUALIFIED
James R NestleArgentinaXuxue Feng RENEWAL
Smith A AlbaresAustraliaOnyama Limba PROPOSAL
Octavia K VenereGermanyAnna Fali QUALIFIED
Chavez Y DarakjyJapanIoni Bowcher PROPOSAL
Greenwood A IturbideRussiaStephen Shaw NEW
Salvatore Y NickaArgentinaIoni Bowcher NEW
Arvin W ShinkoSpainIoni Bowcher UNQUALIFIED
Maisha V MacleadUnited KingdomBernardo Dominic QUALIFIED
Claire F BologniaIndiaAnna Fali PROPOSAL
Aruna H FlosiItalyIoni Bowcher NEW
Jones V VenereBrazilElwin Sharvill QUALIFIED
Aika K FigeroaFranceAnna Fali QUALIFIED
Mujtaba E KuskoUnited KingdomElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Mayumi O WhobreyRussiaXuxue Feng UNQUALIFIED
Leja I SergiFranceBernardo Dominic QUALIFIED
Julie W WhobreySpainXuxue Feng QUALIFIED
Kadeem I InouyeFranceAnna Fali NEW
Adams M KuskoIndiaAnna Fali NEGOTIATION
Claire B NestleGermanyStephen Shaw QUALIFIED
Kadeem D SaylorsFranceBernardo Dominic NEGOTIATION
Munro D SlusarskiJapanStephen Shaw NEW
Izzy I PerinArgentinaIoni Bowcher NEW
Antonio Q PoquetteItalyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams E NickaBrazil2024-06-17Commercial Press UNQUALIFIED70Xuxue Feng
1001Misaki U PaprockiCanada2024-06-18Dorl, James J Esq RENEWAL8Elwin Sharvill
1002Leja Q SchemmerUnited Kingdom2024-05-23Rangoni Of Florence PROPOSAL32Xuxue Feng
1003Maisha K WieserRussia2024-05-22Commercial Press UNQUALIFIED10Ioni Bowcher
1004Ivar P SaylorsIndia2024-05-31Benton, John B Jr RENEWAL30Ivan Magalhaes
1005James U PaprockiRussia2024-05-26Morlong Associates NEW33Ioni Bowcher
1006Sinclair A RoysterIndia2024-05-30King, Christopher A Esq PROPOSAL96Onyama Limba
1007James V KolmetzGermany2024-06-18Chapman, Ross E Esq QUALIFIED97Ivan Magalhaes
1008Chavez S RutaRussia2024-05-22Feltz Printing Service RENEWAL10Bernardo Dominic
1009Octavia P CaldareraIndia2024-06-14Rousseaux, Michael Esq NEW70Elwin Sharvill
1010Murillo T DoeItaly2024-05-29Commercial Press UNQUALIFIED42Xuxue Feng
1011Mujtaba O SaylorsCanada2024-06-07Rangoni Of Florence PROPOSAL18Ivan Magalhaes
1012Smith E DilliardJapan2024-06-11Benton, John B Jr RENEWAL43Xuxue Feng
1013Ricardo U NestleRussia2024-06-06Benton, John B Jr RENEWAL89Asiya Javayant
1014Cody T MaletAustralia2024-06-06King, Christopher A Esq RENEWAL86Bernardo Dominic
1015Smith E CampainRussia2024-05-24Printing Dimensions QUALIFIED69Onyama Limba
1016Johnson A BologniaCanada2024-06-10Feiner Bros QUALIFIED46Stephen Shaw
1017James E BologniaAustralia2024-05-23Printing Dimensions NEW9Stephen Shaw
1018Maisha I CaudyFrance2024-06-17Truhlar And Truhlar Attys PROPOSAL2Stephen Shaw
1019Octavia A MacleadSpain2024-06-16Chemel, James L Cpa UNQUALIFIED80Anna Fali
1020Tony Z DilliardJapan2024-05-20King, Christopher A Esq NEW46Elwin Sharvill
1021Nicolas A ShinkoRussia2024-06-16Rangoni Of Florence UNQUALIFIED26Xuxue Feng
1022Silvio I InouyeFrance2024-06-16Chapman, Ross E Esq PROPOSAL41Amy Elsner
1023Chavez F SergiRussia2024-05-27Chanay, Jeffrey A Esq RENEWAL4Asiya Javayant
1024Salvatore K ButtSpain2024-06-13Chanay, Jeffrey A Esq QUALIFIED32Elwin Sharvill
1025Leja Z PerinArgentina2024-06-01Chemel, James L Cpa UNQUALIFIED18Bernardo Dominic
1026Kaitlin T SlusarskiItaly2024-06-07Chemel, James L Cpa PROPOSAL40Asiya Javayant
1027Clifford G DoeArgentina2024-05-29Commercial Press NEGOTIATION74Stephen Shaw
1028Clifford J MorascaGermany2024-05-31Truhlar And Truhlar Attys NEW45Xuxue Feng
1029Deepesh A SergiAustralia2024-05-22Feiner Bros QUALIFIED62Amy Elsner
1030Ivar L SaylorsAustralia2024-06-12Feiner Bros QUALIFIED67Asiya Javayant
1031Aditya N WhobreyRussia2024-05-26Rangoni Of Florence RENEWAL9Stephen Shaw
1032Francesco W ShinkoArgentina2024-06-12Printing Dimensions NEW69Onyama Limba
1033Costa H WieserJapan2024-05-21Rangoni Of Florence NEGOTIATION60Bernardo Dominic
1034Johnson T NestleBrazil2024-06-12Benton, John B Jr PROPOSAL32Bernardo Dominic
1035James T PoquetteAustralia2024-06-04Chapman, Ross E Esq QUALIFIED23Elwin Sharvill
1036Rodrigues U MarrierSpain2024-06-13Chanay, Jeffrey A Esq NEGOTIATION76Bernardo Dominic
1037Tony Q PaprockiItaly2024-06-08Rousseaux, Michael Esq PROPOSAL32Amy Elsner
1038Juan T ButtSpain2024-05-23Chapman, Ross E Esq QUALIFIED71Stephen Shaw
1039Aruna D StensethSpain2024-05-21Morlong Associates UNQUALIFIED91Xuxue Feng
1040Darci J SlusarskiItaly2024-05-21Benton, John B Jr PROPOSAL81Stephen Shaw
1041Juan E RutaCanada2024-05-29Chapman, Ross E Esq UNQUALIFIED92Bernardo Dominic
1042Kaitlin Y AmigonIndia2024-06-02Feiner Bros UNQUALIFIED91Elwin Sharvill
1043Jones I RoysterFrance2024-05-26Benton, John B Jr RENEWAL42Elwin Sharvill
1044Aika S CaldareraAustralia2024-05-22Commercial Press NEW41Elwin Sharvill
1045Greenwood H SchemmerArgentina2024-06-01Dorl, James J Esq NEGOTIATION73Ioni Bowcher
1046Ashley P RimItaly2024-06-18Buckley Miller Wright NEW47Asiya Javayant
1047James U MaletUnited Kingdom2024-05-28Chemel, James L Cpa NEW33Amy Elsner
1048Leja J PoquetteFrance2024-06-06Commercial Press NEGOTIATION45Asiya Javayant
1049Antonio S FerenczBrazil2024-05-31Rousseaux, Michael Esq NEW90Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood A PaprockiGermanyStephen Shaw NEW
Smith X RutaItalyIvan Magalhaes NEW
Nicolas F CaudyUnited KingdomStephen Shaw NEGOTIATION
Aruna F NestleIndiaAnna Fali NEGOTIATION
Rodrigues E AmigonArgentinaStephen Shaw RENEWAL
Juan R SchemmerArgentinaAsiya Javayant UNQUALIFIED
Clifford L ButtUnited KingdomAsiya Javayant QUALIFIED
Darci L ChuiAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois J RimAustraliaOnyama Limba NEW
Clifford E ButtItalyAnna Fali NEW
Mujtaba H WaycottGermanyAmy Elsner NEW
Munro E DoeFranceBernardo Dominic NEGOTIATION
Aruna W FollerRussiaOnyama Limba NEGOTIATION
Nicolas I RutaRussiaStephen Shaw RENEWAL
Smith Z RulapaughIndiaXuxue Feng NEGOTIATION
Isabel N AmigonSpainIvan Magalhaes UNQUALIFIED
Adams L GlickFranceElwin Sharvill QUALIFIED
Adams K CaldareraAustraliaBernardo Dominic NEGOTIATION
Chavez E BologniaIndiaAnna Fali UNQUALIFIED
Julie E RutaArgentinaStephen Shaw NEGOTIATION
Kaitlin W DoeArgentinaAsiya Javayant RENEWAL
Mayumi S AlbaresRussiaAsiya Javayant QUALIFIED
Maria I FerenczArgentinaIvan Magalhaes RENEWAL
Arvin H MarrierArgentinaAmy Elsner QUALIFIED
Aditya V RutaFranceAnna Fali PROPOSAL
Kadeem G AlbaresCanadaElwin Sharvill UNQUALIFIED
Francesco G ShinkoCanadaAmy Elsner NEGOTIATION
Alejandro P BologniaFranceBernardo Dominic RENEWAL
Kadeem M FlosiAustraliaIvan Magalhaes NEW
Chavez M AlbaresRussiaAnna Fali NEGOTIATION
Ivar S IturbideFranceIoni Bowcher UNQUALIFIED
Alejandro E DilliardUnited KingdomAsiya Javayant RENEWAL
Misaki J MaletIndiaStephen Shaw NEW
Ricardo Y FigeroaFranceBernardo Dominic RENEWAL
Claire N CaldareraCanadaOnyama Limba QUALIFIED
Rodrigues J VenereGermanyAmy Elsner NEW
Rodrigues T DilliardBrazilElwin Sharvill UNQUALIFIED
Rodrigues I SaylorsFranceIoni Bowcher PROPOSAL
Sinclair Z FlosiJapanAsiya Javayant NEW
Alejandro W CaldareraItalyStephen Shaw NEGOTIATION
Nicolas C RimGermanyStephen Shaw QUALIFIED
Clifford K RutaItalyOnyama Limba NEGOTIATION
Johnson I FigeroaAustraliaOnyama Limba PROPOSAL
James I SaylorsArgentinaAsiya Javayant NEW
Johnson A FollerRussiaElwin Sharvill NEW
Juan O StensethUnited KingdomElwin Sharvill NEGOTIATION
Munro N ShinkoIndiaAmy Elsner NEGOTIATION
Wickens Q NestleFranceAnna Fali RENEWAL
Faith R DilliardGermanyOnyama Limba RENEWAL
Jefferson F WieserBrazilIvan Magalhaes NEW
Frozen Columns
Name
Ricardo H Waycott
Rodrigues I Oldroyd
Emily D Perin
Octavia E Nestle
Jennifer H Malet
Costa W Darakjy
Leon N Chui
Aditya T Bowley
Claire D Amigon
Antonio B Iturbide
Aditya B Kusko
Mujtaba P Gaucho
Maisha U Caldarera
Costa X Ruta
Salvatore J Rulapaugh
Mayumi Q Ostrosky
Alejandro H Chui
Darci T Chui
Aditya E Stenseth
Salvatore I Kolmetz
Leja Y Oldroyd
Munro T Schemmer
Aika P Poquette
Sinclair V Dilliard
Munro U Ruta
Jennifer X Gaucho
Tony E Gillian
James W Darakjy
Jennifer N Darakjy
Rodrigues G Marrier
Alejandro Y Campain
Jennifer O Briddick
Salvatore F Garufi
Maria T Caldarera
Claire N Shinko
Murillo C Chui
Kadeem Q Doe
James C Doe
Ashley B Briddick
Tony E Garufi
Nicolas F Sergi
Costa Q Inouye
Leon I Ruta
Juan O Vocelka
James V Butt
Darci S Malet
Greenwood S Nicka
Salvatore O Malet
Jefferson S Ruta
Smith A Shinko
IdCountryDate
1000Japan2024-06-03
1001Canada2024-06-10
1002Argentina2024-05-23
1003Australia2024-05-22
1004Italy2024-05-29
1005France2024-06-04
1006Argentina2024-05-25
1007Italy2024-05-30
1008Russia2024-06-02
1009France2024-05-27
1010Canada2024-05-31
1011Germany2024-05-30
1012Spain2024-06-17
1013Japan2024-06-18
1014Japan2024-06-12
1015Australia2024-06-08
1016Russia2024-05-28
1017Argentina2024-06-11
1018Spain2024-06-09
1019Canada2024-06-03
1020Canada2024-06-05
1021Japan2024-05-20
1022Italy2024-05-27
1023Japan2024-05-27
1024Canada2024-06-18
1025Russia2024-05-31
1026Russia2024-05-31
1027Brazil2024-05-25
1028Germany2024-06-05
1029Argentina2024-06-14
1030Japan2024-05-23
1031Italy2024-06-13
1032Argentina2024-05-26
1033Italy2024-05-24
1034Argentina2024-05-26
1035United Kingdom2024-06-10
1036Italy2024-06-06
1037India2024-05-24
1038Brazil2024-06-03
1039Japan2024-06-16
1040India2024-06-13
1041Australia2024-05-21
1042Spain2024-05-20
1043Japan2024-06-12
1044Russia2024-06-14
1045Russia2024-06-14
1046Germany2024-06-05
1047Spain2024-05-29
1048Canada2024-05-30
1049Germany2024-05-31

On-Demand Data

NameIdCountryDate
Smith U Stenseth1000Brazil2024-06-17
Antonio I Caldarera1001United Kingdom2024-05-23
Rodrigues M Paprocki1002Australia2024-05-27
Cody B Caldarera1003Germany2024-06-14
Emily B Rim1004United Kingdom2024-05-26
Tony M Darakjy1005Italy2024-06-14
Isabel X Nicka1006India2024-05-26
Smith I Kolmetz1007Germany2024-06-17
Alejandro L Butt1008Argentina2024-05-22
Maisha R Campain1009Russia2024-06-11
Aika W Albares1010France2024-06-09
Mayumi I Oldroyd1011Canada2024-06-01
Jeanfrancois K Bowley1012Canada2024-06-15
Morrow H Rim1013India2024-06-03
Mujtaba B Briddick1014Canada2024-06-17
Sinclair H Bowley1015India2024-06-10
Sinclair X Campain1016Italy2024-05-23
Leja C Paprocki1017Russia2024-06-12
Mujtaba N Rulapaugh1018Argentina2024-06-18
Ashley L Slusarski1019Germany2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez W TollnerIndiaAmy Elsner RENEWAL
Izzy S FigeroaRussiaElwin Sharvill NEGOTIATION
Sinclair R MorascaItalyBernardo Dominic QUALIFIED
David G MaletJapanIoni Bowcher UNQUALIFIED
Aruna L MorascaGermanyAsiya Javayant RENEWAL
Misaki G WhobreyFranceOnyama Limba QUALIFIED
Adams A TollnerGermanyAsiya Javayant UNQUALIFIED
Costa Y StensethIndiaIvan Magalhaes RENEWAL
Ivar U KolmetzGermanyAnna Fali RENEWAL
Jeanfrancois R SchemmerArgentinaXuxue Feng UNQUALIFIED
Jefferson S RimRussiaAnna Fali UNQUALIFIED
Munro R PoquetteCanadaBernardo Dominic NEW
Mayumi X OstroskyItalyAnna Fali NEW
Maisha W VenereArgentinaAmy Elsner NEW
Adams A MarrierFranceIvan Magalhaes NEGOTIATION
Arvin K OstroskyUnited KingdomBernardo Dominic RENEWAL
Darci C OldroydJapanAsiya Javayant RENEWAL
Cody T IturbideRussiaAnna Fali NEGOTIATION
Wickens J MacleadJapanAsiya Javayant QUALIFIED
Jefferson B MorascaBrazilBernardo Dominic RENEWAL
Misaki R WhobreyRussiaOnyama Limba PROPOSAL
Chavez N WieserCanadaIvan Magalhaes PROPOSAL
Darci V FlosiItalyIoni Bowcher RENEWAL
Faith M TollnerCanadaElwin Sharvill UNQUALIFIED
Aditya Y VocelkaFranceOnyama Limba PROPOSAL
Salvatore Y DoeItalyAsiya Javayant UNQUALIFIED
Aruna M NestleBrazilOnyama Limba QUALIFIED
Maria I GlickSpainAsiya Javayant RENEWAL
Leja V DoeBrazilStephen Shaw QUALIFIED
Stacey B WhobreyArgentinaOnyama Limba PROPOSAL
Sinclair P KuskoJapanAsiya Javayant RENEWAL
Kadeem U GarufiCanadaXuxue Feng PROPOSAL
Deepesh G FollerRussiaAsiya Javayant NEGOTIATION
Tony F FigeroaJapanBernardo Dominic QUALIFIED
Sinclair L RimUnited KingdomAnna Fali QUALIFIED
Deepesh U RutaCanadaStephen Shaw NEGOTIATION
Leja T RimBrazilAnna Fali QUALIFIED
Aika B RoysterCanadaIoni Bowcher RENEWAL
Sinclair W MaletBrazilElwin Sharvill NEW
Ashley U InouyeFranceAnna Fali QUALIFIED

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