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
Aditya V RulapaughIndiaAsiya Javayant NEW
David E DilliardJapanAnna Fali PROPOSAL
Stacey S KolmetzFranceStephen Shaw RENEWAL
Kaitlin T PaprockiJapanAnna Fali QUALIFIED
Faith H WieserCanadaIoni Bowcher RENEWAL
James M MarrierFranceAmy Elsner NEGOTIATION
Jones M AlbaresBrazilXuxue Feng RENEWAL
Mayumi K FigeroaFranceStephen Shaw NEGOTIATION
Kaitlin D KolmetzBrazilXuxue Feng RENEWAL
Octavia Z GarufiItalyStephen Shaw NEW
Murillo Q BowleyItalyIvan Magalhaes NEW
Mujtaba G MarrierFranceAmy Elsner PROPOSAL
Tony T StockhamGermanyAmy Elsner PROPOSAL
Deepesh A MacleadItalyIoni Bowcher RENEWAL
Cody X ShinkoIndiaOnyama Limba RENEWAL
Kadeem Y GlickItalyBernardo Dominic QUALIFIED
Mujtaba K ChuiCanadaAmy Elsner PROPOSAL
Silvio C DilliardFranceElwin Sharvill NEGOTIATION
Alejandro T WieserJapanIoni Bowcher PROPOSAL
Clifford R GlickRussiaAmy Elsner QUALIFIED
Rodrigues A FigeroaArgentinaElwin Sharvill UNQUALIFIED
Adams T ChuiSpainAnna Fali NEW
Stacey T ShinkoJapanXuxue Feng RENEWAL
Arvin B AlbaresJapanAmy Elsner NEW
Tony G FigeroaGermanyAmy Elsner UNQUALIFIED
Maria X FigeroaAustraliaOnyama Limba PROPOSAL
Salvatore A VenereFranceOnyama Limba RENEWAL
Salvatore U DilliardFranceIvan Magalhaes NEGOTIATION
Morrow B WieserAustraliaAmy Elsner NEW
Jennifer N MacleadCanadaBernardo Dominic RENEWAL
Munro B NickaBrazilIoni Bowcher UNQUALIFIED
Sinclair R RimGermanyIoni Bowcher NEW
Silvio A WaycottFranceOnyama Limba PROPOSAL
Darci B StockhamGermanyOnyama Limba NEGOTIATION
Arvin A DilliardRussiaAmy Elsner NEGOTIATION
Arvin S KolmetzUnited KingdomBernardo Dominic RENEWAL
Sinclair P ChuiArgentinaIoni Bowcher QUALIFIED
Isabel D GlickGermanyIoni Bowcher QUALIFIED
Johnson K GlickJapanElwin Sharvill PROPOSAL
Jones E AlbaresSpainOnyama Limba NEW
Isabel T CampainBrazilAmy Elsner PROPOSAL
Jefferson E DilliardRussiaAsiya Javayant QUALIFIED
Tony H SergiRussiaAmy Elsner UNQUALIFIED
Nicolas G AlbaresUnited KingdomAnna Fali PROPOSAL
Morrow M RimItalyAnna Fali NEGOTIATION
Kaitlin I PerinIndiaOnyama Limba PROPOSAL
Jennifer D CaudyJapanAmy Elsner NEGOTIATION
Kadeem I RulapaughFranceAnna Fali PROPOSAL
Maria I DarakjyItalyAnna Fali UNQUALIFIED
Murillo K PoquetteJapanAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Adams N FigeroaCanadaElwin Sharvill RENEWAL
Cody D MaletAustraliaIvan Magalhaes QUALIFIED
Leja Y MacleadUnited KingdomAnna Fali QUALIFIED
Alejandro J NickaRussiaAmy Elsner QUALIFIED
Johnson S ChuiUnited KingdomAnna Fali QUALIFIED
Johnson G WaycottSpainAsiya Javayant NEGOTIATION
Tony W BriddickCanadaElwin Sharvill NEGOTIATION
Darci M PaprockiItalyIvan Magalhaes RENEWAL
Kaitlin H FerenczAustraliaAsiya Javayant PROPOSAL
Faith U KolmetzAustraliaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore I FigeroaJapan2026-08-19King, Christopher A Esq NEGOTIATION51Ioni Bowcher
1001Morrow F AmigonAustralia2026-07-31Feiner Bros UNQUALIFIED56Bernardo Dominic
1002Smith V FlosiIndia2026-08-16Truhlar And Truhlar Attys PROPOSAL40Asiya Javayant
1003Rodrigues D SlusarskiJapan2026-08-04Chemel, James L Cpa RENEWAL98Ivan Magalhaes
1004Morrow V MaletAustralia2026-08-23Rousseaux, Michael Esq NEW19Bernardo Dominic
1005Leon I GlickFrance2026-08-15Dorl, James J Esq NEW42Elwin Sharvill
1006Alejandro N GlickGermany2026-08-26Truhlar And Truhlar Attys RENEWAL41Stephen Shaw
1007Antonio V NickaBrazil2026-07-31Commercial Press NEW69Anna Fali
1008Aruna T KolmetzAustralia2026-08-06Buckley Miller Wright NEGOTIATION26Bernardo Dominic
1009Faith Y TollnerArgentina2026-08-28Commercial Press RENEWAL57Ioni Bowcher
1010James N MacleadAustralia2026-08-14Dorl, James J Esq NEW60Onyama Limba
1011Nicolas G PerinCanada2026-08-04Printing Dimensions PROPOSAL6Asiya Javayant
1012Misaki L AmigonAustralia2026-08-26Rousseaux, Michael Esq UNQUALIFIED94Anna Fali
1013Antonio Z MaletAustralia2026-08-10Chapman, Ross E Esq NEW19Anna Fali
1014Juan Q VenereIndia2026-07-31Feltz Printing Service NEGOTIATION99Bernardo Dominic
1015Ashley J KuskoItaly2026-07-30Commercial Press NEW10Stephen Shaw
1016Jennifer P MacleadIndia2026-08-18Morlong Associates RENEWAL30Amy Elsner
1017Ashley Z FigeroaJapan2026-08-18Dorl, James J Esq NEW23Ivan Magalhaes
1018Chavez Y OldroydAustralia2026-08-20Benton, John B Jr NEGOTIATION0Anna Fali
1019Murillo C IturbideGermany2026-08-06Morlong Associates PROPOSAL31Asiya Javayant
1020Juan C RutaFrance2026-08-20Buckley Miller Wright UNQUALIFIED54Ioni Bowcher
1021Maisha M SaylorsItaly2026-08-16King, Christopher A Esq NEW8Stephen Shaw
1022Maria Y KuskoItaly2026-08-07Commercial Press RENEWAL18Ivan Magalhaes
1023Leja M AmigonBrazil2026-08-08Truhlar And Truhlar Attys NEW70Bernardo Dominic
1024Tony W NickaArgentina2026-08-21Rangoni Of Florence NEGOTIATION26Amy Elsner
1025Sinclair E MaletUnited Kingdom2026-08-24King, Christopher A Esq UNQUALIFIED66Ivan Magalhaes
1026Stacey Q RutaFrance2026-08-28Benton, John B Jr QUALIFIED27Onyama Limba
1027Claire M PerinItaly2026-08-27Dorl, James J Esq NEGOTIATION73Onyama Limba
1028Costa B StockhamFrance2026-08-16Morlong Associates PROPOSAL37Ioni Bowcher
1029Darci S ShinkoItaly2026-08-18Chapman, Ross E Esq NEW47Bernardo Dominic
1030Greenwood B InouyeItaly2026-08-16Commercial Press NEGOTIATION60Stephen Shaw
1031Clifford W KolmetzIndia2026-08-20Feiner Bros NEGOTIATION97Onyama Limba
1032Aruna X DilliardUnited Kingdom2026-08-28Chemel, James L Cpa RENEWAL20Anna Fali
1033Ricardo Z MaletArgentina2026-08-16Feltz Printing Service RENEWAL82Xuxue Feng
1034Morrow J StockhamSpain2026-08-28Truhlar And Truhlar Attys QUALIFIED57Onyama Limba
1035Rodrigues D VocelkaUnited Kingdom2026-08-09Feiner Bros NEGOTIATION48Stephen Shaw
1036Arvin Y OldroydUnited Kingdom2026-08-23Rangoni Of Florence QUALIFIED86Elwin Sharvill
1037Salvatore T GillianSpain2026-08-09Chanay, Jeffrey A Esq PROPOSAL45Elwin Sharvill
1038Clifford H FigeroaUnited Kingdom2026-08-28Printing Dimensions QUALIFIED78Elwin Sharvill
1039Isabel C FigeroaCanada2026-08-10Morlong Associates QUALIFIED99Onyama Limba
1040Chavez T FollerAustralia2026-08-09Commercial Press NEGOTIATION63Ivan Magalhaes
1041Kadeem H CampainRussia2026-08-12Buckley Miller Wright PROPOSAL9Onyama Limba
1042Octavia E OstroskyBrazil2026-08-21Morlong Associates RENEWAL98Amy Elsner
1043Juan G SergiFrance2026-08-18Chapman, Ross E Esq RENEWAL18Elwin Sharvill
1044Silvio D WieserFrance2026-08-15Chanay, Jeffrey A Esq PROPOSAL63Stephen Shaw
1045Maria U WaycottUnited Kingdom2026-07-30Dorl, James J Esq UNQUALIFIED3Onyama Limba
1046Greenwood N NickaSpain2026-08-23Chanay, Jeffrey A Esq RENEWAL27Amy Elsner
1047Adams T GlickCanada2026-08-01Chemel, James L Cpa RENEWAL65Elwin Sharvill
1048Aditya Q MacleadIndia2026-08-01Morlong Associates PROPOSAL76Bernardo Dominic
1049Clifford F WaycottSpain2026-08-24Benton, John B Jr RENEWAL81Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J NickaUnited KingdomIoni Bowcher RENEWAL
Rodrigues S OstroskyFranceBernardo Dominic QUALIFIED
Antonio M SlusarskiUnited KingdomAmy Elsner RENEWAL
Jennifer Z CaudySpainIvan Magalhaes QUALIFIED
James Z SergiBrazilElwin Sharvill PROPOSAL
Juan B TollnerIndiaIoni Bowcher RENEWAL
Salvatore D CaldareraUnited KingdomIvan Magalhaes RENEWAL
Alejandro O FollerArgentinaOnyama Limba RENEWAL
Octavia A RimBrazilXuxue Feng QUALIFIED
James N DarakjyUnited KingdomStephen Shaw NEGOTIATION
Munro Q GlickGermanyAsiya Javayant UNQUALIFIED
Francesco G CaudyIndiaXuxue Feng NEGOTIATION
David K DarakjyIndiaElwin Sharvill NEGOTIATION
Ashley L VocelkaRussiaBernardo Dominic NEGOTIATION
Antonio B SlusarskiArgentinaStephen Shaw PROPOSAL
Faith D ShinkoRussiaAnna Fali UNQUALIFIED
Salvatore J GauchoFranceIvan Magalhaes PROPOSAL
Arvin D SergiIndiaOnyama Limba UNQUALIFIED
Darci A AmigonFranceElwin Sharvill UNQUALIFIED
Maria G RutaIndiaOnyama Limba QUALIFIED
Darci U SaylorsJapanAsiya Javayant RENEWAL
Maisha U RimArgentinaBernardo Dominic PROPOSAL
Aruna B ButtIndiaAmy Elsner PROPOSAL
Arvin O KolmetzAustraliaAnna Fali PROPOSAL
Smith I AmigonFranceAnna Fali NEW
Mujtaba O RulapaughIndiaAnna Fali UNQUALIFIED
Cody A SchemmerJapanIoni Bowcher PROPOSAL
Faith Q BowleyItalyXuxue Feng PROPOSAL
Ivar E FerenczIndiaAmy Elsner NEW
Rodrigues Y GlickRussiaAsiya Javayant PROPOSAL
Darci Z RutaCanadaIvan Magalhaes NEGOTIATION
Faith B FlosiRussiaElwin Sharvill NEW
Leja G SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Leja N BriddickUnited KingdomAsiya Javayant PROPOSAL
Julie S MorascaJapanBernardo Dominic UNQUALIFIED
Deepesh W RulapaughBrazilOnyama Limba UNQUALIFIED
Deepesh G RoysterRussiaAnna Fali QUALIFIED
Johnson F MacleadAustraliaAmy Elsner UNQUALIFIED
Juan X ButtFranceAsiya Javayant NEGOTIATION
Kadeem W RutaRussiaOnyama Limba NEGOTIATION
Salvatore L KuskoArgentinaAsiya Javayant NEW
Chavez H FerenczUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois M FigeroaRussiaOnyama Limba PROPOSAL
Deepesh M SaylorsAustraliaBernardo Dominic UNQUALIFIED
Nicolas Q PoquetteItalyBernardo Dominic RENEWAL
Silvio H RulapaughRussiaAmy Elsner NEGOTIATION
Aika G MarrierAustraliaAnna Fali UNQUALIFIED
Morrow Y NickaUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba Q GauchoJapanAsiya Javayant NEGOTIATION
Adams Y AmigonCanadaStephen Shaw RENEWAL
Frozen Columns
Name
Claire C Paprocki
Jeanfrancois Y Malet
Jefferson S Caudy
Clifford D Shinko
Francesco B Doe
Aditya R Perin
Arvin O Whobrey
Leja H Nicka
Rodrigues P Vocelka
Faith J Slusarski
Cody X Darakjy
Morrow I Dilliard
Adams J Figeroa
Jeanfrancois Q Inouye
Smith B Garufi
Munro X Sergi
Julie O Darakjy
Wickens E Ferencz
Maria D Glick
Emily X Caldarera
Cody T Doe
David K Albares
Morrow G Campain
Stacey Q Foller
Stacey V Inouye
Jefferson P Schemmer
David M Waycott
Isabel Z Caudy
Octavia Y Malet
Misaki Y Rim
Claire V Garufi
Morrow R Morasca
Cody E Doe
Nicolas H Dilliard
Aditya W Briddick
Ricardo J Ostrosky
Nicolas P Gillian
Chavez V Iturbide
Clifford W Paprocki
Cody W Oldroyd
Jones T Vocelka
Mayumi I Stockham
Leon Z Poquette
Aika R Rim
Murillo V Royster
Ashley H Vocelka
Jeanfrancois Q Ostrosky
Jones G Briddick
Mayumi W Wieser
Jones L Maclead
IdCountryDate
1000Spain2026-08-06
1001India2026-08-15
1002Russia2026-08-23
1003Japan2026-08-14
1004United Kingdom2026-08-01
1005Germany2026-08-21
1006Brazil2026-08-23
1007Brazil2026-07-31
1008Brazil2026-08-15
1009Spain2026-08-20
1010Italy2026-08-19
1011Argentina2026-08-08
1012Italy2026-08-20
1013United Kingdom2026-08-27
1014Japan2026-08-17
1015Italy2026-08-03
1016Australia2026-08-05
1017Spain2026-08-18
1018Germany2026-08-28
1019Italy2026-08-22
1020United Kingdom2026-08-15
1021Brazil2026-08-25
1022Argentina2026-08-24
1023United Kingdom2026-07-30
1024Canada2026-08-23
1025Italy2026-08-08
1026Japan2026-08-25
1027Russia2026-08-16
1028Spain2026-08-19
1029Spain2026-08-18
1030Argentina2026-08-10
1031Germany2026-08-23
1032Argentina2026-08-26
1033Argentina2026-08-05
1034Australia2026-08-10
1035Australia2026-08-21
1036Brazil2026-08-09
1037Australia2026-08-09
1038Australia2026-08-01
1039Argentina2026-08-14
1040Australia2026-08-11
1041Argentina2026-08-13
1042Canada2026-08-06
1043India2026-08-23
1044Japan2026-08-10
1045Italy2026-08-12
1046Germany2026-08-04
1047Japan2026-08-07
1048Italy2026-08-25
1049France2026-08-10

