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
Faith W AmigonBrazilBernardo Dominic RENEWAL
Greenwood E OldroydFranceStephen Shaw NEW
Claire Z GillianAustraliaAsiya Javayant QUALIFIED
Silvio Q ShinkoBrazilAnna Fali PROPOSAL
Francesco T GlickCanadaIoni Bowcher RENEWAL
Arvin Z ButtCanadaAmy Elsner RENEWAL
Nicolas K PaprockiBrazilAsiya Javayant UNQUALIFIED
Isabel T IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Munro G MacleadSpainElwin Sharvill NEGOTIATION
Greenwood B KolmetzItalyAsiya Javayant NEW
Kaitlin K OldroydGermanyBernardo Dominic RENEWAL
Tony Q FlosiRussiaElwin Sharvill RENEWAL
Aditya P NickaJapanXuxue Feng PROPOSAL
Isabel B KuskoIndiaAmy Elsner UNQUALIFIED
Izzy T WaycottRussiaIvan Magalhaes QUALIFIED
Mayumi M TollnerJapanElwin Sharvill UNQUALIFIED
Francesco A IturbideArgentinaAmy Elsner QUALIFIED
Clifford C BologniaItalyAmy Elsner PROPOSAL
Nicolas H GarufiFranceIoni Bowcher NEW
Julie A InouyeJapanOnyama Limba UNQUALIFIED
Johnson K RoysterJapanAsiya Javayant QUALIFIED
Misaki L SchemmerCanadaAmy Elsner RENEWAL
Wickens R SaylorsUnited KingdomXuxue Feng NEW
David D FigeroaSpainAmy Elsner UNQUALIFIED
Kadeem S KolmetzUnited KingdomStephen Shaw UNQUALIFIED
Mujtaba K StensethSpainStephen Shaw QUALIFIED
Kadeem A BriddickFranceElwin Sharvill NEW
Jefferson M WhobreyJapanAmy Elsner PROPOSAL
Maria Q AmigonRussiaOnyama Limba RENEWAL
Adams N MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Leja C CaudyGermanyXuxue Feng RENEWAL
Kadeem P MorascaIndiaIoni Bowcher PROPOSAL
Ashley O BologniaGermanyBernardo Dominic NEGOTIATION
Costa U GauchoArgentinaIvan Magalhaes NEW
Julie V ButtJapanStephen Shaw NEW
Costa Z RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Juan V GarufiRussiaOnyama Limba RENEWAL
Smith U RoysterIndiaAsiya Javayant NEW
Isabel T VocelkaFranceStephen Shaw NEGOTIATION
Mujtaba A VenereArgentinaStephen Shaw NEW
Izzy X TollnerArgentinaIoni Bowcher NEGOTIATION
Chavez S NestleGermanyStephen Shaw PROPOSAL
Sinclair O CampainItalyStephen Shaw RENEWAL
Chavez I BriddickItalyStephen Shaw PROPOSAL
Murillo A TollnerJapanOnyama Limba NEW
Francesco M PaprockiBrazilAmy Elsner NEW
James R StockhamIndiaStephen Shaw QUALIFIED
Juan R DilliardSpainStephen Shaw NEGOTIATION
David M DilliardIndiaAsiya Javayant NEGOTIATION
Izzy X FlosiAustraliaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair Q StockhamFranceStephen Shaw NEW
Octavia R SlusarskiAustraliaOnyama Limba QUALIFIED
Stacey V MarrierSpainAsiya Javayant UNQUALIFIED
Claire T GlickBrazilBernardo Dominic RENEWAL
Leja Z CaudyArgentinaStephen Shaw QUALIFIED
Alejandro P TollnerJapanAmy Elsner NEW
Nicolas M InouyeSpainOnyama Limba NEW
Arvin V RutaItalyElwin Sharvill NEGOTIATION
Adams O CaldareraIndiaIvan Magalhaes NEW
Costa A FerenczCanadaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba P SaylorsIndia2024-04-28Chanay, Jeffrey A Esq UNQUALIFIED91Stephen Shaw
1001Aditya G MarrierArgentina2024-05-18Morlong Associates UNQUALIFIED58Bernardo Dominic
1002Jones L CaldareraItaly2024-05-04Printing Dimensions NEGOTIATION84Ivan Magalhaes
1003Misaki Z BriddickUnited Kingdom2024-05-09Rangoni Of Florence RENEWAL88Xuxue Feng
1004Nicolas O WhobreyFrance2024-05-10Printing Dimensions UNQUALIFIED90Ioni Bowcher
1005Sinclair P SaylorsItaly2024-04-28Feiner Bros UNQUALIFIED57Bernardo Dominic
1006Rodrigues P IturbideFrance2024-05-23Chemel, James L Cpa NEGOTIATION90Xuxue Feng
1007Morrow E AlbaresSpain2024-05-19King, Christopher A Esq RENEWAL14Elwin Sharvill
1008Munro O MacleadIndia2024-05-23Morlong Associates NEW67Anna Fali
1009Wickens B ChuiArgentina2024-05-19Dorl, James J Esq RENEWAL60Xuxue Feng
1010Julie P KolmetzRussia2024-05-20Printing Dimensions NEGOTIATION30Ivan Magalhaes
1011Greenwood Y RoysterIndia2024-05-24Morlong Associates QUALIFIED68Xuxue Feng
1012Morrow W NestleUnited Kingdom2024-05-10Benton, John B Jr QUALIFIED48Ivan Magalhaes
1013Jefferson Z RimCanada2024-05-03Benton, John B Jr RENEWAL66Stephen Shaw
1014Silvio Z SaylorsSpain2024-05-17Truhlar And Truhlar Attys NEGOTIATION24Elwin Sharvill
1015Jeanfrancois X RimArgentina2024-04-30Chemel, James L Cpa NEW62Stephen Shaw
1016Deepesh I MarrierItaly2024-05-06Chanay, Jeffrey A Esq RENEWAL52Asiya Javayant
1017Murillo R BriddickArgentina2024-05-13Rangoni Of Florence NEW1Asiya Javayant
1018Octavia A MaletBrazil2024-05-23Truhlar And Truhlar Attys RENEWAL28Bernardo Dominic
1019Juan P FigeroaCanada2024-05-16Commercial Press QUALIFIED73Onyama Limba
1020Leja Q OstroskyGermany2024-05-25Feltz Printing Service RENEWAL92Anna Fali
1021Ivar T ShinkoIndia2024-05-08Morlong Associates NEW72Elwin Sharvill
1022Stacey Q BologniaFrance2024-05-12Chemel, James L Cpa QUALIFIED27Ivan Magalhaes
1023Ivar E GarufiFrance2024-05-02Feiner Bros QUALIFIED44Amy Elsner
1024Aditya F FollerItaly2024-05-12Printing Dimensions RENEWAL11Elwin Sharvill
1025Sinclair T RutaFrance2024-05-23Chapman, Ross E Esq UNQUALIFIED66Onyama Limba
1026Greenwood K SchemmerGermany2024-05-17Rangoni Of Florence UNQUALIFIED15Ioni Bowcher
1027Rodrigues P SaylorsSpain2024-05-22Feiner Bros NEGOTIATION85Onyama Limba
1028Ricardo Q PaprockiSpain2024-05-23Commercial Press NEGOTIATION45Asiya Javayant
1029Morrow K IturbideRussia2024-05-19Commercial Press NEW71Asiya Javayant
1030Isabel V MarrierUnited Kingdom2024-05-20King, Christopher A Esq PROPOSAL15Asiya Javayant
1031Jefferson W RoysterGermany2024-05-01Chemel, James L Cpa RENEWAL84Stephen Shaw
1032Smith M AmigonGermany2024-05-03King, Christopher A Esq QUALIFIED51Anna Fali
1033Jefferson J IturbideIndia2024-05-14Rousseaux, Michael Esq QUALIFIED87Ioni Bowcher
1034Mujtaba S MaletUnited Kingdom2024-05-03Printing Dimensions NEW82Onyama Limba
1035James P TollnerUnited Kingdom2024-05-02Rousseaux, Michael Esq UNQUALIFIED91Asiya Javayant
1036Mujtaba C FlosiIndia2024-05-26Printing Dimensions NEGOTIATION22Ioni Bowcher
1037Maisha W SaylorsRussia2024-05-23Commercial Press NEW28Bernardo Dominic
1038Octavia J BriddickGermany2024-05-24Morlong Associates RENEWAL28Ioni Bowcher
1039Cody O NestleArgentina2024-05-15King, Christopher A Esq PROPOSAL93Anna Fali
1040Aditya H VocelkaSpain2024-05-18Feiner Bros NEW84Ioni Bowcher
1041Mayumi G SchemmerCanada2024-05-01Dorl, James J Esq UNQUALIFIED49Asiya Javayant
1042Emily W StockhamArgentina2024-05-02Benton, John B Jr RENEWAL37Amy Elsner
1043Chavez K VenereItaly2024-05-24Feltz Printing Service RENEWAL39Amy Elsner
1044Darci G BriddickCanada2024-05-22Feiner Bros QUALIFIED11Ivan Magalhaes
1045Francesco V BowleyFrance2024-04-29Printing Dimensions PROPOSAL47Anna Fali
1046Nicolas E PerinBrazil2024-05-14Dorl, James J Esq QUALIFIED26Onyama Limba
1047Juan N BriddickItaly2024-04-28Feiner Bros NEGOTIATION7Xuxue Feng
1048Claire L SlusarskiGermany2024-05-07Morlong Associates UNQUALIFIED69Onyama Limba
1049Jennifer O OldroydSpain2024-04-29Chanay, Jeffrey A Esq UNQUALIFIED76Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria R CaudyArgentinaStephen Shaw UNQUALIFIED
Leon D MaletBrazilElwin Sharvill NEW
Julie E RoysterUnited KingdomOnyama Limba NEGOTIATION
Leja H IturbideCanadaIvan Magalhaes QUALIFIED
Alejandro X GlickGermanyAsiya Javayant RENEWAL
Clifford K OldroydGermanyXuxue Feng NEGOTIATION
Rodrigues E KuskoIndiaElwin Sharvill RENEWAL
Arvin N FollerSpainBernardo Dominic UNQUALIFIED
Morrow U GlickArgentinaAnna Fali NEGOTIATION
Chavez D InouyeIndiaOnyama Limba RENEWAL
Leja O AlbaresItalyXuxue Feng UNQUALIFIED
Mujtaba J RimRussiaAmy Elsner RENEWAL
Murillo N MaletAustraliaBernardo Dominic NEW
Murillo W GlickFranceIoni Bowcher NEGOTIATION
Arvin G GauchoItalyIvan Magalhaes RENEWAL
Aika D TollnerSpainAmy Elsner UNQUALIFIED
Arvin U VocelkaJapanAnna Fali NEGOTIATION
Aika S GauchoBrazilAnna Fali RENEWAL
Murillo P FerenczIndiaAnna Fali RENEWAL
Ashley N GlickUnited KingdomIoni Bowcher NEW
Misaki Y MorascaJapanAsiya Javayant QUALIFIED
Julie O RimIndiaStephen Shaw PROPOSAL
Darci R ChuiIndiaAnna Fali UNQUALIFIED
Wickens D DilliardRussiaStephen Shaw RENEWAL
Mayumi B PaprockiFranceAsiya Javayant RENEWAL
Maisha M GillianSpainElwin Sharvill QUALIFIED
Antonio E StensethAustraliaOnyama Limba NEW
Kadeem W SlusarskiFranceXuxue Feng QUALIFIED
Costa Y WaycottArgentinaBernardo Dominic UNQUALIFIED
Cody I PerinJapanAmy Elsner NEGOTIATION
Adams Z BologniaCanadaIvan Magalhaes PROPOSAL
Johnson X OstroskyRussiaBernardo Dominic NEW
Wickens O DilliardSpainOnyama Limba UNQUALIFIED
Adams U WieserRussiaBernardo Dominic PROPOSAL
Misaki Z RutaUnited KingdomStephen Shaw PROPOSAL
Murillo R KuskoJapanAnna Fali QUALIFIED
Nicolas X FollerAustraliaAsiya Javayant QUALIFIED
Costa K MaletSpainIvan Magalhaes QUALIFIED
Jennifer K AlbaresRussiaXuxue Feng QUALIFIED
Costa E CampainAustraliaAmy Elsner PROPOSAL
Salvatore A MaletGermanyBernardo Dominic PROPOSAL
Jeanfrancois J MarrierItalyOnyama Limba NEGOTIATION
Clifford C GarufiAustraliaBernardo Dominic RENEWAL
Johnson L MaletRussiaOnyama Limba RENEWAL
Murillo V WaycottGermanyStephen Shaw QUALIFIED
Emily Z SlusarskiBrazilAmy Elsner UNQUALIFIED
Munro R ShinkoGermanyOnyama Limba UNQUALIFIED
Salvatore G ChuiSpainOnyama Limba PROPOSAL
Aruna Y MaletBrazilStephen Shaw RENEWAL
Tony U SaylorsCanadaXuxue Feng PROPOSAL
Frozen Columns
Name
Ivar V Whobrey
Tony P Figeroa
Costa Y Doe
Jones H Foller
Munro V Wieser
Faith X Kusko
Jones F Stockham
Deepesh D Iturbide
Arvin H Kolmetz
Mujtaba M Ferencz
Maria U Rim
Aditya D Dilliard
Mujtaba J Bowley
Nicolas G Amigon
Adams W Rulapaugh
Stacey T Rim
Greenwood D Kusko
Isabel G Doe
Maisha B Slusarski
Wickens L Iturbide
Kadeem C Ostrosky
Juan Z Campain
Morrow L Malet
Ricardo Y Slusarski
Mujtaba L Tollner
Aruna Y Gillian
Adams X Amigon
Deepesh M Darakjy
Jeanfrancois L Gillian
Adams X Inouye
Jefferson V Maclead
Munro X Tollner
Clifford R Whobrey
Darci D Slusarski
Wickens N Marrier
Leja G Rulapaugh
Nicolas Q Whobrey
Nicolas G Chui
Kaitlin B Garufi
Johnson N Whobrey
James U Perin
Smith J Amigon
Maisha N Amigon
Salvatore R Butt
Wickens D Garufi
Rodrigues M Glick
Munro H Wieser
Alejandro A Rim
David P Gillian
Chavez Z Venere
IdCountryDate
1000India2024-05-25
1001Brazil2024-05-03
1002United Kingdom2024-05-13
1003Russia2024-05-20
1004Australia2024-05-25
1005Japan2024-05-09
1006Germany2024-05-02
1007Spain2024-05-06
1008Germany2024-05-01
1009Brazil2024-05-15
1010Canada2024-05-24
1011Argentina2024-05-15
1012Australia2024-05-05
1013Canada2024-05-04
1014Germany2024-04-27
1015France2024-05-16
1016Argentina2024-05-13
1017Germany2024-05-08
1018France2024-05-05
1019Brazil2024-05-17
1020France2024-05-12
1021Japan2024-05-12
1022Russia2024-05-19
1023Germany2024-04-27
1024Australia2024-05-25
1025Argentina2024-05-26
1026Japan2024-05-19
1027Argentina2024-05-10
1028Australia2024-05-15
1029Canada2024-05-08
1030Japan2024-05-02
1031Italy2024-05-15
1032Argentina2024-05-18
1033India2024-05-17
1034Russia2024-05-05
1035Japan2024-04-29
1036Argentina2024-05-12
1037France2024-04-28
1038Germany2024-05-04
1039India2024-05-23
1040Argentina2024-04-27
1041France2024-05-03
1042India2024-04-28
1043Canada2024-05-07
1044Russia2024-05-09
1045Canada2024-04-28
1046Italy2024-05-18
1047Italy2024-05-21
1048France2024-05-25
1049Brazil2024-05-22

