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 N PaprockiUnited KingdomStephen Shaw NEGOTIATION
Morrow W GillianRussiaElwin Sharvill NEW
Adams S WaycottRussiaAsiya Javayant NEW
Costa X MacleadUnited KingdomAsiya Javayant QUALIFIED
Juan Y BologniaCanadaAsiya Javayant NEW
Chavez E OstroskyCanadaAnna Fali PROPOSAL
Costa L GauchoGermanyOnyama Limba NEW
Kaitlin P OldroydJapanXuxue Feng QUALIFIED
Leja E StensethItalyXuxue Feng RENEWAL
Clifford J IturbideArgentinaAmy Elsner NEW
Leja T SergiCanadaStephen Shaw QUALIFIED
Misaki O SergiFranceStephen Shaw NEW
Jeanfrancois O PoquetteIndiaAnna Fali NEGOTIATION
Deepesh E MorascaSpainAmy Elsner UNQUALIFIED
Morrow V CaudyAustraliaAmy Elsner NEGOTIATION
Greenwood U ChuiRussiaAmy Elsner PROPOSAL
Izzy P VocelkaRussiaElwin Sharvill NEGOTIATION
Jones L PoquetteCanadaAmy Elsner RENEWAL
Francesco O MaletItalyAsiya Javayant NEGOTIATION
Maisha H KolmetzJapanAnna Fali NEGOTIATION
Smith M PerinRussiaBernardo Dominic RENEWAL
Jones Y RulapaughFranceBernardo Dominic PROPOSAL
Kadeem F PoquetteIndiaIvan Magalhaes PROPOSAL
Maria A MorascaArgentinaStephen Shaw NEW
Ashley D ShinkoSpainAsiya Javayant NEGOTIATION
Jones Q PaprockiItalyXuxue Feng RENEWAL
Leon Z IturbideJapanAnna Fali PROPOSAL
Alejandro P ChuiArgentinaAmy Elsner QUALIFIED
Aditya Y GillianAustraliaElwin Sharvill UNQUALIFIED
Izzy D SlusarskiArgentinaAsiya Javayant NEW
Ricardo P WhobreyGermanyIvan Magalhaes UNQUALIFIED
Ashley Y GillianAustraliaIvan Magalhaes UNQUALIFIED
Cody L AlbaresItalyStephen Shaw RENEWAL
Smith E KolmetzArgentinaAnna Fali RENEWAL
Aditya U MacleadFranceAmy Elsner QUALIFIED
Adams X SchemmerSpainStephen Shaw QUALIFIED
Salvatore J VenereUnited KingdomAnna Fali NEGOTIATION
Leja N OstroskyIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois K FerenczArgentinaStephen Shaw UNQUALIFIED
James P PaprockiRussiaBernardo Dominic RENEWAL
Aruna A MaletRussiaOnyama Limba UNQUALIFIED
Morrow X RulapaughJapanElwin Sharvill RENEWAL
Maria Y AmigonFranceXuxue Feng QUALIFIED
Octavia J MorascaItalyStephen Shaw RENEWAL
Jennifer M KuskoUnited KingdomElwin Sharvill PROPOSAL
Faith C PaprockiGermanyElwin Sharvill RENEWAL
James N GarufiBrazilElwin Sharvill RENEWAL
Antonio C IturbideRussiaIvan Magalhaes UNQUALIFIED
Misaki R ButtSpainOnyama Limba PROPOSAL
Costa D PerinJapanStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon X WaycottSpainBernardo Dominic NEGOTIATION
Misaki S WhobreyAustraliaStephen Shaw QUALIFIED
Francesco P AmigonBrazilAmy Elsner PROPOSAL
Cody H MarrierRussiaStephen Shaw RENEWAL
Kadeem U BriddickCanadaOnyama Limba RENEWAL
Maria I FerenczBrazilXuxue Feng PROPOSAL
Isabel T WhobreyAustraliaIvan Magalhaes RENEWAL
Stacey S StockhamCanadaAnna Fali RENEWAL
Izzy N MaletFranceXuxue Feng RENEWAL
Smith B SchemmerRussiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens S DarakjyJapan2026-06-08Feiner Bros NEW67Asiya Javayant
1001Silvio U MaletSpain2026-06-27Morlong Associates UNQUALIFIED81Xuxue Feng
1002Clifford N RulapaughJapan2026-06-07Dorl, James J Esq NEW58Elwin Sharvill
1003Cody A VocelkaIndia2026-06-07Rousseaux, Michael Esq QUALIFIED67Anna Fali
1004Smith S OldroydFrance2026-06-28Chapman, Ross E Esq NEW20Asiya Javayant
1005Cody F BologniaRussia2026-06-30Printing Dimensions NEW79Onyama Limba
1006Isabel R KuskoUnited Kingdom2026-06-07Feiner Bros NEGOTIATION0Amy Elsner
1007Rodrigues U PaprockiArgentina2026-06-22Printing Dimensions QUALIFIED10Stephen Shaw
1008Maisha O GauchoBrazil2026-06-21Feiner Bros PROPOSAL2Ioni Bowcher
1009Aruna O SlusarskiBrazil2026-06-14Feiner Bros NEGOTIATION28Bernardo Dominic
1010Morrow R SergiAustralia2026-06-07King, Christopher A Esq QUALIFIED38Onyama Limba
1011Stacey O DilliardAustralia2026-06-08Chapman, Ross E Esq NEW80Asiya Javayant
1012Aika V MarrierFrance2026-06-09Chapman, Ross E Esq NEW36Stephen Shaw
1013Emily U NickaGermany2026-06-06Commercial Press PROPOSAL86Stephen Shaw
1014Ashley W GarufiSpain2026-06-25Commercial Press PROPOSAL52Bernardo Dominic
1015Faith Y SchemmerBrazil2026-07-05Commercial Press NEGOTIATION22Onyama Limba
1016Maria B GarufiFrance2026-06-24Benton, John B Jr PROPOSAL24Anna Fali
1017Silvio P BriddickJapan2026-06-20Printing Dimensions PROPOSAL14Xuxue Feng
1018Jones Y ShinkoCanada2026-07-03Commercial Press UNQUALIFIED43Bernardo Dominic
1019Smith X PerinBrazil2026-06-07King, Christopher A Esq RENEWAL98Asiya Javayant
1020Octavia Y BowleyAustralia2026-06-12Morlong Associates UNQUALIFIED91Onyama Limba
1021Maisha N PerinRussia2026-06-10King, Christopher A Esq QUALIFIED52Xuxue Feng
1022Leja B InouyeBrazil2026-06-20Morlong Associates UNQUALIFIED41Xuxue Feng
1023Ricardo V NickaGermany2026-06-14Dorl, James J Esq PROPOSAL61Bernardo Dominic
1024Francesco S BologniaUnited Kingdom2026-06-25Printing Dimensions UNQUALIFIED44Amy Elsner
1025Chavez N DoeRussia2026-06-20Printing Dimensions UNQUALIFIED56Onyama Limba
1026Leon R NestleCanada2026-06-27Morlong Associates NEGOTIATION93Xuxue Feng
1027Emily G IturbideFrance2026-06-12Commercial Press NEGOTIATION41Stephen Shaw
1028Arvin C KolmetzAustralia2026-07-02Truhlar And Truhlar Attys RENEWAL33Stephen Shaw
1029James X ShinkoSpain2026-06-14Rousseaux, Michael Esq QUALIFIED30Asiya Javayant
1030Johnson U BowleyItaly2026-06-23Truhlar And Truhlar Attys NEGOTIATION67Onyama Limba
1031Octavia G SchemmerAustralia2026-06-15Printing Dimensions RENEWAL57Stephen Shaw
1032Ashley N PoquetteBrazil2026-06-14Rangoni Of Florence NEGOTIATION57Onyama Limba
1033Ivar V BowleyItaly2026-06-12Chemel, James L Cpa PROPOSAL31Onyama Limba
1034Jefferson U ChuiSpain2026-06-29Rousseaux, Michael Esq PROPOSAL8Ivan Magalhaes
1035Nicolas B RimFrance2026-06-20Rangoni Of Florence NEGOTIATION24Anna Fali
1036Leon C BriddickBrazil2026-07-04Benton, John B Jr PROPOSAL42Anna Fali
1037Wickens J FlosiFrance2026-07-04Benton, John B Jr NEGOTIATION18Asiya Javayant
1038Juan I OstroskyBrazil2026-06-30Chapman, Ross E Esq NEGOTIATION73Asiya Javayant
1039Julie D WhobreyUnited Kingdom2026-06-26Feltz Printing Service PROPOSAL91Amy Elsner
1040Julie H SergiArgentina2026-06-07King, Christopher A Esq RENEWAL53Bernardo Dominic
1041Ivar O CampainArgentina2026-06-13King, Christopher A Esq PROPOSAL6Onyama Limba
1042Ricardo T SergiItaly2026-06-26Benton, John B Jr UNQUALIFIED12Stephen Shaw
1043Octavia T CampainIndia2026-06-08Feltz Printing Service QUALIFIED92Stephen Shaw
1044Nicolas K StockhamAustralia2026-06-20Dorl, James J Esq PROPOSAL5Ioni Bowcher
1045Kadeem H DilliardSpain2026-06-25Commercial Press PROPOSAL78Elwin Sharvill
1046Leja G ChuiUnited Kingdom2026-06-17Truhlar And Truhlar Attys PROPOSAL80Xuxue Feng
1047Kadeem R BowleyIndia2026-06-29Chanay, Jeffrey A Esq PROPOSAL39Stephen Shaw
1048Kaitlin M VenereSpain2026-07-05Rousseaux, Michael Esq NEW7Asiya Javayant
1049Kaitlin E IturbideRussia2026-06-16Dorl, James J Esq RENEWAL2Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro P GarufiSpainAnna Fali PROPOSAL
Silvio Q ChuiGermanyXuxue Feng NEW
Julie W WhobreySpainBernardo Dominic NEGOTIATION
Greenwood R MacleadIndiaBernardo Dominic NEGOTIATION
Sinclair H PaprockiAustraliaBernardo Dominic RENEWAL
Wickens M AlbaresAustraliaBernardo Dominic QUALIFIED
Julie N GillianSpainIvan Magalhaes RENEWAL
Izzy R FollerBrazilOnyama Limba UNQUALIFIED
Julie W FlosiItalyIoni Bowcher RENEWAL
Leja U BriddickUnited KingdomStephen Shaw QUALIFIED
Emily T MaletUnited KingdomStephen Shaw UNQUALIFIED
Clifford T ChuiCanadaAsiya Javayant QUALIFIED
Costa T MarrierFranceAmy Elsner NEW
Julie A ShinkoRussiaAnna Fali QUALIFIED
Sinclair T PaprockiGermanyXuxue Feng NEW
Jeanfrancois B RulapaughIndiaIvan Magalhaes UNQUALIFIED
Ivar A GarufiUnited KingdomStephen Shaw QUALIFIED
Emily F StensethArgentinaIvan Magalhaes UNQUALIFIED
Sinclair P FollerAustraliaBernardo Dominic RENEWAL
Silvio O PoquetteItalyAsiya Javayant PROPOSAL
Deepesh I GlickIndiaXuxue Feng UNQUALIFIED
Cody C BriddickGermanyAnna Fali QUALIFIED
Maria R OldroydRussiaAsiya Javayant NEGOTIATION
Juan W PoquetteAustraliaAsiya Javayant RENEWAL
Francesco W BologniaCanadaAmy Elsner RENEWAL
Jeanfrancois V DoeItalyAmy Elsner PROPOSAL
Maisha U AmigonJapanXuxue Feng RENEWAL
Costa B FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Ricardo A BriddickArgentinaAnna Fali RENEWAL
Morrow L FigeroaCanadaAnna Fali UNQUALIFIED
Costa T GillianGermanyAnna Fali NEW
Morrow K SaylorsIndiaIvan Magalhaes UNQUALIFIED
Leon X ShinkoIndiaStephen Shaw UNQUALIFIED
Julie N SaylorsIndiaAmy Elsner QUALIFIED
Jefferson O KuskoGermanyIoni Bowcher PROPOSAL
Smith J FerenczFranceXuxue Feng UNQUALIFIED
Juan I RimItalyStephen Shaw QUALIFIED
Nicolas P DarakjyFranceAnna Fali QUALIFIED
Nicolas Z GauchoUnited KingdomXuxue Feng UNQUALIFIED
Munro R SchemmerFranceBernardo Dominic RENEWAL
Francesco M MaletArgentinaAsiya Javayant UNQUALIFIED
Darci H GarufiItalyBernardo Dominic UNQUALIFIED
David E ButtSpainAnna Fali NEGOTIATION
Greenwood E MarrierSpainXuxue Feng PROPOSAL
Smith R OstroskyBrazilElwin Sharvill NEW
Aruna Y SlusarskiCanadaElwin Sharvill QUALIFIED
Darci D PaprockiAustraliaStephen Shaw UNQUALIFIED
Johnson W BriddickUnited KingdomAmy Elsner RENEWAL
Leja A BologniaRussiaIoni Bowcher NEW
Claire Q KuskoGermanyElwin Sharvill NEGOTIATION
Frozen Columns
Name
Emily S Gillian
Aika S Bolognia
Jefferson O Oldroyd
Kadeem A Malet
Cody J Saylors
Faith B Sergi
Deepesh Q Ferencz
Arvin O Waycott
Darci B Chui
Maria O Kolmetz
Claire F Caudy
Rodrigues Q Saylors
Munro M Marrier
Jefferson N Poquette
Wickens G Nestle
Maisha O Butt
Mujtaba Y Stenseth
Claire Y Albares
Cody H Caldarera
Aditya Z Bolognia
Costa Y Schemmer
Chavez N Foller
Kaitlin Q Glick
Claire M Kolmetz
Arvin C Iturbide
Julie N Saylors
Ashley N Whobrey
Leon R Bowley
Octavia C Ruta
Francesco V Morasca
Clifford F Perin
Sinclair U Slusarski
Silvio P Gaucho
Francesco C Darakjy
Chavez C Bowley
Wickens T Albares
Jennifer V Rim
Morrow A Gillian
Nicolas U Stockham
Greenwood X Albares
Munro Z Maclead
Tony P Venere
Jones Y Stenseth
James B Chui
Aditya Z Oldroyd
Alejandro H Gaucho
Murillo R Stenseth
Jeanfrancois U Bowley
Darci C Kusko
Tony I Oldroyd
IdCountryDate
1000Brazil2026-06-27
1001Russia2026-07-05
1002Italy2026-06-29
1003Spain2026-06-17
1004Germany2026-06-30
1005France2026-07-03
1006India2026-06-30
1007Germany2026-06-21
1008Canada2026-06-13
1009Germany2026-07-02
1010France2026-06-17
1011India2026-06-06
1012Australia2026-06-26
1013Italy2026-06-12
1014India2026-07-02
1015Canada2026-06-14
1016Japan2026-06-24
1017Japan2026-06-22
1018India2026-06-06
1019Russia2026-06-14
1020India2026-06-10
1021Canada2026-06-15
1022Brazil2026-07-04
1023Canada2026-06-21
1024United Kingdom2026-06-23
1025Germany2026-06-19
1026Japan2026-06-25
1027Japan2026-06-13
1028Australia2026-06-23
1029Argentina2026-06-21
1030Italy2026-06-15
1031India2026-06-09
1032Russia2026-06-08
1033Russia2026-06-23
1034France2026-07-02
1035United Kingdom2026-06-19
1036Argentina2026-06-29
1037Germany2026-06-10
1038Brazil2026-07-03
1039Japan2026-06-07
1040Spain2026-06-11
1041Russia2026-06-27
1042Russia2026-06-13
1043Australia2026-06-23
1044France2026-07-04
1045Japan2026-07-05
1046Argentina2026-06-25
1047Japan2026-06-13
1048France2026-06-08
1049Australia2026-06-18

