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 I VocelkaBrazilOnyama Limba PROPOSAL
Costa G FerenczRussiaBernardo Dominic QUALIFIED
Greenwood W SaylorsArgentinaIvan Magalhaes RENEWAL
Isabel X WaycottGermanyElwin Sharvill UNQUALIFIED
Faith G KolmetzItalyAsiya Javayant QUALIFIED
Ricardo R SergiItalyAmy Elsner PROPOSAL
Aditya S FerenczBrazilAnna Fali UNQUALIFIED
Smith V WhobreyGermanyAsiya Javayant UNQUALIFIED
Ashley P MarrierIndiaBernardo Dominic QUALIFIED
Chavez O KolmetzItalyOnyama Limba UNQUALIFIED
Antonio D DarakjyFranceStephen Shaw RENEWAL
Rodrigues C DoeSpainElwin Sharvill QUALIFIED
Kaitlin C CaldareraBrazilIvan Magalhaes RENEWAL
Leja K MorascaFranceIvan Magalhaes RENEWAL
Faith E NestleItalyAnna Fali NEGOTIATION
Francesco G PerinBrazilXuxue Feng PROPOSAL
Juan L SaylorsBrazilElwin Sharvill PROPOSAL
Arvin S FlosiGermanyStephen Shaw UNQUALIFIED
Adams J BriddickUnited KingdomIoni Bowcher NEGOTIATION
Chavez N SaylorsAustraliaStephen Shaw RENEWAL
Munro Y GillianJapanAsiya Javayant QUALIFIED
Leja Z StockhamBrazilAsiya Javayant RENEWAL
Leon S MacleadIndiaIvan Magalhaes NEGOTIATION
Jones V DarakjyBrazilIvan Magalhaes UNQUALIFIED
Aditya U DilliardRussiaAsiya Javayant NEGOTIATION
Mujtaba D TollnerBrazilXuxue Feng NEGOTIATION
Morrow V MorascaAustraliaAnna Fali QUALIFIED
Aika D SchemmerJapanIoni Bowcher NEGOTIATION
Maria A VenereSpainAnna Fali QUALIFIED
David B AlbaresRussiaStephen Shaw PROPOSAL
Jennifer F CaudySpainAmy Elsner RENEWAL
Kaitlin N CampainBrazilIoni Bowcher NEW
Octavia D PaprockiJapanBernardo Dominic PROPOSAL
Wickens I MaletAustraliaAsiya Javayant NEW
Munro T IturbideSpainXuxue Feng NEW
David Q DarakjyJapanAmy Elsner NEGOTIATION
Jefferson B VocelkaArgentinaStephen Shaw NEW
Jeanfrancois S KolmetzJapanBernardo Dominic NEW
Adams W MarrierGermanyAsiya Javayant NEGOTIATION
Stacey Y PaprockiIndiaStephen Shaw PROPOSAL
Antonio C NickaArgentinaStephen Shaw RENEWAL
Johnson Z RulapaughGermanyAnna Fali PROPOSAL
Munro C BowleyFranceIoni Bowcher PROPOSAL
Darci S OstroskyAustraliaIoni Bowcher NEGOTIATION
Adams W FerenczBrazilAmy Elsner NEW
Aika X DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Jefferson J CampainCanadaIvan Magalhaes PROPOSAL
Jones C VenereArgentinaAsiya Javayant NEW
Kadeem S InouyeGermanyIvan Magalhaes UNQUALIFIED
Octavia O FollerCanadaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jones N SaylorsCanadaIvan Magalhaes PROPOSAL
Arvin O ShinkoRussiaAnna Fali QUALIFIED
Darci T WaycottFranceXuxue Feng PROPOSAL
Chavez V CaldareraFranceBernardo Dominic UNQUALIFIED
Smith M VocelkaSpainElwin Sharvill RENEWAL
Adams C MacleadItalyElwin Sharvill NEGOTIATION
Aditya F GarufiUnited KingdomElwin Sharvill PROPOSAL
Emily A IturbideRussiaXuxue Feng UNQUALIFIED
Murillo Y MarrierSpainAmy Elsner UNQUALIFIED
Ricardo N GlickBrazilXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams P CaudyRussia2024-06-01Feiner Bros RENEWAL40Ioni Bowcher
1001Clifford T DilliardUnited Kingdom2024-06-05Rangoni Of Florence QUALIFIED6Stephen Shaw
1002Maria B CaldareraCanada2024-06-15Chemel, James L Cpa QUALIFIED49Ioni Bowcher
1003Octavia A SchemmerJapan2024-06-18Chapman, Ross E Esq RENEWAL10Ivan Magalhaes
1004Silvio R RoysterJapan2024-05-24Chanay, Jeffrey A Esq NEW46Xuxue Feng
1005Jones U PoquetteBrazil2024-06-20Buckley Miller Wright PROPOSAL90Bernardo Dominic
1006Misaki J KolmetzArgentina2024-06-21Buckley Miller Wright UNQUALIFIED29Ioni Bowcher
1007Mayumi E ButtGermany2024-06-20Rangoni Of Florence PROPOSAL44Ivan Magalhaes
1008Adams T CaudyRussia2024-06-04Chanay, Jeffrey A Esq PROPOSAL39Bernardo Dominic
1009Mujtaba R NickaGermany2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED79Anna Fali
1010Sinclair P ChuiUnited Kingdom2024-06-17Feiner Bros NEW28Xuxue Feng
1011Deepesh S GillianBrazil2024-05-27Feiner Bros NEW43Stephen Shaw
1012Alejandro F CampainArgentina2024-06-17Buckley Miller Wright PROPOSAL73Stephen Shaw
1013Jeanfrancois W GauchoGermany2024-06-09Chapman, Ross E Esq PROPOSAL92Elwin Sharvill
1014Isabel R GlickBrazil2024-06-09Commercial Press NEW32Xuxue Feng
1015Maisha I WhobreyCanada2024-06-01Feltz Printing Service QUALIFIED78Anna Fali
1016Morrow I SergiRussia2024-05-29Chemel, James L Cpa NEW57Stephen Shaw
1017Aruna O CaldareraUnited Kingdom2024-06-11Chapman, Ross E Esq NEGOTIATION94Anna Fali
1018Mayumi K TollnerFrance2024-05-27Dorl, James J Esq RENEWAL35Anna Fali
1019Johnson Q OldroydIndia2024-06-18Chemel, James L Cpa UNQUALIFIED88Ivan Magalhaes
1020Clifford L MaletSpain2024-06-03Chanay, Jeffrey A Esq RENEWAL7Anna Fali
1021Clifford Y KolmetzBrazil2024-06-12Dorl, James J Esq PROPOSAL28Ioni Bowcher
1022James R WieserUnited Kingdom2024-06-12Buckley Miller Wright QUALIFIED59Stephen Shaw
1023Smith S StockhamCanada2024-05-28Truhlar And Truhlar Attys PROPOSAL25Elwin Sharvill
1024Jones J SergiIndia2024-05-24Morlong Associates RENEWAL6Anna Fali
1025Jones Y RutaJapan2024-06-20Rousseaux, Michael Esq PROPOSAL89Amy Elsner
1026Claire W GauchoAustralia2024-06-18Commercial Press RENEWAL96Ivan Magalhaes
1027Adams V CaudyUnited Kingdom2024-06-02Buckley Miller Wright NEW19Bernardo Dominic
1028Juan W FollerUnited Kingdom2024-05-27Feltz Printing Service UNQUALIFIED69Ioni Bowcher
1029Aditya W NickaJapan2024-06-03Rangoni Of Florence PROPOSAL54Anna Fali
1030Aruna C BologniaUnited Kingdom2024-06-22Rousseaux, Michael Esq PROPOSAL9Ivan Magalhaes
1031Darci X FigeroaAustralia2024-05-29Benton, John B Jr UNQUALIFIED43Xuxue Feng
1032Greenwood M InouyeIndia2024-05-25Chapman, Ross E Esq QUALIFIED50Amy Elsner
1033Rodrigues C BologniaAustralia2024-06-21Printing Dimensions NEW65Stephen Shaw
1034Johnson Y MacleadAustralia2024-06-13Rangoni Of Florence NEW87Asiya Javayant
1035Izzy W CaudyRussia2024-06-14Feiner Bros NEGOTIATION66Stephen Shaw
1036David H DarakjySpain2024-06-16Rangoni Of Florence PROPOSAL57Onyama Limba
1037Munro D KolmetzItaly2024-06-11Dorl, James J Esq NEW48Bernardo Dominic
1038Maria J ChuiArgentina2024-06-05Rangoni Of Florence NEGOTIATION26Amy Elsner
1039Costa N MaletUnited Kingdom2024-05-31Benton, John B Jr UNQUALIFIED34Bernardo Dominic
1040Jeanfrancois G NickaJapan2024-06-22Rousseaux, Michael Esq NEGOTIATION35Anna Fali
1041Aika D RulapaughRussia2024-06-15Chanay, Jeffrey A Esq NEW7Ioni Bowcher
1042Julie Y ShinkoJapan2024-06-11Chanay, Jeffrey A Esq RENEWAL69Elwin Sharvill
1043Aika U CaudyUnited Kingdom2024-06-14Chapman, Ross E Esq UNQUALIFIED74Ioni Bowcher
1044Morrow S MorascaRussia2024-05-27Dorl, James J Esq PROPOSAL83Elwin Sharvill
1045Alejandro L MarrierCanada2024-06-06Truhlar And Truhlar Attys NEGOTIATION52Xuxue Feng
1046Maria L FollerSpain2024-06-13Commercial Press NEGOTIATION8Elwin Sharvill
1047Ashley Z SlusarskiIndia2024-06-16Morlong Associates PROPOSAL89Ivan Magalhaes
1048Jefferson S DarakjyJapan2024-05-30King, Christopher A Esq UNQUALIFIED10Xuxue Feng
1049Deepesh Q GarufiRussia2024-05-29Morlong Associates QUALIFIED94Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jefferson B OstroskyFranceIoni Bowcher PROPOSAL
Johnson Q FlosiGermanyElwin Sharvill QUALIFIED
Mujtaba E BriddickSpainXuxue Feng NEGOTIATION
Morrow K KolmetzFranceXuxue Feng QUALIFIED
Nicolas V GlickBrazilOnyama Limba RENEWAL
Jennifer E BriddickItalyStephen Shaw NEW
Ashley L NickaGermanyStephen Shaw PROPOSAL
Adams W BriddickArgentinaStephen Shaw PROPOSAL
Leon D SergiIndiaIoni Bowcher NEW
Wickens Z CaldareraUnited KingdomAsiya Javayant NEW
David V RimItalyIoni Bowcher NEW
Ashley W DilliardRussiaIoni Bowcher QUALIFIED
Deepesh W KolmetzJapanStephen Shaw PROPOSAL
Ashley J BowleyFranceElwin Sharvill NEGOTIATION
Adams A PaprockiRussiaIoni Bowcher QUALIFIED
Johnson Y IturbideJapanElwin Sharvill UNQUALIFIED
Cody B WhobreyCanadaIoni Bowcher UNQUALIFIED
Julie L VocelkaBrazilIoni Bowcher NEW
Salvatore D BologniaUnited KingdomAsiya Javayant NEW
Morrow A FerenczBrazilElwin Sharvill NEW
Arvin G StockhamIndiaIvan Magalhaes NEW
Adams Q PaprockiIndiaStephen Shaw NEW
Faith O BowleyBrazilStephen Shaw UNQUALIFIED
Darci F IturbideUnited KingdomAmy Elsner QUALIFIED
Francesco B SlusarskiGermanyAnna Fali RENEWAL
Misaki M CampainItalyAsiya Javayant NEW
Sinclair U FerenczRussiaBernardo Dominic RENEWAL
Maria R RulapaughCanadaAmy Elsner RENEWAL
Juan T RimSpainBernardo Dominic RENEWAL
Nicolas N SlusarskiGermanyBernardo Dominic UNQUALIFIED
Clifford I KuskoAustraliaIvan Magalhaes NEW
Mujtaba V MaletItalyXuxue Feng NEW
Wickens H RimGermanyAmy Elsner NEW
David H RimAustraliaIoni Bowcher NEGOTIATION
Leon A PerinJapanIvan Magalhaes NEW
Francesco E ButtGermanyIvan Magalhaes PROPOSAL
Julie X VocelkaItalyElwin Sharvill QUALIFIED
Ashley B SergiItalyStephen Shaw NEGOTIATION
Maisha J StensethSpainElwin Sharvill NEGOTIATION
Cody W RimRussiaOnyama Limba NEGOTIATION
Alejandro L DoeSpainAmy Elsner PROPOSAL
Cody E WaycottRussiaOnyama Limba UNQUALIFIED
Ashley A OldroydGermanyAmy Elsner UNQUALIFIED
Adams O GillianSpainIoni Bowcher PROPOSAL
James Y ButtIndiaAnna Fali PROPOSAL
Maisha J FigeroaAustraliaAmy Elsner NEGOTIATION
Sinclair M RutaBrazilStephen Shaw RENEWAL
Sinclair C ChuiSpainIoni Bowcher NEW
Juan K DoeUnited KingdomIvan Magalhaes NEW
Mujtaba L SchemmerAustraliaXuxue Feng NEGOTIATION
Frozen Columns
Name
Izzy M Bowley
Smith N Oldroyd
Maisha J Schemmer
Aruna K Inouye
Greenwood G Marrier
David Y Slusarski
Stacey W Flosi
Octavia H Figeroa
Arvin U Malet
Izzy S Briddick
Faith O Butt
Claire D Flosi
Rodrigues G Nicka
Tony T Garufi
Antonio A Campain
Leon D Slusarski
Kadeem F Stenseth
Sinclair C Tollner
Octavia U Garufi
Munro Z Doe
Alejandro E Malet
Emily D Venere
Isabel Q Briddick
Claire M Figeroa
Emily L Stockham
Wickens K Saylors
Emily G Morasca
Chavez A Gillian
Julie D Rulapaugh
Sinclair R Gillian
Misaki N Oldroyd
Munro F Stenseth
Sinclair L Gillian
Wickens M Inouye
Darci P Inouye
Izzy W Amigon
Emily K Stockham
Chavez V Campain
Leon G Foller
Adams D Butt
Faith P Perin
Aditya R Foller
Jones X Ruta
Ricardo I Maclead
Johnson T Shinko
Jones O Ostrosky
Costa C Caldarera
Mayumi J Venere
Deepesh X Briddick
Alejandro X Gillian
IdCountryDate
1000India2024-06-01
1001Australia2024-06-12
1002Canada2024-06-15
1003Russia2024-05-31
1004Spain2024-06-10
1005Germany2024-06-09
1006Canada2024-05-31
1007Japan2024-06-04
1008Russia2024-05-27
1009Japan2024-06-16
1010Spain2024-06-11
1011Spain2024-06-04
1012France2024-05-29
1013Argentina2024-06-07
1014Argentina2024-06-06
1015United Kingdom2024-06-02
1016Italy2024-05-30
1017Russia2024-06-07
1018Brazil2024-06-18
1019Australia2024-05-28
1020United Kingdom2024-06-15
1021Russia2024-06-15
1022Germany2024-06-11
1023Argentina2024-06-01
1024United Kingdom2024-06-16
1025France2024-05-28
1026Germany2024-06-10
1027Canada2024-06-04
1028Germany2024-05-24
1029Brazil2024-06-22
1030Germany2024-06-10
1031Canada2024-05-29
1032Japan2024-06-17
1033Australia2024-06-03
1034Japan2024-06-09
1035Japan2024-06-21
1036Spain2024-06-10
1037Argentina2024-06-01
1038Italy2024-05-27
1039India2024-06-21
1040Italy2024-06-19
1041Argentina2024-05-30
1042Australia2024-05-31
1043Australia2024-06-14
1044Australia2024-06-08
1045Italy2024-06-01
1046Australia2024-05-29
1047Brazil2024-06-12
1048Italy2024-06-15
1049United Kingdom2024-05-27

