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
Arvin X CaldareraBrazilAnna Fali NEW
Stacey C MaletGermanyBernardo Dominic NEGOTIATION
Chavez M GlickIndiaAmy Elsner QUALIFIED
Rodrigues E MaletCanadaStephen Shaw PROPOSAL
Adams Q BowleyIndiaElwin Sharvill NEW
Misaki K RutaJapanAnna Fali PROPOSAL
Munro I RoysterJapanOnyama Limba PROPOSAL
Jeanfrancois G SaylorsBrazilElwin Sharvill QUALIFIED
Faith O DarakjyGermanyAmy Elsner NEW
Tony A RulapaughCanadaAmy Elsner UNQUALIFIED
Clifford P OldroydFranceOnyama Limba NEGOTIATION
Tony K ButtGermanyIvan Magalhaes PROPOSAL
Nicolas Q GauchoCanadaAmy Elsner UNQUALIFIED
Johnson R WhobreyBrazilElwin Sharvill UNQUALIFIED
Murillo L SlusarskiCanadaAsiya Javayant NEGOTIATION
James E CampainItalyBernardo Dominic NEGOTIATION
Jennifer E MaletItalyOnyama Limba NEW
Arvin G NickaBrazilAnna Fali UNQUALIFIED
Mujtaba H ButtCanadaAnna Fali NEW
Ricardo Q PaprockiRussiaXuxue Feng UNQUALIFIED
Maisha R ShinkoRussiaElwin Sharvill RENEWAL
Chavez G OldroydBrazilStephen Shaw PROPOSAL
Rodrigues E TollnerUnited KingdomIvan Magalhaes QUALIFIED
James M RutaArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois O CampainCanadaAnna Fali RENEWAL
Nicolas A PerinItalyIvan Magalhaes QUALIFIED
Emily O VocelkaIndiaXuxue Feng UNQUALIFIED
Murillo I NickaGermanyAnna Fali RENEWAL
Darci R DoeJapanAnna Fali QUALIFIED
Kadeem N PoquetteItalyStephen Shaw PROPOSAL
Aruna X GillianArgentinaAmy Elsner UNQUALIFIED
Aruna D CaudyItalyAnna Fali NEGOTIATION
Tony G ChuiFranceAmy Elsner RENEWAL
Munro T GlickBrazilOnyama Limba PROPOSAL
Wickens I FerenczJapanXuxue Feng NEGOTIATION
Claire M BriddickArgentinaBernardo Dominic NEGOTIATION
Nicolas Q RulapaughCanadaXuxue Feng NEGOTIATION
Aika O OldroydBrazilAnna Fali NEGOTIATION
Johnson Y NickaAustraliaAmy Elsner UNQUALIFIED
Sinclair V GauchoCanadaStephen Shaw NEGOTIATION
Aditya I ChuiSpainElwin Sharvill NEW
Clifford X BowleyBrazilIvan Magalhaes RENEWAL
Johnson H RulapaughAustraliaIoni Bowcher PROPOSAL
Greenwood G PerinUnited KingdomAsiya Javayant UNQUALIFIED
Tony O BowleyFranceXuxue Feng NEGOTIATION
Jeanfrancois G CaldareraAustraliaXuxue Feng NEW
Julie J PoquetteUnited KingdomBernardo Dominic NEW
Tony P KolmetzJapanIvan Magalhaes NEW
Leon E StockhamUnited KingdomAnna Fali NEW
Clifford K GlickFranceOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Greenwood V FerenczGermanyAnna Fali PROPOSAL
Ricardo N RimGermanyAsiya Javayant UNQUALIFIED
Aditya S StensethRussiaOnyama Limba QUALIFIED
Ricardo I DarakjyRussiaOnyama Limba NEGOTIATION
James P MacleadItalyBernardo Dominic QUALIFIED
Kadeem G RimBrazilIvan Magalhaes RENEWAL
Juan V StensethCanadaAmy Elsner NEGOTIATION
Jennifer V PerinIndiaXuxue Feng RENEWAL
Deepesh A BologniaGermanyAmy Elsner PROPOSAL
David C OldroydIndiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci W FlosiBrazil2025-06-14King, Christopher A Esq UNQUALIFIED71Xuxue Feng
1001Francesco T MaletJapan2025-06-11Printing Dimensions UNQUALIFIED92Amy Elsner
1002Ashley S GarufiAustralia2025-06-10Benton, John B Jr PROPOSAL40Asiya Javayant
1003Maria Q RoysterSpain2025-05-26Feltz Printing Service UNQUALIFIED56Ivan Magalhaes
1004Johnson C RutaSpain2025-06-15Feiner Bros RENEWAL74Onyama Limba
1005Salvatore Z TollnerItaly2025-06-14Feiner Bros UNQUALIFIED29Ioni Bowcher
1006Francesco G KuskoIndia2025-05-31Morlong Associates NEGOTIATION69Bernardo Dominic
1007Sinclair F SlusarskiRussia2025-06-15Rousseaux, Michael Esq PROPOSAL10Bernardo Dominic
1008Ivar M NickaIndia2025-06-13Printing Dimensions UNQUALIFIED12Ioni Bowcher
1009Adams F PaprockiCanada2025-06-03Chemel, James L Cpa NEGOTIATION10Amy Elsner
1010Arvin O FerenczBrazil2025-06-16Chanay, Jeffrey A Esq UNQUALIFIED53Stephen Shaw
1011Silvio Y MaletCanada2025-05-31Buckley Miller Wright RENEWAL99Elwin Sharvill
1012Tony G SaylorsCanada2025-06-14Feltz Printing Service NEW41Xuxue Feng
1013Maria Y MarrierBrazil2025-05-19Chapman, Ross E Esq NEGOTIATION88Bernardo Dominic
1014Johnson S CaudyIndia2025-05-21Feiner Bros NEGOTIATION92Elwin Sharvill
1015Aditya L KolmetzCanada2025-06-11Morlong Associates PROPOSAL35Ioni Bowcher
1016Silvio Y CaldareraRussia2025-05-18Benton, John B Jr PROPOSAL71Stephen Shaw
1017Kaitlin H AlbaresAustralia2025-06-10Rousseaux, Michael Esq RENEWAL69Ioni Bowcher
1018Jeanfrancois A FerenczAustralia2025-06-15Chanay, Jeffrey A Esq NEW55Ioni Bowcher
1019Octavia K RimRussia2025-05-20Morlong Associates PROPOSAL80Elwin Sharvill
1020Salvatore H SergiFrance2025-06-10Commercial Press NEW34Asiya Javayant
1021Deepesh B DarakjySpain2025-06-13Feltz Printing Service NEW81Stephen Shaw
1022Jones W ShinkoSpain2025-05-30Benton, John B Jr NEGOTIATION63Stephen Shaw
1023Darci M IturbideBrazil2025-06-13Morlong Associates NEGOTIATION45Stephen Shaw
1024Nicolas I PoquetteArgentina2025-05-22Rousseaux, Michael Esq UNQUALIFIED17Ioni Bowcher
1025Stacey F ChuiAustralia2025-06-13Rousseaux, Michael Esq QUALIFIED36Amy Elsner
1026Emily C NickaAustralia2025-05-26Chemel, James L Cpa NEGOTIATION29Xuxue Feng
1027Wickens G MaletSpain2025-06-02Commercial Press UNQUALIFIED58Ioni Bowcher
1028James D OstroskyFrance2025-06-01King, Christopher A Esq NEGOTIATION68Amy Elsner
1029Maria M VenereUnited Kingdom2025-05-24Dorl, James J Esq RENEWAL71Onyama Limba
1030Nicolas P KuskoAustralia2025-05-20Printing Dimensions QUALIFIED66Anna Fali
1031Maria W DarakjyUnited Kingdom2025-05-30Commercial Press RENEWAL23Stephen Shaw
1032Isabel K IturbideIndia2025-05-24Feltz Printing Service PROPOSAL45Asiya Javayant
1033Smith J RimUnited Kingdom2025-05-30Morlong Associates NEGOTIATION66Xuxue Feng
1034Jeanfrancois Y CaudyArgentina2025-05-24Morlong Associates NEGOTIATION11Bernardo Dominic
1035Kaitlin C InouyeUnited Kingdom2025-06-06Morlong Associates QUALIFIED89Elwin Sharvill
1036Isabel H ShinkoAustralia2025-05-26Buckley Miller Wright RENEWAL32Stephen Shaw
1037Faith Q NickaBrazil2025-06-14Chapman, Ross E Esq QUALIFIED88Asiya Javayant
1038Aditya P GillianBrazil2025-06-04Feiner Bros UNQUALIFIED40Elwin Sharvill
1039Murillo X MaletAustralia2025-05-30Printing Dimensions QUALIFIED93Asiya Javayant
1040Ricardo B MorascaBrazil2025-06-11Benton, John B Jr NEW44Amy Elsner
1041Francesco O NickaFrance2025-06-02Chapman, Ross E Esq QUALIFIED7Stephen Shaw
1042Emily C CaldareraSpain2025-05-23Chanay, Jeffrey A Esq NEW85Ivan Magalhaes
1043Octavia X WhobreyAustralia2025-06-06Morlong Associates QUALIFIED2Onyama Limba
1044Wickens R ButtJapan2025-06-05Feiner Bros RENEWAL17Amy Elsner
1045Adams P TollnerJapan2025-06-13Commercial Press UNQUALIFIED10Asiya Javayant
1046Octavia Y FerenczRussia2025-06-07Rousseaux, Michael Esq NEW25Anna Fali
1047Darci O OstroskyFrance2025-05-21Feltz Printing Service QUALIFIED5Elwin Sharvill
1048Leon B MarrierRussia2025-05-21Commercial Press RENEWAL44Anna Fali
1049Maria W StockhamCanada2025-05-20Chapman, Ross E Esq PROPOSAL93Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford W OstroskyJapanAmy Elsner NEGOTIATION
Murillo O SaylorsArgentinaIoni Bowcher NEGOTIATION
Adams A KolmetzSpainAsiya Javayant UNQUALIFIED
Deepesh R GlickIndiaStephen Shaw NEW
Sinclair X GillianSpainBernardo Dominic UNQUALIFIED
Nicolas B ShinkoCanadaIoni Bowcher NEGOTIATION
Smith O NickaAustraliaElwin Sharvill UNQUALIFIED
Wickens O CaudyCanadaOnyama Limba QUALIFIED
Emily X PaprockiFranceAsiya Javayant NEGOTIATION
Kaitlin L BowleyUnited KingdomIvan Magalhaes PROPOSAL
Stacey U CampainArgentinaBernardo Dominic RENEWAL
Antonio F ChuiUnited KingdomAmy Elsner QUALIFIED
Salvatore J StockhamItalyBernardo Dominic RENEWAL
Kadeem G GillianRussiaIoni Bowcher RENEWAL
Kaitlin T PaprockiSpainBernardo Dominic QUALIFIED
Claire I MaletRussiaIoni Bowcher NEW
Izzy E FollerJapanStephen Shaw NEGOTIATION
Morrow U ChuiAustraliaIvan Magalhaes NEGOTIATION
David X FigeroaArgentinaOnyama Limba NEW
Greenwood Z KuskoUnited KingdomStephen Shaw QUALIFIED
Darci V TollnerFranceXuxue Feng UNQUALIFIED
Kaitlin Z OstroskyItalyAmy Elsner RENEWAL
Ivar A CaldareraJapanAmy Elsner NEGOTIATION
Mayumi M ShinkoItalyAsiya Javayant UNQUALIFIED
David Z WaycottRussiaAnna Fali NEGOTIATION
Arvin A SlusarskiFranceIvan Magalhaes RENEWAL
Maisha N DoeIndiaIoni Bowcher RENEWAL
Aruna L KuskoArgentinaIoni Bowcher QUALIFIED
Mujtaba S StockhamGermanyXuxue Feng QUALIFIED
Francesco E WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Chavez J RoysterAustraliaOnyama Limba PROPOSAL
James A FollerFranceElwin Sharvill NEGOTIATION
Johnson U MarrierUnited KingdomIoni Bowcher PROPOSAL
Salvatore Z KuskoGermanyElwin Sharvill UNQUALIFIED
Mujtaba V RoysterFranceIvan Magalhaes QUALIFIED
Octavia T VocelkaFranceAnna Fali UNQUALIFIED
Arvin K SergiArgentinaBernardo Dominic UNQUALIFIED
Alejandro Y BowleyGermanyStephen Shaw NEW
Misaki P VocelkaAustraliaXuxue Feng NEGOTIATION
Misaki Z WaycottUnited KingdomXuxue Feng NEGOTIATION
Misaki Z DoeSpainIoni Bowcher NEGOTIATION
Mujtaba S GauchoIndiaXuxue Feng UNQUALIFIED
Emily O RutaCanadaXuxue Feng UNQUALIFIED
Ricardo T ChuiBrazilIoni Bowcher QUALIFIED
Aditya F CampainUnited KingdomElwin Sharvill RENEWAL
Mayumi D PoquetteGermanyElwin Sharvill QUALIFIED
Silvio O BriddickSpainAsiya Javayant UNQUALIFIED
Leja B WieserUnited KingdomXuxue Feng NEGOTIATION
Aika N CampainFranceXuxue Feng QUALIFIED
Sinclair U OstroskyAustraliaAsiya Javayant QUALIFIED
Frozen Columns
Name
Munro N Stockham
Clifford P Bolognia
Isabel S Saylors
Cody K Albares
Rodrigues Q Royster
Adams S Garufi
Greenwood Z Waycott
Smith Y Gillian
Antonio D Tollner
Sinclair Z Whobrey
Mayumi H Bowley
Clifford P Saylors
Leja I Malet
Izzy S Slusarski
Faith W Gillian
Jennifer Z Wieser
Juan S Ferencz
Ricardo S Briddick
Aditya W Ostrosky
Ricardo P Wieser
Murillo V Albares
Emily R Albares
Antonio V Saylors
Jennifer Q Foller
Smith M Bowley
Jennifer Q Schemmer
Antonio A Maclead
Stacey A Shinko
Kadeem S Marrier
Faith H Rulapaugh
Faith P Figeroa
Johnson I Chui
Sinclair G Ferencz
Jefferson R Ostrosky
Mayumi V Morasca
Greenwood D Saylors
Aika L Inouye
Clifford H Perin
Francesco P Nicka
Deepesh K Dilliard
Isabel L Tollner
Aruna G Stenseth
Greenwood E Inouye
Aditya V Caudy
Faith R Morasca
Smith O Iturbide
Chavez W Bowley
James F Amigon
Aruna C Iturbide
Murillo P Tollner
IdCountryDate
1000Brazil2025-06-01
1001Argentina2025-06-03
1002Italy2025-05-25
1003France2025-05-29
1004Australia2025-05-26
1005Russia2025-06-16
1006Canada2025-05-20
1007Spain2025-06-13
1008Canada2025-05-19
1009Argentina2025-06-08
1010Canada2025-06-12
1011Spain2025-06-08
1012Italy2025-06-07
1013Japan2025-05-21
1014India2025-05-30
1015Brazil2025-05-25
1016Australia2025-06-15
1017Russia2025-05-19
1018Brazil2025-05-23
1019Australia2025-05-29
1020France2025-06-06
1021Brazil2025-06-01
1022Spain2025-06-13
1023Russia2025-05-29
1024Japan2025-06-03
1025Spain2025-06-08
1026Canada2025-06-03
1027Argentina2025-05-23
1028France2025-06-14
1029Brazil2025-06-03
1030Spain2025-06-13
1031Spain2025-06-05
1032Japan2025-05-21
1033United Kingdom2025-05-27
1034France2025-06-09
1035Canada2025-05-30
1036Australia2025-06-14
1037Japan2025-06-01
1038Brazil2025-06-12
1039Argentina2025-05-29
1040Australia2025-05-25
1041Brazil2025-06-03
1042Japan2025-06-07
1043Japan2025-05-21
1044India2025-05-30
1045Japan2025-06-13
1046Spain2025-06-13
1047Japan2025-05-31
1048Spain2025-05-25
1049Brazil2025-06-08

