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
Claire W MacleadIndiaBernardo Dominic QUALIFIED
James Q RimArgentinaStephen Shaw UNQUALIFIED
Chavez K NickaFranceIvan Magalhaes NEGOTIATION
Izzy Q FlosiArgentinaIoni Bowcher PROPOSAL
Jones G MaletRussiaAnna Fali NEGOTIATION
Stacey F OldroydItalyAnna Fali NEW
Antonio T CampainJapanAsiya Javayant QUALIFIED
Munro A RutaRussiaAnna Fali PROPOSAL
Salvatore V StensethBrazilIvan Magalhaes NEW
Misaki R RimBrazilBernardo Dominic PROPOSAL
Deepesh U GillianBrazilBernardo Dominic QUALIFIED
Rodrigues E VenereArgentinaAmy Elsner NEGOTIATION
Mayumi S FlosiUnited KingdomAnna Fali PROPOSAL
Mayumi C GarufiGermanyIvan Magalhaes NEW
Morrow U CaudyRussiaAnna Fali RENEWAL
Emily T GauchoBrazilAnna Fali NEGOTIATION
Alejandro K DilliardItalyAsiya Javayant NEGOTIATION
Stacey A VocelkaJapanIoni Bowcher QUALIFIED
Arvin I BologniaItalyAsiya Javayant NEW
Sinclair J ShinkoUnited KingdomXuxue Feng RENEWAL
Jones X AlbaresJapanIoni Bowcher RENEWAL
Johnson Y WieserCanadaXuxue Feng RENEWAL
Aruna U PoquetteItalyAnna Fali QUALIFIED
Jennifer K SaylorsArgentinaXuxue Feng NEGOTIATION
Faith O FigeroaItalyStephen Shaw PROPOSAL
Aruna M StockhamUnited KingdomOnyama Limba QUALIFIED
Ricardo I BriddickBrazilIvan Magalhaes UNQUALIFIED
Isabel Y DoeIndiaAnna Fali UNQUALIFIED
Jefferson S FollerSpainIvan Magalhaes UNQUALIFIED
David B GarufiAustraliaOnyama Limba UNQUALIFIED
James S RoysterBrazilOnyama Limba UNQUALIFIED
Adams S PoquetteUnited KingdomStephen Shaw RENEWAL
Juan E SlusarskiCanadaAmy Elsner PROPOSAL
Ricardo P InouyeFranceIoni Bowcher UNQUALIFIED
Octavia T GarufiArgentinaIoni Bowcher PROPOSAL
Wickens E ButtCanadaAmy Elsner UNQUALIFIED
Aruna C CaudyBrazilIvan Magalhaes PROPOSAL
Stacey T FollerAustraliaXuxue Feng NEGOTIATION
Leja C WaycottIndiaXuxue Feng RENEWAL
Arvin Y MacleadGermanyIoni Bowcher UNQUALIFIED
Johnson U SergiAustraliaOnyama Limba UNQUALIFIED
Antonio R PaprockiFranceOnyama Limba QUALIFIED
Sinclair O CaldareraUnited KingdomAmy Elsner NEW
Jennifer Z DarakjyItalyBernardo Dominic QUALIFIED
Ashley H MarrierIndiaAsiya Javayant NEGOTIATION
Mayumi A IturbideSpainIoni Bowcher NEGOTIATION
Costa G MarrierItalyAsiya Javayant NEW
Murillo R SergiRussiaAsiya Javayant UNQUALIFIED
Ricardo K WieserIndiaBernardo Dominic NEGOTIATION
Sinclair E SchemmerGermanyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci I GlickCanadaStephen Shaw UNQUALIFIED
Clifford F WieserItalyAnna Fali RENEWAL
Salvatore N KuskoItalyElwin Sharvill RENEWAL
Mujtaba K FlosiItalyXuxue Feng RENEWAL
Salvatore Z WaycottCanadaElwin Sharvill NEGOTIATION
Darci R RimGermanyAsiya Javayant RENEWAL
Kadeem Y CampainGermanyAnna Fali PROPOSAL
Francesco M SaylorsBrazilAnna Fali RENEWAL
Leon P RulapaughSpainOnyama Limba PROPOSAL
Jeanfrancois F FollerJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha N ButtItaly2024-06-17Chapman, Ross E Esq UNQUALIFIED55Xuxue Feng
1001Clifford Q CaudyFrance2024-05-24Truhlar And Truhlar Attys NEW16Xuxue Feng
1002Alejandro V RimUnited Kingdom2024-05-25Commercial Press RENEWAL84Ioni Bowcher
1003Greenwood Y GlickSpain2024-06-13Commercial Press NEW89Bernardo Dominic
1004Aditya T AlbaresRussia2024-06-16Rangoni Of Florence PROPOSAL99Amy Elsner
1005Chavez K MorascaBrazil2024-06-08Buckley Miller Wright NEW26Anna Fali
1006Jennifer Z OstroskyGermany2024-06-14Rousseaux, Michael Esq NEW25Onyama Limba
1007Aditya H AmigonCanada2024-06-12Rangoni Of Florence NEW58Onyama Limba
1008Darci S IturbideAustralia2024-05-29Dorl, James J Esq RENEWAL84Elwin Sharvill
1009James O WaycottUnited Kingdom2024-06-04Chemel, James L Cpa RENEWAL5Ivan Magalhaes
1010Cody D SlusarskiGermany2024-06-04Chapman, Ross E Esq QUALIFIED72Stephen Shaw
1011Francesco M BowleyJapan2024-06-21Feltz Printing Service NEGOTIATION34Bernardo Dominic
1012Mujtaba S FigeroaSpain2024-06-11Chemel, James L Cpa QUALIFIED23Asiya Javayant
1013Kaitlin F MorascaArgentina2024-06-22Commercial Press QUALIFIED69Bernardo Dominic
1014Johnson P DarakjyRussia2024-05-25Chanay, Jeffrey A Esq NEGOTIATION75Ioni Bowcher
1015Ashley F CaudyJapan2024-06-17Feiner Bros QUALIFIED86Elwin Sharvill
1016Chavez I SlusarskiSpain2024-06-11Feiner Bros NEGOTIATION21Stephen Shaw
1017Faith R PaprockiArgentina2024-06-08Feltz Printing Service RENEWAL83Stephen Shaw
1018Leon X FlosiRussia2024-06-16Feltz Printing Service PROPOSAL8Xuxue Feng
1019Alejandro C KuskoFrance2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED17Bernardo Dominic
1020Isabel B MarrierSpain2024-05-29Truhlar And Truhlar Attys QUALIFIED72Ivan Magalhaes
1021Greenwood L SchemmerSpain2024-06-19Truhlar And Truhlar Attys NEGOTIATION6Ioni Bowcher
1022Ivar W BologniaCanada2024-06-04Chapman, Ross E Esq PROPOSAL78Elwin Sharvill
1023Isabel C RimUnited Kingdom2024-05-24King, Christopher A Esq UNQUALIFIED88Bernardo Dominic
1024Salvatore X GarufiAustralia2024-06-04Chemel, James L Cpa NEW31Ioni Bowcher
1025Silvio N SlusarskiGermany2024-06-21Morlong Associates QUALIFIED75Onyama Limba
1026Greenwood G SchemmerRussia2024-06-04Commercial Press RENEWAL90Bernardo Dominic
1027Antonio I BowleyGermany2024-06-06Rousseaux, Michael Esq UNQUALIFIED69Ioni Bowcher
1028Julie K GlickArgentina2024-06-07Buckley Miller Wright NEGOTIATION58Asiya Javayant
1029Maria W BriddickItaly2024-05-26Feiner Bros NEW56Anna Fali
1030Costa J MorascaRussia2024-06-09Chapman, Ross E Esq RENEWAL10Ioni Bowcher
1031Wickens J ChuiCanada2024-06-01Morlong Associates QUALIFIED29Stephen Shaw
1032Clifford Y FlosiFrance2024-06-22Commercial Press PROPOSAL13Anna Fali
1033Mujtaba S PerinGermany2024-06-11Morlong Associates NEW30Asiya Javayant
1034Morrow E VenereAustralia2024-05-30Commercial Press NEW31Onyama Limba
1035Alejandro F FigeroaBrazil2024-06-16Buckley Miller Wright QUALIFIED13Elwin Sharvill
1036Mujtaba K GauchoArgentina2024-05-26Chemel, James L Cpa NEGOTIATION28Xuxue Feng
1037Deepesh O GauchoBrazil2024-06-22Feltz Printing Service NEGOTIATION29Xuxue Feng
1038Faith R ShinkoUnited Kingdom2024-06-22Benton, John B Jr NEW96Ioni Bowcher
1039Octavia M PoquetteCanada2024-06-19Chemel, James L Cpa NEGOTIATION40Ivan Magalhaes
1040Jefferson C SergiIndia2024-06-16Feiner Bros NEW35Bernardo Dominic
1041Maisha H GarufiItaly2024-06-10Chemel, James L Cpa QUALIFIED59Ivan Magalhaes
1042Wickens L KuskoBrazil2024-06-15Buckley Miller Wright RENEWAL85Ioni Bowcher
1043Izzy S DarakjyIndia2024-05-26Dorl, James J Esq UNQUALIFIED88Onyama Limba
1044Mujtaba A MarrierArgentina2024-06-10Printing Dimensions NEGOTIATION27Anna Fali
1045Sinclair Q InouyeRussia2024-06-02Chanay, Jeffrey A Esq QUALIFIED62Onyama Limba
1046Darci M DoeSpain2024-06-10Truhlar And Truhlar Attys NEW44Stephen Shaw
1047Mayumi A KuskoSpain2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED61Asiya Javayant
1048Greenwood G CaudyItaly2024-06-06Chemel, James L Cpa QUALIFIED73Amy Elsner
1049Cody P WhobreyRussia2024-06-06Rangoni Of Florence NEW1Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James N TollnerGermanyBernardo Dominic RENEWAL
Aika Y SergiCanadaXuxue Feng PROPOSAL
Morrow R DilliardCanadaElwin Sharvill NEW
Deepesh M FlosiUnited KingdomAnna Fali UNQUALIFIED
Maisha G BriddickCanadaOnyama Limba NEW
Misaki U GauchoItalyElwin Sharvill RENEWAL
Aditya X WieserBrazilXuxue Feng NEW
Sinclair E SaylorsAustraliaAsiya Javayant UNQUALIFIED
Jefferson V KolmetzCanadaOnyama Limba NEGOTIATION
Mayumi M KuskoArgentinaBernardo Dominic PROPOSAL
Julie K NickaGermanyAmy Elsner NEW
Kadeem O TollnerArgentinaIvan Magalhaes PROPOSAL
Adams V FlosiSpainAsiya Javayant RENEWAL
Johnson N OldroydItalyStephen Shaw NEGOTIATION
Jennifer W InouyeJapanIvan Magalhaes RENEWAL
Faith C CampainJapanAnna Fali PROPOSAL
Ashley B OstroskyJapanStephen Shaw UNQUALIFIED
Jefferson O WieserArgentinaElwin Sharvill NEW
Jennifer U GlickBrazilIvan Magalhaes NEGOTIATION
Silvio W SaylorsCanadaIoni Bowcher RENEWAL
Silvio W GauchoArgentinaBernardo Dominic NEGOTIATION
Arvin S NickaIndiaBernardo Dominic PROPOSAL
Jefferson E ButtArgentinaStephen Shaw UNQUALIFIED
Nicolas E MacleadGermanyAnna Fali PROPOSAL
David V BriddickSpainStephen Shaw NEW
Tony Q PaprockiCanadaAnna Fali PROPOSAL
Ashley P DilliardAustraliaAmy Elsner UNQUALIFIED
James T FollerCanadaAmy Elsner NEGOTIATION
Cody S BologniaRussiaAsiya Javayant PROPOSAL
Nicolas U SchemmerRussiaIoni Bowcher NEGOTIATION
Adams R NickaSpainBernardo Dominic NEGOTIATION
Jennifer A ShinkoArgentinaAnna Fali QUALIFIED
David W StensethAustraliaIoni Bowcher QUALIFIED
Johnson A PaprockiSpainIvan Magalhaes PROPOSAL
Ashley Y StensethIndiaStephen Shaw NEGOTIATION
Salvatore I FerenczArgentinaBernardo Dominic UNQUALIFIED
Stacey U CaudyJapanIoni Bowcher RENEWAL
Aditya X CaudyRussiaIoni Bowcher RENEWAL
Smith X OstroskyItalyIvan Magalhaes RENEWAL
Jefferson O NickaIndiaAsiya Javayant PROPOSAL
Ashley U SchemmerUnited KingdomAnna Fali PROPOSAL
Juan Y OldroydRussiaIoni Bowcher RENEWAL
Leon H RimIndiaIoni Bowcher UNQUALIFIED
Maria K BriddickBrazilAnna Fali UNQUALIFIED
Jones Z RulapaughUnited KingdomAmy Elsner UNQUALIFIED
Aditya E SergiJapanIvan Magalhaes RENEWAL
Costa K DilliardJapanAnna Fali UNQUALIFIED
Stacey C MaletIndiaBernardo Dominic NEW
Kadeem S RutaArgentinaElwin Sharvill PROPOSAL
Mayumi T MaletGermanyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Aruna D Perin
Claire B Stenseth
Leja S Paprocki
Costa J Briddick
Jeanfrancois E Garufi
Leon V Figeroa
Leja W Kolmetz
Isabel T Poquette
Misaki K Malet
Tony Q Bolognia
Smith Y Poquette
Jefferson K Venere
Maria P Schemmer
Munro Y Ostrosky
Rodrigues V Bolognia
Nicolas K Garufi
Smith D Wieser
Cody R Vocelka
Ivar C Rulapaugh
Aruna J Maclead
Jennifer H Whobrey
Kadeem N Nicka
Faith F Inouye
Emily Y Bowley
Nicolas I Rim
Smith M Nestle
Morrow I Nicka
Kadeem W Nestle
Antonio Z Caldarera
Julie Z Tollner
Juan Z Doe
Murillo H Nestle
David J Perin
Stacey T Schemmer
Rodrigues H Rim
Jones P Chui
Leja W Marrier
Francesco Y Royster
Octavia Z Sergi
Maisha Z Bolognia
Misaki F Campain
Tony T Sergi
Kaitlin P Inouye
Salvatore R Caudy
Mujtaba V Marrier
Cody S Waycott
Aika A Kolmetz
Costa X Foller
Ashley K Glick
Julie G Rulapaugh
IdCountryDate
1000Canada2024-06-03
1001Spain2024-06-15
1002Germany2024-05-30
1003Argentina2024-06-17
1004United Kingdom2024-06-21
1005Russia2024-05-27
1006Australia2024-06-22
1007Japan2024-06-11
1008Canada2024-06-10
1009United Kingdom2024-06-05
1010Italy2024-06-06
1011Russia2024-06-06
1012Spain2024-06-03
1013Australia2024-06-07
1014India2024-06-18
1015Germany2024-06-11
1016Russia2024-05-26
1017Germany2024-06-02
1018Italy2024-06-20
1019Italy2024-05-31
1020United Kingdom2024-06-22
1021Italy2024-05-27
1022Russia2024-06-16
1023India2024-06-22
1024Brazil2024-05-29
1025France2024-05-28
1026Russia2024-06-17
1027Spain2024-06-17
1028Argentina2024-05-31
1029Japan2024-06-18
1030Canada2024-05-26
1031Canada2024-06-01
1032Russia2024-06-16
1033Australia2024-05-25
1034Germany2024-06-12
1035Spain2024-06-21
1036Russia2024-05-31
1037Australia2024-06-22
1038Argentina2024-06-02
1039Japan2024-06-10
1040Canada2024-06-03
1041Japan2024-06-21
1042Japan2024-06-21
1043Germany2024-06-05
1044Spain2024-06-13
1045Australia2024-06-09
1046Japan2024-05-25
1047Russia2024-06-07
1048Germany2024-05-27
1049United Kingdom2024-06-03

