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
Johnson B IturbideIndiaIoni Bowcher UNQUALIFIED
Maria U InouyeUnited KingdomAnna Fali UNQUALIFIED
Francesco B IturbideFranceOnyama Limba RENEWAL
Morrow Z SlusarskiCanadaAsiya Javayant QUALIFIED
Julie C CaldareraFranceIoni Bowcher PROPOSAL
Aika V MorascaRussiaIoni Bowcher NEGOTIATION
Stacey F MacleadBrazilIoni Bowcher PROPOSAL
Ricardo B NestleBrazilIoni Bowcher PROPOSAL
Jones I RimAustraliaOnyama Limba RENEWAL
Chavez Z OldroydRussiaStephen Shaw UNQUALIFIED
Jefferson D MacleadBrazilOnyama Limba PROPOSAL
Leja Z KolmetzSpainAsiya Javayant RENEWAL
Adams K BowleyJapanAsiya Javayant QUALIFIED
Adams M RutaArgentinaAnna Fali PROPOSAL
Aika Q TollnerAustraliaXuxue Feng NEW
Jones W WieserCanadaIvan Magalhaes UNQUALIFIED
Maisha Q StockhamFranceElwin Sharvill UNQUALIFIED
David P AmigonItalyIvan Magalhaes RENEWAL
Clifford K PoquetteCanadaAmy Elsner QUALIFIED
Kaitlin M FigeroaArgentinaAsiya Javayant NEW
Arvin A VenereSpainAsiya Javayant RENEWAL
Aruna Z MacleadBrazilOnyama Limba RENEWAL
Rodrigues D TollnerCanadaStephen Shaw UNQUALIFIED
Stacey Z FigeroaIndiaAsiya Javayant PROPOSAL
Antonio R CaldareraArgentinaXuxue Feng NEW
Jeanfrancois F KolmetzUnited KingdomAmy Elsner NEW
James H DarakjyItalyStephen Shaw UNQUALIFIED
Ricardo S PaprockiArgentinaBernardo Dominic QUALIFIED
Darci P StensethCanadaStephen Shaw UNQUALIFIED
Kaitlin D SergiBrazilOnyama Limba QUALIFIED
Jones A GillianBrazilOnyama Limba RENEWAL
Ivar C RoysterCanadaAsiya Javayant NEW
Morrow M MaletUnited KingdomAmy Elsner NEW
Rodrigues Y GauchoFranceIoni Bowcher QUALIFIED
Clifford Q GillianFranceOnyama Limba RENEWAL
Wickens I ChuiArgentinaElwin Sharvill NEGOTIATION
Maisha H MaletCanadaXuxue Feng NEGOTIATION
Maria A FigeroaIndiaBernardo Dominic NEW
Rodrigues G FigeroaFranceAsiya Javayant UNQUALIFIED
Rodrigues V MaletArgentinaElwin Sharvill NEGOTIATION
Arvin Q WhobreyGermanyAnna Fali NEGOTIATION
Darci S OstroskyIndiaBernardo Dominic PROPOSAL
Cody J AmigonBrazilOnyama Limba NEW
Leon H DilliardItalyElwin Sharvill QUALIFIED
Darci S FerenczIndiaAsiya Javayant NEGOTIATION
Antonio E OldroydUnited KingdomXuxue Feng UNQUALIFIED
Misaki O VenereArgentinaStephen Shaw PROPOSAL
Misaki S FollerArgentinaStephen Shaw UNQUALIFIED
Misaki L ShinkoJapanAsiya Javayant RENEWAL
Leon Q CampainBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio I PerinUnited KingdomBernardo Dominic RENEWAL
Leon S RoysterIndiaStephen Shaw QUALIFIED
Juan W PoquetteCanadaBernardo Dominic UNQUALIFIED
Aruna Z StockhamBrazilElwin Sharvill NEGOTIATION
Leja Q AlbaresJapanIoni Bowcher UNQUALIFIED
Aika R MacleadItalyIoni Bowcher PROPOSAL
Darci C DoeIndiaAsiya Javayant NEGOTIATION
Juan G FigeroaJapanIvan Magalhaes QUALIFIED
Maria L VenereGermanyAmy Elsner NEW
Clifford H VocelkaSpainAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem K TollnerUnited Kingdom2024-05-13Truhlar And Truhlar Attys QUALIFIED65Onyama Limba
1001Costa W WhobreyUnited Kingdom2024-05-27Rangoni Of Florence RENEWAL92Ioni Bowcher
1002Emily Q DoeJapan2024-05-12King, Christopher A Esq PROPOSAL60Bernardo Dominic
1003Faith W NickaFrance2024-05-11Truhlar And Truhlar Attys PROPOSAL93Asiya Javayant
1004Izzy F VenereAustralia2024-05-16Rousseaux, Michael Esq NEW93Bernardo Dominic
1005Faith C CaudyGermany2024-05-09Chemel, James L Cpa PROPOSAL16Elwin Sharvill
1006Silvio L GillianCanada2024-05-07Printing Dimensions PROPOSAL36Bernardo Dominic
1007David T BowleyItaly2024-05-25Feltz Printing Service NEGOTIATION47Elwin Sharvill
1008Silvio O PerinGermany2024-05-27Commercial Press UNQUALIFIED55Ivan Magalhaes
1009Aruna G VenereFrance2024-05-11Buckley Miller Wright RENEWAL88Amy Elsner
1010Smith E GillianUnited Kingdom2024-05-08Rousseaux, Michael Esq UNQUALIFIED67Ivan Magalhaes
1011Tony K PerinRussia2024-05-12Chemel, James L Cpa RENEWAL6Xuxue Feng
1012Darci S DarakjyCanada2024-05-22Feiner Bros QUALIFIED60Elwin Sharvill
1013Claire H CaudySpain2024-05-08King, Christopher A Esq UNQUALIFIED82Amy Elsner
1014Aika E VocelkaAustralia2024-05-08King, Christopher A Esq NEW21Ivan Magalhaes
1015Munro X SergiBrazil2024-05-14Rangoni Of Florence PROPOSAL66Asiya Javayant
1016Kaitlin Y IturbideIndia2024-05-18Commercial Press NEGOTIATION4Ivan Magalhaes
1017David O KolmetzCanada2024-05-10Benton, John B Jr NEGOTIATION11Xuxue Feng
1018Deepesh O PerinArgentina2024-05-15Chapman, Ross E Esq QUALIFIED72Ioni Bowcher
1019Kaitlin N GlickArgentina2024-05-16Chapman, Ross E Esq QUALIFIED83Xuxue Feng
1020Faith Z MorascaJapan2024-05-29Rousseaux, Michael Esq UNQUALIFIED96Stephen Shaw
1021Cody A TollnerJapan2024-05-31Rangoni Of Florence QUALIFIED19Asiya Javayant
1022Isabel I NestleJapan2024-05-15Truhlar And Truhlar Attys NEGOTIATION62Bernardo Dominic
1023Kadeem H StensethFrance2024-05-18Printing Dimensions QUALIFIED59Xuxue Feng
1024Antonio W MacleadJapan2024-05-17Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1025Julie T DilliardSpain2024-05-19Truhlar And Truhlar Attys QUALIFIED0Xuxue Feng
1026Jennifer K PerinSpain2024-05-02Chemel, James L Cpa NEGOTIATION57Stephen Shaw
1027Faith W OldroydArgentina2024-05-17Rousseaux, Michael Esq RENEWAL78Ivan Magalhaes
1028Stacey X RoysterAustralia2024-05-11Rousseaux, Michael Esq QUALIFIED96Xuxue Feng
1029Jennifer K PerinBrazil2024-05-28King, Christopher A Esq PROPOSAL66Elwin Sharvill
1030Ivar R GarufiGermany2024-05-03Chemel, James L Cpa RENEWAL73Stephen Shaw
1031Aditya H InouyeArgentina2024-05-06Chemel, James L Cpa UNQUALIFIED65Amy Elsner
1032Kaitlin B ShinkoFrance2024-05-25Chemel, James L Cpa RENEWAL23Bernardo Dominic
1033Alejandro Q MarrierArgentina2024-05-02Rousseaux, Michael Esq PROPOSAL82Stephen Shaw
1034Kadeem F BowleyUnited Kingdom2024-05-25Chanay, Jeffrey A Esq PROPOSAL70Anna Fali
1035Leon Y NestleBrazil2024-05-19Rangoni Of Florence NEW43Elwin Sharvill
1036Kadeem H NickaIndia2024-05-17King, Christopher A Esq NEGOTIATION29Onyama Limba
1037Chavez N KolmetzSpain2024-05-28Truhlar And Truhlar Attys QUALIFIED51Elwin Sharvill
1038Stacey E StockhamJapan2024-05-30Chemel, James L Cpa QUALIFIED42Elwin Sharvill
1039Jones Q AlbaresRussia2024-05-29Feltz Printing Service QUALIFIED76Elwin Sharvill
1040Jones K BriddickCanada2024-05-12Buckley Miller Wright NEW84Amy Elsner
1041Darci J PaprockiBrazil2024-05-28Rangoni Of Florence NEGOTIATION92Bernardo Dominic
1042Izzy I SchemmerFrance2024-05-22Feltz Printing Service NEGOTIATION21Stephen Shaw
1043Aditya G WaycottSpain2024-05-04Commercial Press NEW98Anna Fali
1044Mayumi H CampainCanada2024-05-29Benton, John B Jr PROPOSAL19Ioni Bowcher
1045Francesco O SlusarskiJapan2024-05-27Feiner Bros PROPOSAL88Bernardo Dominic
1046Cody R KuskoSpain2024-05-31Feiner Bros PROPOSAL41Asiya Javayant
1047David H BowleySpain2024-05-30Truhlar And Truhlar Attys NEGOTIATION52Anna Fali
1048David A CaudyRussia2024-05-29Chapman, Ross E Esq RENEWAL21Ivan Magalhaes
1049Jefferson D GauchoArgentina2024-05-04Feiner Bros RENEWAL31Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Silvio D OstroskySpainIoni Bowcher NEGOTIATION
Johnson L CaudyBrazilXuxue Feng RENEWAL
Morrow S FollerRussiaOnyama Limba RENEWAL
Francesco U MaletItalyIvan Magalhaes NEW
Claire T FlosiIndiaStephen Shaw NEGOTIATION
Misaki B MorascaBrazilStephen Shaw NEW
Munro X NestleAustraliaXuxue Feng RENEWAL
Smith W AmigonArgentinaAsiya Javayant UNQUALIFIED
Octavia M DoeItalyAsiya Javayant UNQUALIFIED
Tony B StensethBrazilElwin Sharvill PROPOSAL
Claire X VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood Q FerenczSpainOnyama Limba RENEWAL
Stacey C MorascaJapanStephen Shaw NEW
Leja O WieserJapanBernardo Dominic RENEWAL
Ashley P FlosiJapanBernardo Dominic NEGOTIATION
Leja N IturbideRussiaIoni Bowcher PROPOSAL
Kadeem A ChuiJapanBernardo Dominic RENEWAL
Emily E VenereSpainElwin Sharvill UNQUALIFIED
Maisha R SaylorsGermanyAnna Fali QUALIFIED
Jennifer B PoquetteBrazilIvan Magalhaes NEGOTIATION
Jennifer W GauchoIndiaIvan Magalhaes NEW
David B NestleSpainOnyama Limba RENEWAL
Maisha C SchemmerArgentinaBernardo Dominic PROPOSAL
Isabel Y MacleadIndiaElwin Sharvill UNQUALIFIED
Aruna V KuskoRussiaOnyama Limba NEGOTIATION
Rodrigues T KolmetzSpainIvan Magalhaes PROPOSAL
Leja O FlosiUnited KingdomOnyama Limba RENEWAL
Leon M CaldareraAustraliaXuxue Feng NEGOTIATION
Isabel J KolmetzJapanAnna Fali RENEWAL
Nicolas K MacleadCanadaElwin Sharvill NEGOTIATION
Chavez Z WaycottCanadaXuxue Feng PROPOSAL
Jefferson Y SergiItalyIoni Bowcher RENEWAL
Juan W GillianUnited KingdomIoni Bowcher NEGOTIATION
Clifford D CampainGermanyStephen Shaw UNQUALIFIED
Misaki Z ShinkoGermanyOnyama Limba NEW
Jones E DoeIndiaXuxue Feng PROPOSAL
Arvin N GauchoGermanyBernardo Dominic NEW
Morrow Q FigeroaIndiaBernardo Dominic UNQUALIFIED
Faith J RimItalyElwin Sharvill UNQUALIFIED
Maisha L GarufiRussiaOnyama Limba UNQUALIFIED
Salvatore S OldroydArgentinaIvan Magalhaes RENEWAL
Izzy W FigeroaArgentinaBernardo Dominic RENEWAL
Maria C GlickCanadaOnyama Limba NEGOTIATION
Johnson M SlusarskiItalyXuxue Feng NEGOTIATION
Jeanfrancois R MorascaIndiaAmy Elsner RENEWAL
Ivar P OldroydRussiaElwin Sharvill PROPOSAL
Wickens N SchemmerItalyIoni Bowcher NEW
Izzy G PaprockiFranceAnna Fali QUALIFIED
James R ChuiFranceElwin Sharvill NEGOTIATION
Kaitlin N KolmetzIndiaAnna Fali NEW
Frozen Columns
Name
Jeanfrancois E Royster
Greenwood C Kolmetz
Arvin I Bolognia
Faith J Stenseth
Julie M Nestle
Faith L Malet
Misaki A Dilliard
Leja T Schemmer
Adams R Campain
Mujtaba F Tollner
Misaki G Kusko
Clifford K Stenseth
Aditya E Marrier
Munro K Kolmetz
Octavia G Kusko
Ashley L Caudy
Jefferson L Doe
Clifford I Malet
Faith Y Butt
Smith T Slusarski
Nicolas L Caldarera
Rodrigues N Venere
Jennifer B Rim
Adams V Schemmer
Adams A Saylors
Stacey U Shinko
Leja Y Kusko
Aditya A Caldarera
Murillo V Wieser
Rodrigues J Slusarski
Jennifer I Ostrosky
Aditya I Stenseth
Faith I Nicka
Stacey J Perin
Alejandro V Gaucho
Arvin I Glick
Ashley Z Garufi
Jeanfrancois G Schemmer
Rodrigues J Bowley
David L Chui
Adams Q Shinko
Kadeem O Malet
Rodrigues D Garufi
Arvin F Foller
Adams E Butt
Greenwood Z Paprocki
Darci V Rim
Maria U Nicka
Silvio F Perin
Salvatore A Gaucho
IdCountryDate
1000United Kingdom2024-05-19
1001Argentina2024-05-19
1002Spain2024-05-27
1003Russia2024-05-22
1004Italy2024-05-21
1005Russia2024-05-27
1006France2024-05-26
1007India2024-05-11
1008Italy2024-05-16
1009France2024-05-14
1010India2024-05-24
1011Brazil2024-05-07
1012Japan2024-05-18
1013France2024-05-16
1014Argentina2024-05-03
1015Brazil2024-05-10
1016Russia2024-05-16
1017Russia2024-05-04
1018Canada2024-05-05
1019Italy2024-05-31
1020Argentina2024-05-05
1021India2024-05-13
1022Spain2024-05-31
1023Australia2024-05-03
1024France2024-05-26
1025India2024-05-28
1026Brazil2024-05-08
1027Argentina2024-05-17
1028Australia2024-05-17
1029India2024-05-07
1030Japan2024-05-10
1031Australia2024-05-10
1032Spain2024-05-16
1033India2024-05-02
1034Italy2024-05-10
1035India2024-05-25
1036Australia2024-05-24
1037Australia2024-05-05
1038Japan2024-05-09
1039Japan2024-05-06
1040Brazil2024-05-21
1041India2024-05-26
1042Japan2024-05-28
1043Argentina2024-05-04
1044Spain2024-05-15
1045Germany2024-05-21
1046Argentina2024-05-21
1047Germany2024-05-09
1048France2024-05-21
1049United Kingdom2024-05-15

