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
Deepesh I DarakjyArgentinaAnna Fali QUALIFIED
Smith U ButtBrazilIoni Bowcher QUALIFIED
Antonio X RimUnited KingdomOnyama Limba NEW
Stacey F RoysterCanadaAsiya Javayant UNQUALIFIED
Isabel I AmigonFranceIoni Bowcher QUALIFIED
Julie H CampainArgentinaXuxue Feng QUALIFIED
Greenwood Z PaprockiGermanyAsiya Javayant PROPOSAL
Darci Q DilliardItalyStephen Shaw QUALIFIED
Mayumi W OldroydGermanyAsiya Javayant RENEWAL
Izzy V CaldareraGermanyXuxue Feng PROPOSAL
Misaki E FollerRussiaAmy Elsner NEW
Isabel S ShinkoBrazilAnna Fali PROPOSAL
Aruna F MorascaFranceBernardo Dominic QUALIFIED
Francesco G VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Arvin Y PaprockiIndiaStephen Shaw RENEWAL
Leja N OldroydIndiaIvan Magalhaes UNQUALIFIED
Isabel R AmigonBrazilAsiya Javayant NEW
Nicolas M VocelkaJapanIvan Magalhaes QUALIFIED
Jennifer J MorascaRussiaAmy Elsner PROPOSAL
Rodrigues W OldroydArgentinaStephen Shaw UNQUALIFIED
Darci O GauchoRussiaElwin Sharvill UNQUALIFIED
Francesco D FollerIndiaAnna Fali PROPOSAL
Arvin T KuskoGermanyAmy Elsner NEGOTIATION
Leja J GillianUnited KingdomStephen Shaw NEW
Stacey R FigeroaItalyAmy Elsner NEW
Morrow W NestleAustraliaAnna Fali NEGOTIATION
Leon Z CaldareraIndiaIoni Bowcher PROPOSAL
Ashley F WhobreyJapanBernardo Dominic NEW
Jefferson C MorascaItalyElwin Sharvill RENEWAL
Claire M RulapaughItalyStephen Shaw NEW
David C DilliardGermanyAmy Elsner UNQUALIFIED
Aditya L InouyeIndiaBernardo Dominic NEW
Isabel O StockhamUnited KingdomElwin Sharvill NEW
Adams M ButtGermanyXuxue Feng PROPOSAL
Alejandro T CaudyGermanyAsiya Javayant RENEWAL
Jennifer J SaylorsGermanyBernardo Dominic QUALIFIED
Antonio J GlickFranceXuxue Feng QUALIFIED
Mayumi B FerenczAustraliaStephen Shaw QUALIFIED
David S PaprockiAustraliaIoni Bowcher NEGOTIATION
Kadeem X ChuiIndiaElwin Sharvill PROPOSAL
Sinclair S WieserFranceStephen Shaw RENEWAL
Kaitlin W GlickUnited KingdomOnyama Limba NEW
Silvio J GillianBrazilElwin Sharvill UNQUALIFIED
Smith Q WieserCanadaIoni Bowcher QUALIFIED
Tony C ButtArgentinaStephen Shaw UNQUALIFIED
Aditya P RoysterSpainAmy Elsner UNQUALIFIED
Leon K KolmetzArgentinaOnyama Limba PROPOSAL
Silvio R BowleyCanadaBernardo Dominic UNQUALIFIED
Smith E VenereSpainBernardo Dominic RENEWAL
Juan E BriddickAustraliaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily J GlickFranceStephen Shaw NEW
Ashley L DarakjyArgentinaXuxue Feng PROPOSAL
Kaitlin O WhobreyArgentinaOnyama Limba NEW
Smith V AlbaresItalyAnna Fali PROPOSAL
Tony R GauchoSpainBernardo Dominic QUALIFIED
Darci Y PaprockiIndiaBernardo Dominic PROPOSAL
Ricardo Q DarakjyAustraliaOnyama Limba PROPOSAL
Stacey N GlickIndiaBernardo Dominic NEW
Alejandro C GarufiItalyXuxue Feng PROPOSAL
Chavez S OstroskyCanadaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia Z SchemmerIndia2025-04-04Feltz Printing Service NEGOTIATION68Stephen Shaw
1001Claire Q SaylorsAustralia2025-05-01Truhlar And Truhlar Attys QUALIFIED50Ioni Bowcher
1002Rodrigues C CaudyIndia2025-04-28Chapman, Ross E Esq QUALIFIED54Stephen Shaw
1003Wickens Z IturbideFrance2025-04-26Benton, John B Jr NEGOTIATION37Stephen Shaw
1004Jones B CampainAustralia2025-04-05Commercial Press QUALIFIED87Elwin Sharvill
1005Sinclair Q GlickRussia2025-05-01Commercial Press QUALIFIED74Stephen Shaw
1006Murillo A MaletFrance2025-04-10Printing Dimensions RENEWAL87Elwin Sharvill
1007Stacey S FigeroaSpain2025-04-25Truhlar And Truhlar Attys NEW54Amy Elsner
1008Silvio P AmigonJapan2025-04-16Dorl, James J Esq NEW0Anna Fali
1009Isabel W GlickGermany2025-04-09Dorl, James J Esq QUALIFIED55Amy Elsner
1010James O DilliardItaly2025-04-28Printing Dimensions RENEWAL55Xuxue Feng
1011Emily N RutaJapan2025-04-30Buckley Miller Wright UNQUALIFIED10Elwin Sharvill
1012Aditya W SlusarskiSpain2025-04-29Feltz Printing Service QUALIFIED93Onyama Limba
1013Cody R VocelkaUnited Kingdom2025-04-28Feiner Bros NEGOTIATION57Anna Fali
1014Tony A PaprockiIndia2025-04-14Buckley Miller Wright NEGOTIATION99Amy Elsner
1015Munro G GauchoSpain2025-04-26Morlong Associates NEW78Asiya Javayant
1016Smith F CaldareraArgentina2025-04-20Chanay, Jeffrey A Esq RENEWAL40Onyama Limba
1017Juan P MaletItaly2025-04-20Chapman, Ross E Esq QUALIFIED5Bernardo Dominic
1018Aruna S RoysterCanada2025-04-28Rangoni Of Florence NEW9Amy Elsner
1019Julie U MorascaFrance2025-04-06King, Christopher A Esq RENEWAL73Amy Elsner
1020Ricardo P BriddickJapan2025-04-27Feiner Bros RENEWAL76Stephen Shaw
1021Silvio A SlusarskiIndia2025-05-01Chapman, Ross E Esq NEW16Stephen Shaw
1022Isabel N WhobreyUnited Kingdom2025-04-06Chanay, Jeffrey A Esq NEGOTIATION52Stephen Shaw
1023Kadeem L CaldareraAustralia2025-04-28King, Christopher A Esq UNQUALIFIED22Ioni Bowcher
1024Claire T MacleadIndia2025-04-03Chapman, Ross E Esq UNQUALIFIED66Ivan Magalhaes
1025Antonio W GlickGermany2025-04-30Truhlar And Truhlar Attys RENEWAL86Stephen Shaw
1026Mujtaba G RulapaughCanada2025-04-22Rangoni Of Florence UNQUALIFIED99Stephen Shaw
1027Adams Y IturbideItaly2025-04-23Chapman, Ross E Esq NEGOTIATION28Elwin Sharvill
1028Murillo C StockhamFrance2025-04-22King, Christopher A Esq UNQUALIFIED2Stephen Shaw
1029Morrow X OldroydBrazil2025-04-03Commercial Press UNQUALIFIED57Onyama Limba
1030Smith N MaletAustralia2025-04-07Truhlar And Truhlar Attys UNQUALIFIED41Xuxue Feng
1031Murillo P PoquetteBrazil2025-04-27Feltz Printing Service PROPOSAL42Bernardo Dominic
1032Francesco E ShinkoSpain2025-04-15Commercial Press NEW37Asiya Javayant
1033Emily B MaletAustralia2025-04-14King, Christopher A Esq NEGOTIATION2Ivan Magalhaes
1034Nicolas A WaycottGermany2025-04-23Morlong Associates NEGOTIATION32Bernardo Dominic
1035Silvio Y WhobreyUnited Kingdom2025-04-26Chemel, James L Cpa NEGOTIATION33Ioni Bowcher
1036Clifford S BowleyArgentina2025-04-02King, Christopher A Esq NEGOTIATION74Amy Elsner
1037Morrow G GillianIndia2025-04-18Chanay, Jeffrey A Esq QUALIFIED44Bernardo Dominic
1038Chavez A CaudyCanada2025-04-20Printing Dimensions NEGOTIATION59Anna Fali
1039Francesco C GarufiRussia2025-04-20Truhlar And Truhlar Attys UNQUALIFIED44Elwin Sharvill
1040Silvio U KolmetzGermany2025-04-06Commercial Press UNQUALIFIED98Stephen Shaw
1041Claire D ButtCanada2025-04-15Rousseaux, Michael Esq UNQUALIFIED71Ioni Bowcher
1042Stacey H CampainBrazil2025-04-27Feltz Printing Service PROPOSAL5Amy Elsner
1043Jennifer X KolmetzUnited Kingdom2025-04-28Morlong Associates NEW8Ivan Magalhaes
1044Juan V OldroydSpain2025-04-08Chanay, Jeffrey A Esq PROPOSAL67Elwin Sharvill
1045Aika T InouyeUnited Kingdom2025-04-28Feiner Bros NEW1Xuxue Feng
1046Kadeem S KolmetzAustralia2025-04-29Morlong Associates UNQUALIFIED56Xuxue Feng
1047Ivar P OldroydBrazil2025-04-15Commercial Press NEGOTIATION17Stephen Shaw
1048Maisha F StockhamBrazil2025-04-26Feiner Bros NEW10Xuxue Feng
1049Maria H MarrierBrazil2025-04-22King, Christopher A Esq RENEWAL34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin U SchemmerRussiaIvan Magalhaes PROPOSAL
Ricardo B PoquetteUnited KingdomStephen Shaw RENEWAL
Greenwood X ChuiFranceXuxue Feng RENEWAL
Greenwood H TollnerGermanyElwin Sharvill PROPOSAL
Murillo M OldroydFranceStephen Shaw NEGOTIATION
Arvin H TollnerCanadaStephen Shaw QUALIFIED
Jones P MaletJapanStephen Shaw UNQUALIFIED
Izzy Y GauchoSpainBernardo Dominic NEW
Jefferson T DoeGermanyStephen Shaw RENEWAL
Aruna G TollnerGermanyOnyama Limba RENEWAL
Smith N CaldareraBrazilIoni Bowcher NEGOTIATION
Octavia X GarufiArgentinaAnna Fali PROPOSAL
Isabel V VenereAustraliaAsiya Javayant NEGOTIATION
Claire S MarrierCanadaAmy Elsner NEGOTIATION
Maisha N GillianIndiaIoni Bowcher PROPOSAL
Tony Y SlusarskiUnited KingdomAnna Fali QUALIFIED
Leja E NestleGermanyAmy Elsner NEW
Arvin J SaylorsIndiaStephen Shaw UNQUALIFIED
Morrow U MorascaSpainAmy Elsner UNQUALIFIED
Sinclair Q SaylorsUnited KingdomBernardo Dominic RENEWAL
Francesco H SaylorsIndiaAmy Elsner RENEWAL
Ashley Z OstroskyCanadaIvan Magalhaes NEW
Stacey C CaudyAustraliaIoni Bowcher QUALIFIED
Clifford T StensethFranceXuxue Feng NEW
Munro U CaudyJapanStephen Shaw QUALIFIED
Greenwood A CampainAustraliaIoni Bowcher NEGOTIATION
Izzy K ButtAustraliaElwin Sharvill RENEWAL
Jones S VenereCanadaStephen Shaw UNQUALIFIED
Sinclair E KolmetzSpainAnna Fali NEGOTIATION
Faith M PoquetteGermanyXuxue Feng PROPOSAL
Julie H WhobreyIndiaOnyama Limba PROPOSAL
Jefferson Z RimItalyXuxue Feng UNQUALIFIED
Stacey L StensethCanadaIvan Magalhaes NEW
Morrow E VenereJapanAsiya Javayant PROPOSAL
Nicolas L TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Aditya R MaletArgentinaAmy Elsner RENEWAL
Rodrigues J NickaRussiaAsiya Javayant PROPOSAL
Leon L StockhamUnited KingdomElwin Sharvill NEW
Mayumi Z SlusarskiItalyIvan Magalhaes PROPOSAL
Greenwood F SchemmerArgentinaAsiya Javayant PROPOSAL
Adams E FlosiSpainAmy Elsner RENEWAL
Ivar K PoquetteBrazilIvan Magalhaes PROPOSAL
Leja J MaletIndiaOnyama Limba PROPOSAL
Aika H CaudyCanadaStephen Shaw RENEWAL
Kadeem O RoysterRussiaStephen Shaw UNQUALIFIED
Nicolas D CaudyArgentinaBernardo Dominic NEGOTIATION
Leon D MaletArgentinaAmy Elsner NEW
Deepesh H WieserSpainAsiya Javayant UNQUALIFIED
Silvio W MorascaIndiaOnyama Limba NEW
Faith G CampainCanadaAsiya Javayant QUALIFIED
Frozen Columns
Name
Smith I Kolmetz
Jones Q Ruta
Juan W Bolognia
Wickens U Amigon
Leon F Sergi
Faith F Waycott
Jennifer L Marrier
Mujtaba R Inouye
Adams V Briddick
Jeanfrancois J Sergi
Salvatore F Vocelka
Kaitlin V Briddick
Juan K Rulapaugh
Ashley J Saylors
Tony E Malet
Cody G Shinko
Misaki W Venere
Munro S Kusko
Mujtaba L Perin
Clifford G Whobrey
Costa Y Wieser
Leja P Chui
Maisha G Rulapaugh
Maisha Q Vocelka
Jefferson X Amigon
Mayumi Y Morasca
Julie W Stockham
Izzy X Slusarski
Maria D Rim
Octavia R Garufi
Morrow G Amigon
Ashley O Inouye
Antonio V Kolmetz
Francesco N Gillian
Faith A Kusko
Murillo K Doe
Greenwood H Stenseth
Tony S Iturbide
Smith I Ostrosky
Ricardo A Rulapaugh
Rodrigues K Perin
Maria P Campain
Isabel Y Glick
Maria M Shinko
Nicolas L Malet
Mayumi I Ferencz
Ashley E Perin
Jefferson S Doe
Francesco H Rulapaugh
Misaki W Flosi
IdCountryDate
1000Italy2025-04-22
1001Brazil2025-04-23
1002Germany2025-04-15
1003Germany2025-05-01
1004Argentina2025-04-25
1005Italy2025-04-09
1006Brazil2025-04-30
1007India2025-04-03
1008Germany2025-04-25
1009France2025-04-05
1010Canada2025-04-18
1011Canada2025-04-05
1012Italy2025-04-08
1013United Kingdom2025-04-29
1014Russia2025-04-26
1015France2025-04-27
1016Japan2025-04-18
1017United Kingdom2025-04-13
1018India2025-04-10
1019India2025-04-20
1020France2025-04-20
1021Brazil2025-04-27
1022Brazil2025-04-20
1023Germany2025-04-05
1024Spain2025-04-04
1025Germany2025-04-22
1026India2025-04-27
1027Spain2025-04-25
1028Spain2025-04-18
1029Brazil2025-04-08
1030France2025-04-12
1031Germany2025-04-13
1032Germany2025-04-02
1033Australia2025-04-24
1034Japan2025-04-07
1035India2025-04-14
1036Germany2025-04-09
1037Spain2025-04-28
1038Japan2025-04-05
1039Argentina2025-04-27
1040Russia2025-04-12
1041Italy2025-04-02
1042Spain2025-04-27
1043India2025-04-27
1044Russia2025-04-20
1045Japan2025-04-24
1046Brazil2025-04-17
1047Germany2025-04-26
1048France2025-04-18
1049India2025-04-16