On-Demand Data

NameIdCountryDate
Ashley F Paprocki1000Italy2024-06-10
Juan J Ostrosky1001France2024-06-17
Morrow H Butt1002Russia2024-06-21
Sinclair G Kusko1003Japan2024-05-30
Juan C Oldroyd1004Russia2024-06-16
Mayumi Z Paprocki1005India2024-06-21
Sinclair Q Bolognia1006Germany2024-06-04
Alejandro Q Dilliard1007France2024-06-19
Aika V Marrier1008United Kingdom2024-06-07
Antonio J Chui1009France2024-05-30
Mayumi Y Malet1010Russia2024-06-01
Salvatore U Kolmetz1011Argentina2024-06-12
Smith C Ostrosky1012Germany2024-05-29
Chavez V Schemmer1013Australia2024-06-10
Leon Y Ruta1014Italy2024-06-08
Tony K Tollner1015Germany2024-05-27
Jennifer J Caudy1016Germany2024-05-26
Ashley I Iturbide1017France2024-06-18
Smith C Perin1018Germany2024-06-04
Ashley F Morasca1019Canada2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens M VenereFranceAmy Elsner PROPOSAL
Costa W IturbideFranceStephen Shaw RENEWAL
Kadeem S GlickGermanyStephen Shaw NEGOTIATION
Mayumi X WhobreyIndiaXuxue Feng NEW
Aika Y GillianUnited KingdomOnyama Limba NEGOTIATION
Ashley J BriddickIndiaAsiya Javayant UNQUALIFIED
Ashley A KuskoArgentinaOnyama Limba NEW
Murillo J PaprockiCanadaXuxue Feng QUALIFIED
Kaitlin X InouyeRussiaBernardo Dominic NEGOTIATION
Izzy Q MorascaItalyAmy Elsner NEW
Claire I IturbideUnited KingdomBernardo Dominic RENEWAL
Arvin I CaudyJapanAmy Elsner UNQUALIFIED
Smith Q InouyeItalyOnyama Limba PROPOSAL
Johnson M MacleadAustraliaBernardo Dominic NEW
Jennifer T InouyeGermanyIoni Bowcher NEGOTIATION
Francesco P NestleGermanyStephen Shaw RENEWAL
Aruna X CaldareraUnited KingdomOnyama Limba RENEWAL
Murillo T WieserJapanXuxue Feng QUALIFIED
Deepesh Q WieserUnited KingdomBernardo Dominic PROPOSAL
David Y MaletItalyAsiya Javayant UNQUALIFIED
Murillo L GarufiGermanyIvan Magalhaes PROPOSAL
Maria R ChuiIndiaXuxue Feng NEGOTIATION
Greenwood V WaycottAustraliaBernardo Dominic RENEWAL
Clifford Y OstroskyArgentinaAsiya Javayant QUALIFIED
Aika W VenereFranceXuxue Feng QUALIFIED
Smith I BologniaFranceAsiya Javayant RENEWAL
David C VocelkaFranceIvan Magalhaes QUALIFIED
Claire Y CaldareraItalyOnyama Limba NEGOTIATION
Chavez R IturbideFranceBernardo Dominic QUALIFIED
Julie E PoquetteItalyIoni Bowcher UNQUALIFIED
Maisha V BowleyUnited KingdomBernardo Dominic NEGOTIATION
Faith Y FlosiRussiaAsiya Javayant UNQUALIFIED
Alejandro V BriddickIndiaAmy Elsner NEW
Rodrigues P VenereItalyOnyama Limba QUALIFIED
Antonio G AmigonAustraliaAsiya Javayant NEGOTIATION
Munro P TollnerJapanAnna Fali NEW
Jones D PoquetteBrazilElwin Sharvill NEGOTIATION
Izzy R WaycottUnited KingdomElwin Sharvill QUALIFIED
Ricardo I WaycottUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois C CampainIndiaOnyama 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>