On-Demand Data

NameIdCountryDate
Salvatore L Malet1000Italy2024-05-30
Juan B Slusarski1001Germany2024-05-24
Munro D Darakjy1002France2024-05-05
Ivar A Vocelka1003Australia2024-05-25
Mayumi W Butt1004Russia2024-05-03
Izzy I Bolognia1005Italy2024-05-11
Clifford M Rulapaugh1006Brazil2024-05-26
Francesco U Glick1007Brazil2024-05-04
Stacey Q Malet1008Brazil2024-05-20
Aruna O Caudy1009Argentina2024-05-16
Clifford X Waycott1010Germany2024-05-21
Aika D Rulapaugh1011Brazil2024-05-17
Claire J Malet1012Australia2024-05-15
Jeanfrancois D Waycott1013Germany2024-05-15
Jennifer K Vocelka1014Russia2024-05-04
Silvio E Marrier1015Brazil2024-05-31
Claire H Flosi1016Brazil2024-05-16
David E Foller1017Russia2024-05-25
Ricardo T Paprocki1018Spain2024-05-23
James R Stockham1019France2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan Q PaprockiItalyStephen Shaw RENEWAL
Misaki A ChuiCanadaAnna Fali NEW
Isabel M GauchoBrazilIvan Magalhaes QUALIFIED
Silvio X IturbideUnited KingdomAnna Fali QUALIFIED
Isabel O OldroydBrazilAsiya Javayant RENEWAL
Wickens N MorascaJapanAmy Elsner QUALIFIED
Misaki Q StensethCanadaOnyama Limba UNQUALIFIED
Jennifer D AmigonGermanyElwin Sharvill PROPOSAL
Julie P IturbideFranceAnna Fali NEW
Adams W StensethIndiaAmy Elsner PROPOSAL
Munro W CampainUnited KingdomIoni Bowcher NEGOTIATION
Costa S MacleadAustraliaBernardo Dominic PROPOSAL
Chavez I InouyeIndiaIvan Magalhaes UNQUALIFIED
Maisha Y NickaItalyIoni Bowcher RENEWAL
Leja C VenereRussiaElwin Sharvill UNQUALIFIED
Leon Z AmigonSpainAnna Fali QUALIFIED
Claire T OstroskyIndiaAmy Elsner NEGOTIATION
David R OstroskyAustraliaXuxue Feng PROPOSAL
Stacey I VocelkaSpainOnyama Limba NEGOTIATION
Tony U SaylorsGermanyOnyama Limba RENEWAL
Alejandro E CaldareraBrazilBernardo Dominic NEGOTIATION
Aditya R PoquetteGermanyAsiya Javayant RENEWAL
Munro A GauchoArgentinaBernardo Dominic RENEWAL
Morrow P DarakjyBrazilAsiya Javayant QUALIFIED
Deepesh K StockhamSpainAnna Fali UNQUALIFIED
Claire W WaycottItalyBernardo Dominic NEGOTIATION
Misaki F OstroskyCanadaXuxue Feng UNQUALIFIED
Salvatore G CaldareraSpainElwin Sharvill UNQUALIFIED
Munro R SchemmerBrazilStephen Shaw UNQUALIFIED
Darci N CampainRussiaAmy Elsner NEGOTIATION
Silvio Y OldroydItalyIoni Bowcher NEGOTIATION
Adams O PoquetteCanadaBernardo Dominic NEW
Sinclair F VocelkaGermanyStephen Shaw UNQUALIFIED
James Q MaletIndiaOnyama Limba QUALIFIED
Murillo J NestleIndiaStephen Shaw UNQUALIFIED
Juan N RoysterJapanOnyama Limba PROPOSAL
Jennifer D BowleyGermanyXuxue Feng PROPOSAL
Aruna H ChuiJapanOnyama Limba NEW
Deepesh U GlickAustraliaIoni Bowcher PROPOSAL
Kaitlin N VocelkaItalyIvan Magalhaes 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>