On-Demand Data

NameIdCountryDate
Sinclair K Malet1000Canada2025-04-02
Clifford P Paprocki1001Canada2025-04-19
Leja Q Malet1002Spain2025-04-18
Darci T Doe1003United Kingdom2025-04-08
Kaitlin L Doe1004Brazil2025-04-13
Ashley V Darakjy1005France2025-04-16
Chavez K Stenseth1006United Kingdom2025-04-12
Tony Z Maclead1007Russia2025-04-11
Alejandro T Maclead1008Canada2025-04-12
Greenwood Z Chui1009Argentina2025-04-24
Darci D Gaucho1010Canada2025-04-06
Octavia M Waycott1011Canada2025-04-18
Ricardo N Darakjy1012Germany2025-04-28
Nicolas X Saylors1013Canada2025-04-17
Arvin O Malet1014Russia2025-04-26
Chavez I Ruta1015Canada2025-04-19
Alejandro E Figeroa1016France2025-04-26
Rodrigues Q Nicka1017Japan2025-04-07
Cody K Saylors1018Italy2025-04-07
David Y Venere1019India2025-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro D StensethArgentinaIoni Bowcher UNQUALIFIED
Jennifer O CaudyRussiaAnna Fali NEW
Cody V GillianAustraliaIoni Bowcher NEGOTIATION
Nicolas Y KuskoBrazilOnyama Limba UNQUALIFIED
Murillo L SchemmerJapanBernardo Dominic UNQUALIFIED
Izzy I MaletUnited KingdomOnyama Limba NEW
James I VocelkaAustraliaAmy Elsner RENEWAL
Cody H KuskoFranceXuxue Feng UNQUALIFIED
Faith U FerenczJapanIoni Bowcher QUALIFIED
Greenwood Y MaletRussiaElwin Sharvill NEW
Jeanfrancois H DilliardIndiaAsiya Javayant NEGOTIATION
Chavez I FerenczGermanyElwin Sharvill RENEWAL
Ashley X GlickSpainIvan Magalhaes PROPOSAL
Costa C VocelkaArgentinaBernardo Dominic QUALIFIED
Wickens V StockhamIndiaElwin Sharvill UNQUALIFIED
Greenwood T NestleJapanIvan Magalhaes PROPOSAL
Jennifer F PoquetteJapanIoni Bowcher NEGOTIATION
Emily V RoysterBrazilStephen Shaw UNQUALIFIED
Silvio X RulapaughRussiaIvan Magalhaes UNQUALIFIED
Aditya K SaylorsItalyIvan Magalhaes NEGOTIATION
Aditya J BologniaSpainIvan Magalhaes UNQUALIFIED
Ricardo E KolmetzIndiaAmy Elsner NEGOTIATION
Smith F NickaArgentinaXuxue Feng PROPOSAL
Arvin M AlbaresCanadaAmy Elsner QUALIFIED
Claire B ChuiUnited KingdomXuxue Feng NEW
Jeanfrancois S SergiSpainStephen Shaw UNQUALIFIED
Sinclair D FlosiCanadaElwin Sharvill PROPOSAL
Tony F FlosiSpainIoni Bowcher QUALIFIED
Deepesh C InouyeIndiaIoni Bowcher NEW
Maisha C BowleyArgentinaIvan Magalhaes RENEWAL
Misaki Q BowleySpainIoni Bowcher PROPOSAL
Misaki T FigeroaFranceOnyama Limba RENEWAL
Smith R InouyeJapanStephen Shaw PROPOSAL
Mujtaba J OstroskyUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois W SergiRussiaAnna Fali RENEWAL
Ricardo C ButtAustraliaStephen Shaw PROPOSAL
Silvio J MorascaUnited KingdomBernardo Dominic RENEWAL
Misaki B SaylorsSpainAnna Fali QUALIFIED
Jeanfrancois R OldroydBrazilAnna Fali NEW
Costa L PerinUnited KingdomBernardo Dominic 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>