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
Juan E ButtBrazilOnyama Limba QUALIFIED
Wickens G KolmetzIndiaOnyama Limba NEW
Claire V GarufiBrazilOnyama Limba NEGOTIATION
Ashley A MaletJapanIoni Bowcher UNQUALIFIED
Salvatore R SergiBrazilBernardo Dominic UNQUALIFIED
Jennifer H NestleGermanyOnyama Limba PROPOSAL
Arvin N GarufiAustraliaAmy Elsner PROPOSAL
Antonio R ChuiSpainIvan Magalhaes NEGOTIATION
Leja Q KolmetzJapanAsiya Javayant QUALIFIED
Ricardo N RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Morrow N InouyeUnited KingdomIoni Bowcher PROPOSAL
Costa A NickaCanadaOnyama Limba PROPOSAL
Kaitlin O VocelkaFranceAnna Fali RENEWAL
Antonio T CampainBrazilElwin Sharvill UNQUALIFIED
Emily T TollnerFranceElwin Sharvill NEW
Isabel L RoysterFranceElwin Sharvill PROPOSAL
Murillo P OstroskyCanadaAmy Elsner NEGOTIATION
Stacey Y TollnerArgentinaStephen Shaw QUALIFIED
Juan F MacleadArgentinaAsiya Javayant NEGOTIATION
Maisha Z WhobreyAustraliaAsiya Javayant NEW
Aruna W SlusarskiAustraliaAsiya Javayant NEGOTIATION
Aditya W RoysterJapanAnna Fali NEW
Munro Q ButtCanadaXuxue Feng NEGOTIATION
Greenwood C GlickAustraliaAmy Elsner NEGOTIATION
Costa Q WaycottSpainAsiya Javayant RENEWAL
Antonio B FlosiRussiaElwin Sharvill RENEWAL
Leja T DoeUnited KingdomXuxue Feng QUALIFIED
Maisha T BologniaCanadaAnna Fali NEGOTIATION
Jefferson T ShinkoArgentinaAsiya Javayant NEW
Ivar Z DarakjyGermanyStephen Shaw QUALIFIED
Mayumi F BowleyAustraliaAsiya Javayant NEGOTIATION
Misaki K OstroskyIndiaIvan Magalhaes QUALIFIED
Murillo N RoysterJapanAmy Elsner NEW
Costa G GarufiGermanyStephen Shaw PROPOSAL
Julie B StockhamCanadaAnna Fali QUALIFIED
Antonio G CaldareraArgentinaElwin Sharvill NEGOTIATION
Murillo S BowleyGermanyBernardo Dominic RENEWAL
Emily D NickaArgentinaBernardo Dominic PROPOSAL
Julie I FerenczCanadaIvan Magalhaes UNQUALIFIED
Aika K FlosiGermanyStephen Shaw PROPOSAL
Rodrigues Q DilliardGermanyIoni Bowcher RENEWAL
Salvatore F FigeroaBrazilStephen Shaw PROPOSAL
Juan T MacleadAustraliaAmy Elsner NEW
Nicolas M SaylorsCanadaBernardo Dominic NEGOTIATION
James I VenereSpainXuxue Feng UNQUALIFIED
Ivar W AmigonAustraliaStephen Shaw PROPOSAL
Clifford A StockhamJapanAsiya Javayant NEW
Isabel Z CaudySpainXuxue Feng RENEWAL
Jones H PerinCanadaIvan Magalhaes QUALIFIED
Nicolas G WieserUnited KingdomAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood S StensethJapanXuxue Feng PROPOSAL
Jennifer N WhobreyGermanyAnna Fali NEW
Murillo G GillianCanadaIvan Magalhaes QUALIFIED
Salvatore S TollnerBrazilStephen Shaw RENEWAL
Rodrigues X RulapaughFranceElwin Sharvill RENEWAL
Mujtaba P BriddickAustraliaIvan Magalhaes NEW
Tony V KolmetzRussiaOnyama Limba NEGOTIATION
Murillo R IturbideArgentinaAsiya Javayant RENEWAL
Johnson M ChuiArgentinaAmy Elsner RENEWAL
Izzy F MaletGermanyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey H NestleIndia2024-05-28Chapman, Ross E Esq QUALIFIED73Bernardo Dominic
1001Jeanfrancois K OstroskyArgentina2024-06-18Dorl, James J Esq RENEWAL2Xuxue Feng
1002Tony M StensethUnited Kingdom2024-05-30Buckley Miller Wright NEW83Anna Fali
1003Leon S KuskoAustralia2024-06-01Buckley Miller Wright PROPOSAL85Anna Fali
1004Cody U BriddickUnited Kingdom2024-06-09King, Christopher A Esq NEGOTIATION77Bernardo Dominic
1005Rodrigues Q NestleFrance2024-06-19Feltz Printing Service NEGOTIATION59Asiya Javayant
1006Morrow M ButtGermany2024-05-31Rousseaux, Michael Esq UNQUALIFIED3Ioni Bowcher
1007Wickens Z StockhamSpain2024-06-19Chapman, Ross E Esq NEW75Asiya Javayant
1008Stacey E PerinBrazil2024-06-16Dorl, James J Esq NEGOTIATION75Elwin Sharvill
1009David X SchemmerJapan2024-06-20Buckley Miller Wright QUALIFIED49Bernardo Dominic
1010Leja V GlickIndia2024-05-28Buckley Miller Wright PROPOSAL78Ivan Magalhaes
1011Misaki O OstroskyArgentina2024-06-13Chanay, Jeffrey A Esq NEGOTIATION19Anna Fali
1012Aika S ChuiFrance2024-06-22Buckley Miller Wright RENEWAL24Anna Fali
1013Morrow L CaldareraSpain2024-06-03Rousseaux, Michael Esq UNQUALIFIED76Anna Fali
1014Nicolas I CaldareraBrazil2024-06-12Truhlar And Truhlar Attys RENEWAL86Anna Fali
1015James G WhobreyRussia2024-06-18Chapman, Ross E Esq PROPOSAL16Ivan Magalhaes
1016Octavia W SergiJapan2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED25Ivan Magalhaes
1017Sinclair R ButtArgentina2024-05-24Feltz Printing Service UNQUALIFIED81Asiya Javayant
1018Darci J ShinkoBrazil2024-06-09Buckley Miller Wright RENEWAL86Onyama Limba
1019Greenwood W AlbaresArgentina2024-06-22Chemel, James L Cpa PROPOSAL35Onyama Limba
1020Claire K SchemmerFrance2024-05-25Morlong Associates PROPOSAL28Ioni Bowcher
1021Maisha J WaycottArgentina2024-06-04Buckley Miller Wright RENEWAL74Asiya Javayant
1022Kadeem Q CaldareraGermany2024-05-24Morlong Associates NEGOTIATION74Xuxue Feng
1023Emily V PaprockiIndia2024-05-27Printing Dimensions RENEWAL77Xuxue Feng
1024Arvin M WieserIndia2024-06-03Truhlar And Truhlar Attys NEGOTIATION70Anna Fali
1025James L DoeGermany2024-05-30Chemel, James L Cpa NEGOTIATION63Ivan Magalhaes
1026Greenwood Z SergiAustralia2024-06-19Chemel, James L Cpa NEGOTIATION56Xuxue Feng
1027Faith C DarakjyIndia2024-06-17Commercial Press PROPOSAL18Bernardo Dominic
1028Leon R KuskoSpain2024-06-16Morlong Associates NEW44Ioni Bowcher
1029Alejandro U ShinkoSpain2024-05-30Feiner Bros PROPOSAL67Ioni Bowcher
1030Jeanfrancois Y BriddickAustralia2024-05-27Chemel, James L Cpa UNQUALIFIED31Stephen Shaw
1031Leja X SlusarskiCanada2024-06-09Chemel, James L Cpa NEGOTIATION77Xuxue Feng
1032Mujtaba V ChuiSpain2024-06-08Dorl, James J Esq UNQUALIFIED53Stephen Shaw
1033Munro O MorascaJapan2024-06-16Feiner Bros NEW60Onyama Limba
1034Deepesh J GauchoArgentina2024-06-06Chanay, Jeffrey A Esq QUALIFIED36Asiya Javayant
1035Munro R MorascaRussia2024-05-30Benton, John B Jr NEW21Asiya Javayant
1036Chavez G RimUnited Kingdom2024-05-26Commercial Press PROPOSAL51Ioni Bowcher
1037Francesco V OldroydIndia2024-06-16Morlong Associates NEGOTIATION21Elwin Sharvill
1038Ashley N OldroydGermany2024-06-12Morlong Associates RENEWAL87Asiya Javayant
1039Izzy B WieserRussia2024-05-28Rangoni Of Florence NEGOTIATION97Stephen Shaw
1040Maria T BologniaIndia2024-06-02Chemel, James L Cpa QUALIFIED4Elwin Sharvill
1041Nicolas E GillianFrance2024-06-01Printing Dimensions NEW6Bernardo Dominic
1042Aika A MorascaGermany2024-06-19Rousseaux, Michael Esq PROPOSAL26Amy Elsner
1043Stacey V SergiFrance2024-05-26Rousseaux, Michael Esq PROPOSAL97Anna Fali
1044Kadeem J BologniaArgentina2024-05-28Feiner Bros PROPOSAL70Bernardo Dominic
1045Kaitlin S RulapaughArgentina2024-06-22Benton, John B Jr UNQUALIFIED84Amy Elsner
1046Jeanfrancois J VocelkaFrance2024-06-17Chemel, James L Cpa UNQUALIFIED75Asiya Javayant
1047Kaitlin C BologniaItaly2024-06-10Commercial Press PROPOSAL74Amy Elsner
1048Alejandro I SaylorsFrance2024-06-01Commercial Press NEW11Amy Elsner
1049Ricardo J FigeroaJapan2024-06-02Chapman, Ross E Esq QUALIFIED5Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ivar S TollnerItalyElwin Sharvill NEGOTIATION
Izzy B WhobreyArgentinaIvan Magalhaes NEGOTIATION
Murillo U MarrierRussiaBernardo Dominic RENEWAL
Jones S ShinkoUnited KingdomAnna Fali UNQUALIFIED
Francesco A InouyeSpainIoni Bowcher RENEWAL
Costa I KuskoGermanyIoni Bowcher RENEWAL
Leon U BriddickBrazilAsiya Javayant PROPOSAL
Antonio J SchemmerAustraliaAnna Fali NEGOTIATION
Julie M WhobreyArgentinaAsiya Javayant NEW
Kadeem R KolmetzGermanyBernardo Dominic NEGOTIATION
Isabel M SchemmerArgentinaBernardo Dominic QUALIFIED
Murillo N SergiAustraliaElwin Sharvill UNQUALIFIED
Cody E FigeroaCanadaOnyama Limba NEGOTIATION
Stacey T RutaJapanStephen Shaw RENEWAL
Octavia B MaletArgentinaAmy Elsner NEGOTIATION
Nicolas F PerinCanadaAmy Elsner NEW
Mujtaba R BowleySpainOnyama Limba QUALIFIED
Chavez Y RulapaughAustraliaIvan Magalhaes QUALIFIED
Juan E VocelkaSpainOnyama Limba NEGOTIATION
David U FigeroaIndiaAsiya Javayant NEGOTIATION
Ricardo B ChuiIndiaAmy Elsner RENEWAL
Rodrigues I VocelkaUnited KingdomOnyama Limba PROPOSAL
Jones O FollerAustraliaStephen Shaw PROPOSAL
Claire T FigeroaJapanElwin Sharvill PROPOSAL
Sinclair Q DilliardBrazilBernardo Dominic RENEWAL
Aditya Z TollnerItalyIvan Magalhaes UNQUALIFIED
Izzy D FerenczJapanElwin Sharvill NEGOTIATION
Smith S ShinkoCanadaIvan Magalhaes NEGOTIATION
Munro V GillianJapanAsiya Javayant NEGOTIATION
Juan C SchemmerSpainXuxue Feng RENEWAL
Deepesh H GauchoArgentinaElwin Sharvill NEW
Adams O GauchoIndiaIoni Bowcher RENEWAL
Antonio Z OldroydGermanyIvan Magalhaes PROPOSAL
Maisha B MarrierFranceBernardo Dominic PROPOSAL
Octavia F ButtIndiaBernardo Dominic QUALIFIED
Salvatore W OstroskyRussiaBernardo Dominic RENEWAL
Cody P RulapaughGermanyAmy Elsner PROPOSAL
Jones B OldroydIndiaAnna Fali UNQUALIFIED
Tony P WhobreyIndiaXuxue Feng UNQUALIFIED
Octavia M BriddickGermanyAnna Fali UNQUALIFIED
Emily B BriddickItalyStephen Shaw RENEWAL
Adams K FlosiIndiaStephen Shaw UNQUALIFIED
Octavia V PaprockiAustraliaXuxue Feng NEGOTIATION
Sinclair O ShinkoUnited KingdomElwin Sharvill NEW
Smith E SaylorsCanadaIvan Magalhaes NEW
Claire D KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Maria S SlusarskiArgentinaAmy Elsner NEW
Costa R MaletItalyIoni Bowcher UNQUALIFIED
Isabel K SergiItalyAmy Elsner RENEWAL
Antonio N KolmetzCanadaAsiya Javayant QUALIFIED
Frozen Columns
Name
Julie S Nicka
Aditya T Iturbide
Aruna A Paprocki
James F Amigon
Leon I Rim
Antonio Y Iturbide
Adams O Darakjy
Ivar O Chui
Aika L Rulapaugh
Tony X Gillian
Aika B Malet
Mujtaba L Gaucho
Nicolas D Whobrey
Jones W Garufi
Deepesh P Saylors
Maria T Malet
Clifford Q Chui
Antonio L Amigon
Clifford M Morasca
Aika Y Campain
Tony H Royster
Wickens G Whobrey
James Q Ostrosky
Costa I Caudy
Ivar J Slusarski
Salvatore M Figeroa
Claire F Waycott
Maisha J Chui
Jones O Doe
Nicolas X Ruta
Maisha A Slusarski
Kaitlin L Venere
Leja M Iturbide
Darci D Doe
Juan K Glick
Leja L Bowley
Jennifer D Iturbide
James H Ferencz
Greenwood H Bolognia
Antonio S Whobrey
Ashley J Perin
Faith A Rim
Clifford E Darakjy
Claire H Paprocki
Munro O Malet
Munro C Inouye
Sinclair H Garufi
David P Briddick
Emily M Stenseth
Rodrigues I Malet
IdCountryDate
1000Russia2024-05-27
1001Canada2024-06-02
1002Argentina2024-06-15
1003Canada2024-06-08
1004Spain2024-06-04
1005Canada2024-06-14
1006Japan2024-05-27
1007Spain2024-06-19
1008France2024-06-02
1009Spain2024-06-17
1010Australia2024-06-06
1011Spain2024-06-19
1012Russia2024-06-13
1013Russia2024-05-27
1014India2024-06-08
1015United Kingdom2024-05-27
1016India2024-06-10
1017Canada2024-06-21
1018Canada2024-06-15
1019Italy2024-06-16
1020United Kingdom2024-05-28
1021Argentina2024-06-03
1022United Kingdom2024-06-18
1023Brazil2024-05-26
1024Brazil2024-06-10
1025Spain2024-06-20
1026Canada2024-06-08
1027Spain2024-05-27
1028Spain2024-06-02
1029India2024-06-14
1030Canada2024-05-28
1031Japan2024-06-21
1032Argentina2024-05-26
1033United Kingdom2024-06-20
1034India2024-06-14
1035Canada2024-06-22
1036Germany2024-06-17
1037Germany2024-05-29
1038Australia2024-05-25
1039Germany2024-05-30
1040France2024-06-15
1041Italy2024-05-24
1042Canada2024-05-27
1043India2024-06-04
1044Russia2024-06-08
1045Canada2024-06-08
1046Russia2024-06-11
1047Australia2024-05-26
1048Australia2024-06-10
1049Brazil2024-06-04