On-Demand Data

NameIdCountryDate
Jeanfrancois H Amigon1000India2025-06-10
Adams S Albares1001Russia2025-06-16
Ivar R Kusko1002Spain2025-05-18
Sinclair A Ferencz1003Japan2025-05-29
Octavia E Kusko1004Japan2025-05-19
Tony C Saylors1005Canada2025-06-02
Aditya V Waycott1006United Kingdom2025-05-18
Rodrigues Y Shinko1007Brazil2025-06-09
Faith T Royster1008Argentina2025-06-11
Jones Q Vocelka1009Russia2025-06-01
Clifford F Albares1010Italy2025-05-30
Leon N Inouye1011Japan2025-05-24
Deepesh L Nicka1012Germany2025-06-15
Tony Q Morasca1013Spain2025-06-15
Morrow P Morasca1014Japan2025-05-30
Stacey J Caudy1015India2025-06-12
Stacey F Nicka1016Argentina2025-05-24
Maria F Flosi1017France2025-05-19
Ricardo B Caudy1018France2025-05-21
Wickens C Kolmetz1019Brazil2025-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon D FigeroaArgentinaStephen Shaw NEW
Chavez D OldroydAustraliaBernardo Dominic NEGOTIATION
Aruna X FollerFranceStephen Shaw PROPOSAL
Ashley G MarrierItalyXuxue Feng RENEWAL
Salvatore H TollnerCanadaAsiya Javayant UNQUALIFIED
Isabel Q AlbaresGermanyIoni Bowcher NEGOTIATION
Jones H FollerJapanIvan Magalhaes QUALIFIED
James H SergiIndiaIvan Magalhaes PROPOSAL
Adams L CaudyIndiaOnyama Limba PROPOSAL
Tony W BowleySpainIvan Magalhaes QUALIFIED
Greenwood H MacleadSpainAnna Fali NEGOTIATION
Jones I WaycottFranceBernardo Dominic NEGOTIATION
Jennifer X PoquetteCanadaBernardo Dominic NEW
Wickens X MorascaJapanBernardo Dominic NEGOTIATION
Clifford R VenereUnited KingdomOnyama Limba PROPOSAL
Izzy A MarrierItalyBernardo Dominic QUALIFIED
Isabel L DarakjyGermanyElwin Sharvill UNQUALIFIED
Mujtaba Y GillianGermanyStephen Shaw PROPOSAL
James I KolmetzJapanElwin Sharvill PROPOSAL
Maisha F MarrierItalyBernardo Dominic UNQUALIFIED
Maria K KolmetzRussiaXuxue Feng NEW
Misaki D KuskoFranceIoni Bowcher PROPOSAL
Izzy X SlusarskiJapanBernardo Dominic UNQUALIFIED
Rodrigues A GauchoUnited KingdomAnna Fali PROPOSAL
Ashley J SaylorsCanadaIoni Bowcher RENEWAL
Costa L CampainAustraliaAnna Fali QUALIFIED
Aika N MarrierFranceElwin Sharvill PROPOSAL
Arvin Q RimSpainIoni Bowcher PROPOSAL
Izzy L PaprockiCanadaElwin Sharvill PROPOSAL
Maisha R GarufiRussiaAnna Fali NEGOTIATION
Stacey Z FollerFranceAmy Elsner NEGOTIATION
Jones C SergiIndiaStephen Shaw PROPOSAL
Munro Z StensethCanadaStephen Shaw UNQUALIFIED
Wickens S SergiFranceElwin Sharvill QUALIFIED
Murillo N FerenczFranceAmy Elsner RENEWAL
Stacey R StensethIndiaAsiya Javayant NEGOTIATION
Adams Z DilliardIndiaAsiya Javayant UNQUALIFIED
Darci A MaletFranceIvan Magalhaes NEGOTIATION
Aruna Q VenereAustraliaStephen Shaw UNQUALIFIED
Jones B GarufiGermanyAsiya Javayant NEGOTIATION

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