On-Demand Data

NameIdCountryDate
Deepesh A Flosi1000Canada2024-04-28
Mayumi V Butt1001Argentina2024-05-25
Smith A Waycott1002Germany2024-05-08
Isabel F Chui1003Russia2024-05-09
Maria I Flosi1004Japan2024-05-10
Cody N Doe1005Brazil2024-05-06
Greenwood M Gillian1006Germany2024-05-06
Wickens J Kusko1007France2024-05-03
Smith W Maclead1008Russia2024-04-30
Mayumi Z Glick1009Brazil2024-05-07
Smith R Inouye1010Italy2024-05-01
Mujtaba U Schemmer1011Argentina2024-05-18
Octavia T Foller1012United Kingdom2024-04-29
Darci S Kusko1013India2024-05-13
Alejandro V Paprocki1014United Kingdom2024-05-25
Juan G Malet1015Argentina2024-04-27
Kadeem V Caudy1016Spain2024-05-17
Francesco D Perin1017Italy2024-05-08
Morrow X Glick1018Argentina2024-05-23
Kadeem R Waycott1019Germany2024-05-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh H IturbideIndiaBernardo Dominic RENEWAL
Rodrigues T RoysterUnited KingdomOnyama Limba NEGOTIATION
Leon D StensethSpainAmy Elsner QUALIFIED
Francesco F RutaItalyOnyama Limba NEGOTIATION
Misaki T PerinFranceStephen Shaw RENEWAL
Greenwood Q WaycottAustraliaOnyama Limba QUALIFIED
Emily L MacleadFranceAnna Fali NEGOTIATION
Ivar Y MacleadIndiaXuxue Feng PROPOSAL
Ivar J AlbaresCanadaIoni Bowcher QUALIFIED
Antonio V CaudyAustraliaOnyama Limba NEGOTIATION
Arvin X DilliardArgentinaXuxue Feng QUALIFIED
Jeanfrancois S DarakjyAustraliaStephen Shaw PROPOSAL
Deepesh U StockhamIndiaElwin Sharvill NEW
Alejandro C NickaRussiaAsiya Javayant NEW
Izzy F SlusarskiFranceXuxue Feng RENEWAL
Cody B GarufiAustraliaAnna Fali PROPOSAL
Jeanfrancois T KuskoAustraliaBernardo Dominic PROPOSAL
Aruna M GillianJapanAmy Elsner UNQUALIFIED
Alejandro M WhobreyItalyXuxue Feng QUALIFIED
Morrow X DarakjySpainStephen Shaw UNQUALIFIED
Chavez X OldroydArgentinaOnyama Limba QUALIFIED
Claire O ShinkoItalyBernardo Dominic NEW
Aika Z BologniaArgentinaOnyama Limba QUALIFIED
Chavez R MaletJapanStephen Shaw RENEWAL
Emily D ButtIndiaIvan Magalhaes RENEWAL
Nicolas D RulapaughUnited KingdomIvan Magalhaes NEW
Ivar F NickaBrazilOnyama Limba NEW
David E RutaArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois G CaudyAustraliaElwin Sharvill NEW
Murillo Y PerinItalyIvan Magalhaes PROPOSAL
Ricardo X BriddickIndiaAmy Elsner QUALIFIED
Clifford S VenereIndiaStephen Shaw QUALIFIED
Claire M RoysterGermanyAnna Fali UNQUALIFIED
Jefferson R MaletIndiaAmy Elsner UNQUALIFIED
David P RutaCanadaAmy Elsner RENEWAL
Mayumi U BriddickArgentinaElwin Sharvill QUALIFIED
Mujtaba T SaylorsBrazilIvan Magalhaes NEW
Munro T IturbideGermanyIoni Bowcher PROPOSAL
Cody C WhobreyRussiaAsiya Javayant RENEWAL
Wickens C KuskoGermanyBernardo Dominic NEW

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