On-Demand Data

NameIdCountryDate
Arvin N Bolognia1000United Kingdom2024-05-26
Johnson T Rim1001Brazil2024-06-21
Mujtaba T Caldarera1002Argentina2024-06-20
Jennifer P Glick1003Japan2024-06-16
Maisha I Vocelka1004Argentina2024-06-01
Alejandro H Briddick1005India2024-05-29
Aditya K Wieser1006Brazil2024-05-30
Maisha C Vocelka1007Japan2024-05-25
Julie G Bowley1008Argentina2024-06-18
Jennifer M Figeroa1009Russia2024-06-08
Mujtaba M Darakjy1010Germany2024-06-15
Izzy Z Ferencz1011India2024-06-13
Misaki Q Vocelka1012Argentina2024-06-06
Ashley N Iturbide1013Spain2024-06-02
Cody D Morasca1014Russia2024-06-15
Costa W Morasca1015Japan2024-05-24
Mujtaba M Kolmetz1016India2024-06-21
Antonio A Schemmer1017Australia2024-06-10
Clifford O Malet1018Italy2024-06-06
Adams Q Stockham1019Japan2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy A ChuiRussiaAmy Elsner NEGOTIATION
David Y PoquetteArgentinaAnna Fali PROPOSAL
Mujtaba F PerinRussiaStephen Shaw NEW
Deepesh L GillianFranceOnyama Limba QUALIFIED
Murillo V BologniaSpainBernardo Dominic QUALIFIED
Munro O AlbaresUnited KingdomIvan Magalhaes NEW
Ivar M GarufiCanadaStephen Shaw RENEWAL
Costa H SchemmerRussiaStephen Shaw NEGOTIATION
Darci P InouyeSpainIvan Magalhaes RENEWAL
Wickens F WieserUnited KingdomStephen Shaw RENEWAL
Izzy R RulapaughGermanyAnna Fali UNQUALIFIED
Silvio H KuskoUnited KingdomOnyama Limba NEGOTIATION
Emily V GarufiCanadaAmy Elsner UNQUALIFIED
Aruna R BowleyBrazilIvan Magalhaes NEW
Stacey Y PoquetteAustraliaAmy Elsner QUALIFIED
Silvio Q RoysterJapanIvan Magalhaes NEGOTIATION
Kadeem J MacleadRussiaOnyama Limba UNQUALIFIED
James Q CampainGermanyIvan Magalhaes PROPOSAL
James G RoysterArgentinaBernardo Dominic UNQUALIFIED
Leja Y IturbideRussiaAsiya Javayant UNQUALIFIED
Ricardo V ShinkoSpainAnna Fali RENEWAL
Smith O WhobreyFranceAsiya Javayant PROPOSAL
Greenwood V KolmetzItalyBernardo Dominic UNQUALIFIED
Greenwood E NickaItalyStephen Shaw QUALIFIED
Julie N CaudyRussiaAsiya Javayant NEGOTIATION
Maisha U GarufiJapanXuxue Feng RENEWAL
Chavez C RutaSpainIvan Magalhaes QUALIFIED
Clifford N StockhamArgentinaIoni Bowcher UNQUALIFIED
Clifford J WhobreyRussiaIvan Magalhaes NEGOTIATION
Octavia E OstroskyAustraliaAsiya Javayant QUALIFIED
Kadeem K RimBrazilStephen Shaw NEW
Antonio N WhobreyJapanAmy Elsner PROPOSAL
Stacey E BologniaBrazilAsiya Javayant PROPOSAL
Octavia G OstroskyBrazilAmy Elsner RENEWAL
Juan F DoeAustraliaAmy Elsner PROPOSAL
Jennifer W FerenczCanadaAsiya Javayant NEW
Cody E FlosiBrazilOnyama Limba QUALIFIED
Juan G DarakjyAustraliaOnyama Limba UNQUALIFIED
Alejandro Z RutaJapanAmy Elsner RENEWAL
Sinclair Q SlusarskiBrazilElwin Sharvill 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>