On-Demand Data

NameIdCountryDate
Ricardo H Oldroyd1000Spain2024-06-17
Jones C Marrier1001India2024-06-21
Silvio V Royster1002Russia2024-06-03
Murillo Q Whobrey1003India2024-06-04
Misaki Y Chui1004Japan2024-06-17
Ashley X Stenseth1005United Kingdom2024-05-24
Juan W Darakjy1006Germany2024-06-01
Jones F Doe1007France2024-06-13
Chavez J Ferencz1008United Kingdom2024-05-26
Ashley D Schemmer1009Russia2024-05-24
Silvio Y Glick1010Germany2024-06-11
Nicolas S Rim1011Spain2024-06-13
Ashley Q Poquette1012Japan2024-06-07
Mayumi H Sergi1013Germany2024-06-04
Mayumi I Glick1014United Kingdom2024-05-30
James P Inouye1015Russia2024-06-15
Maria L Ostrosky1016United Kingdom2024-06-17
Jones Q Whobrey1017Germany2024-05-28
Mujtaba Q Nestle1018Spain2024-05-24
Isabel F Venere1019Russia2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin X BriddickItalyStephen Shaw UNQUALIFIED
Adams I KuskoArgentinaOnyama Limba PROPOSAL
Juan V SchemmerIndiaAmy Elsner UNQUALIFIED
Morrow H DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore F CampainUnited KingdomAnna Fali PROPOSAL
Rodrigues R RoysterBrazilIvan Magalhaes PROPOSAL
Arvin I MaletIndiaAnna Fali UNQUALIFIED
Leon I StensethCanadaAsiya Javayant NEGOTIATION
Jones T ShinkoFranceIoni Bowcher QUALIFIED
Deepesh I SchemmerItalyOnyama Limba QUALIFIED
Salvatore S PerinJapanAnna Fali UNQUALIFIED
Leja D WieserArgentinaBernardo Dominic NEW
Mayumi K NestleArgentinaIvan Magalhaes UNQUALIFIED
Leon E RutaIndiaBernardo Dominic RENEWAL
Costa E GlickArgentinaBernardo Dominic RENEWAL
Aruna P CaudyArgentinaIvan Magalhaes PROPOSAL
Emily P CampainFranceOnyama Limba UNQUALIFIED
Greenwood S VocelkaFranceIoni Bowcher UNQUALIFIED
Izzy Q TollnerFranceIoni Bowcher PROPOSAL
Alejandro I CaldareraFranceAsiya Javayant NEGOTIATION
Salvatore B RoysterItalyElwin Sharvill QUALIFIED
Sinclair X OldroydAustraliaIoni Bowcher RENEWAL
Claire T WaycottFranceAmy Elsner RENEWAL
Ricardo B KolmetzUnited KingdomAsiya Javayant QUALIFIED
Claire X IturbideUnited KingdomStephen Shaw QUALIFIED
Octavia Z VocelkaFranceIvan Magalhaes RENEWAL
James S PerinCanadaIvan Magalhaes NEGOTIATION
Arvin H FollerFranceAsiya Javayant NEW
Leja B NickaRussiaStephen Shaw UNQUALIFIED
Ivar O ButtUnited KingdomOnyama Limba NEGOTIATION
Aika H ButtCanadaIoni Bowcher QUALIFIED
Morrow N WaycottBrazilAsiya Javayant UNQUALIFIED
Jefferson W GarufiAustraliaIvan Magalhaes UNQUALIFIED
Arvin K OldroydGermanyOnyama Limba PROPOSAL
Arvin L ChuiFranceOnyama Limba NEGOTIATION
Stacey N KolmetzRussiaElwin Sharvill UNQUALIFIED
Costa X WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Claire B MaletFranceIvan Magalhaes PROPOSAL
Aruna O MacleadFranceAmy Elsner QUALIFIED
Morrow R KolmetzJapanIoni Bowcher PROPOSAL

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