On-Demand Data

NameIdCountryDate
Munro K Ferencz1000Japan2026-08-23
Stacey X Stenseth1001United Kingdom2026-08-26
Misaki C Iturbide1002France2026-08-03
Isabel L Ostrosky1003Russia2026-08-19
Chavez B Shinko1004France2026-08-25
Salvatore N Iturbide1005Italy2026-08-03
Aruna D Malet1006Italy2026-08-26
Faith K Stenseth1007Canada2026-08-20
Smith V Slusarski1008Australia2026-07-30
Jennifer H Morasca1009Japan2026-08-05
Aditya I Vocelka1010Spain2026-08-12
Sinclair R Kolmetz1011United Kingdom2026-08-04
Munro H Oldroyd1012United Kingdom2026-08-19
Jeanfrancois M Amigon1013Brazil2026-08-08
Murillo L Rulapaugh1014Japan2026-08-08
Cody E Tollner1015Argentina2026-08-23
Octavia J Schemmer1016Japan2026-08-27
Tony H Foller1017Canada2026-08-02
Maisha E Vocelka1018Italy2026-08-03
Adams B Gaucho1019Brazil2026-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley I DilliardArgentinaElwin Sharvill NEGOTIATION
Claire F RoysterJapanIoni Bowcher RENEWAL
Emily M SaylorsArgentinaIvan Magalhaes RENEWAL
Kaitlin O BriddickJapanIvan Magalhaes NEGOTIATION
Octavia Y OstroskyCanadaIvan Magalhaes PROPOSAL
Salvatore P VocelkaUnited KingdomIvan Magalhaes NEW
James J ButtIndiaXuxue Feng NEGOTIATION
Claire L KuskoArgentinaIvan Magalhaes UNQUALIFIED
James Y InouyeArgentinaStephen Shaw NEGOTIATION
Claire I RulapaughSpainIoni Bowcher PROPOSAL
David B FigeroaBrazilStephen Shaw UNQUALIFIED
Stacey I StensethItalyIoni Bowcher NEW
Kadeem H MorascaItalyBernardo Dominic QUALIFIED
Deepesh P DarakjyGermanyBernardo Dominic NEGOTIATION
Claire O CaudyCanadaAnna Fali PROPOSAL
Alejandro G MaletAustraliaIvan Magalhaes RENEWAL
Salvatore T WhobreyFranceOnyama Limba QUALIFIED
Leon Q MarrierAustraliaIoni Bowcher NEGOTIATION
Faith L BologniaCanadaAsiya Javayant PROPOSAL
Jeanfrancois X VenereArgentinaAsiya Javayant RENEWAL
Leja G NickaCanadaElwin Sharvill PROPOSAL
Greenwood S VocelkaArgentinaBernardo Dominic QUALIFIED
Octavia F DoeItalyIoni Bowcher RENEWAL
Faith J SaylorsIndiaStephen Shaw QUALIFIED
Wickens U ButtSpainAsiya Javayant NEW
Mujtaba R VocelkaJapanElwin Sharvill QUALIFIED
Murillo B OldroydCanadaXuxue Feng NEGOTIATION
James L KuskoCanadaStephen Shaw NEW
Stacey F VocelkaBrazilOnyama Limba PROPOSAL
Jefferson I AmigonArgentinaXuxue Feng NEW
Jones G KolmetzArgentinaAmy Elsner PROPOSAL
Costa M DarakjySpainIvan Magalhaes UNQUALIFIED
Morrow X DarakjyJapanAmy Elsner PROPOSAL
Cody P ButtArgentinaOnyama Limba NEGOTIATION
Francesco M WieserArgentinaIoni Bowcher PROPOSAL
Kaitlin D SergiJapanBernardo Dominic PROPOSAL
Ashley S MaletJapanElwin Sharvill QUALIFIED
Aditya Z RulapaughCanadaElwin Sharvill NEGOTIATION
Munro F MarrierArgentinaXuxue Feng NEW
James L KolmetzFranceStephen Shaw 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>