On-Demand Data

NameIdCountryDate
Nicolas H Waycott1000India2026-06-29
Tony J Inouye1001Brazil2026-06-06
Faith F Ruta1002Italy2026-06-12
Emily J Nicka1003France2026-07-02
Deepesh W Paprocki1004Canada2026-06-19
Izzy D Caudy1005Germany2026-06-22
Misaki L Campain1006India2026-07-05
Isabel Q Amigon1007Russia2026-07-05
Smith A Vocelka1008United Kingdom2026-06-13
Francesco P Schemmer1009Germany2026-06-25
Emily T Venere1010India2026-07-01
Kadeem L Maclead1011United Kingdom2026-06-14
James R Gaucho1012France2026-06-23
Salvatore I Waycott1013United Kingdom2026-06-16
Izzy O Marrier1014United Kingdom2026-06-26
Leon S Venere1015Russia2026-06-30
Silvio Z Perin1016Brazil2026-06-07
Isabel S Nestle1017Italy2026-06-28
Morrow Y Amigon1018France2026-06-21
Francesco Y Butt1019Argentina2026-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro W BowleySpainBernardo Dominic PROPOSAL
Greenwood K MarrierIndiaOnyama Limba QUALIFIED
Nicolas S SaylorsUnited KingdomIoni Bowcher NEW
Mujtaba W MacleadItalyIvan Magalhaes PROPOSAL
Silvio M NestleBrazilElwin Sharvill QUALIFIED
Rodrigues B RimCanadaBernardo Dominic UNQUALIFIED
Alejandro J FlosiJapanXuxue Feng NEGOTIATION
Isabel T FigeroaBrazilAsiya Javayant PROPOSAL
Rodrigues A StensethGermanyAsiya Javayant PROPOSAL
Rodrigues Y MarrierBrazilAsiya Javayant NEGOTIATION
Ashley P AlbaresJapanOnyama Limba NEGOTIATION
Antonio I DoeAustraliaBernardo Dominic NEW
Jefferson U SchemmerArgentinaBernardo Dominic PROPOSAL
James A GlickBrazilIoni Bowcher QUALIFIED
Jennifer H BriddickBrazilIvan Magalhaes NEGOTIATION
Smith J ChuiUnited KingdomIoni Bowcher PROPOSAL
Greenwood B WieserIndiaAsiya Javayant QUALIFIED
Ashley Y InouyeBrazilBernardo Dominic RENEWAL
Deepesh O KuskoCanadaXuxue Feng NEW
Kadeem Z GauchoJapanOnyama Limba RENEWAL
Maisha R GillianCanadaElwin Sharvill NEW
Aika I BriddickSpainAnna Fali PROPOSAL
Francesco R NestleArgentinaIoni Bowcher NEGOTIATION
James Y DarakjySpainIvan Magalhaes QUALIFIED
Smith I FollerAustraliaAsiya Javayant UNQUALIFIED
Ivar Z SlusarskiCanadaBernardo Dominic NEGOTIATION
Johnson K BowleySpainXuxue Feng RENEWAL
Mujtaba J FigeroaArgentinaAmy Elsner NEW
Deepesh A IturbideSpainOnyama Limba NEGOTIATION
Darci X BologniaGermanyAmy Elsner NEW
Clifford K CaldareraCanadaStephen Shaw NEW
Ashley P MarrierJapanAmy Elsner RENEWAL
Isabel W OstroskyArgentinaOnyama Limba RENEWAL
Maria V KuskoFranceAmy Elsner NEGOTIATION
Jennifer T DoeAustraliaIvan Magalhaes RENEWAL
Greenwood Q BowleyRussiaIvan Magalhaes RENEWAL
Alejandro V PoquetteCanadaOnyama Limba PROPOSAL
Maisha L BriddickSpainAmy Elsner UNQUALIFIED
Leja T BriddickUnited KingdomAsiya Javayant NEGOTIATION
Faith A InouyeUnited KingdomAmy Elsner 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>