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
Aika G SergiUnited KingdomIvan Magalhaes PROPOSAL
Jones L BriddickJapanIoni Bowcher UNQUALIFIED
Adams K MarrierIndiaAnna Fali PROPOSAL
Greenwood C DilliardUnited KingdomXuxue Feng RENEWAL
Johnson S SchemmerBrazilAmy Elsner RENEWAL
Kadeem Z PaprockiUnited KingdomIvan Magalhaes RENEWAL
Aruna Q CaudyAustraliaAmy Elsner RENEWAL
Izzy R PerinGermanyIoni Bowcher QUALIFIED
Antonio T DilliardJapanOnyama Limba NEGOTIATION
Isabel W RimIndiaAnna Fali NEGOTIATION
Wickens L RimIndiaStephen Shaw UNQUALIFIED
Aditya L NestleGermanyBernardo Dominic UNQUALIFIED
Smith G NickaCanadaStephen Shaw NEGOTIATION
Francesco U GlickBrazilStephen Shaw QUALIFIED
Adams P PoquetteBrazilStephen Shaw PROPOSAL
Juan Q StensethArgentinaXuxue Feng NEGOTIATION
Izzy G SlusarskiItalyElwin Sharvill QUALIFIED
Aika N StockhamJapanElwin Sharvill UNQUALIFIED
Claire C BologniaAustraliaStephen Shaw RENEWAL
Mayumi P OstroskyRussiaIoni Bowcher NEW
Isabel S NestleRussiaIvan Magalhaes NEW
Aika N WieserCanadaXuxue Feng NEGOTIATION
Aika D DarakjyCanadaBernardo Dominic NEW
Deepesh Q SchemmerArgentinaAsiya Javayant NEGOTIATION
Adams F DilliardUnited KingdomStephen Shaw UNQUALIFIED
Sinclair O CampainGermanyAnna Fali UNQUALIFIED
Aruna N ShinkoCanadaAmy Elsner PROPOSAL
Leja A BriddickAustraliaAnna Fali RENEWAL
Juan F WaycottBrazilIvan Magalhaes NEGOTIATION
Jefferson E AmigonBrazilAnna Fali UNQUALIFIED
Maria Y RimIndiaOnyama Limba QUALIFIED
Clifford L OldroydCanadaIvan Magalhaes QUALIFIED
Misaki Q RoysterGermanyIoni Bowcher NEGOTIATION
Salvatore P RutaRussiaIoni Bowcher QUALIFIED
Morrow H AlbaresBrazilAnna Fali NEW
Smith B GillianArgentinaStephen Shaw NEGOTIATION
Antonio I WaycottAustraliaAnna Fali QUALIFIED
Wickens W FigeroaArgentinaXuxue Feng PROPOSAL
Costa Y RimBrazilXuxue Feng NEGOTIATION
Morrow R ChuiIndiaElwin Sharvill UNQUALIFIED
Smith T NickaIndiaBernardo Dominic RENEWAL
Maria D RoysterUnited KingdomAmy Elsner NEW
Antonio B InouyeJapanAnna Fali NEW
Cody Q MaletJapanStephen Shaw RENEWAL
Aditya Y ShinkoFranceBernardo Dominic UNQUALIFIED
Arvin Y FigeroaItalyElwin Sharvill QUALIFIED
Claire H BriddickCanadaIvan Magalhaes UNQUALIFIED
Chavez D PaprockiFranceStephen Shaw NEGOTIATION
Morrow I AmigonArgentinaXuxue Feng QUALIFIED
Mayumi G SchemmerAustraliaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Julie R SlusarskiSpainElwin Sharvill UNQUALIFIED
Mayumi N FlosiArgentinaAsiya Javayant UNQUALIFIED
Izzy S RimUnited KingdomStephen Shaw RENEWAL
David G GarufiGermanyAmy Elsner NEW
Adams H IturbideGermanyAnna Fali QUALIFIED
Leon N BriddickJapanXuxue Feng QUALIFIED
Julie T GlickIndiaElwin Sharvill RENEWAL
Aditya E DoeBrazilStephen Shaw RENEWAL
David Y MaletArgentinaAsiya Javayant QUALIFIED
Costa T PaprockiItalyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire I MacleadAustralia2024-06-01Buckley Miller Wright UNQUALIFIED23Anna Fali
1001Aika X FerenczFrance2024-06-03Truhlar And Truhlar Attys UNQUALIFIED49Stephen Shaw
1002Ashley M ChuiItaly2024-05-29Chemel, James L Cpa NEW94Asiya Javayant
1003Ricardo G GarufiIndia2024-06-16Rangoni Of Florence PROPOSAL50Onyama Limba
1004Maisha G WieserIndia2024-05-24Commercial Press PROPOSAL31Anna Fali
1005Emily E BowleyItaly2024-06-13Chapman, Ross E Esq PROPOSAL13Ivan Magalhaes
1006Emily G OldroydUnited Kingdom2024-06-11King, Christopher A Esq NEGOTIATION80Amy Elsner
1007Smith T GillianArgentina2024-06-03Chemel, James L Cpa UNQUALIFIED99Anna Fali
1008Julie X NestleRussia2024-06-16King, Christopher A Esq RENEWAL71Amy Elsner
1009Jefferson B WhobreySpain2024-05-25Chemel, James L Cpa UNQUALIFIED5Ioni Bowcher
1010Sinclair M CaudyRussia2024-06-14Feltz Printing Service NEGOTIATION64Stephen Shaw
1011Alejandro W DilliardRussia2024-06-03Printing Dimensions QUALIFIED90Asiya Javayant
1012Julie S BriddickUnited Kingdom2024-06-21Feiner Bros RENEWAL80Onyama Limba
1013Kaitlin U SaylorsJapan2024-06-03Morlong Associates PROPOSAL92Anna Fali
1014Claire D WhobreyAustralia2024-06-21Buckley Miller Wright PROPOSAL49Ioni Bowcher
1015Jeanfrancois O DarakjyUnited Kingdom2024-06-05Dorl, James J Esq PROPOSAL15Bernardo Dominic
1016Mayumi X MorascaCanada2024-06-08Chemel, James L Cpa RENEWAL12Xuxue Feng
1017Leja Y AlbaresIndia2024-06-08Benton, John B Jr PROPOSAL87Ivan Magalhaes
1018Cody W AlbaresItaly2024-06-03Rangoni Of Florence PROPOSAL20Anna Fali
1019Francesco K BowleyItaly2024-06-14Rousseaux, Michael Esq NEW39Ivan Magalhaes
1020Antonio M TollnerJapan2024-05-26Benton, John B Jr UNQUALIFIED27Bernardo Dominic
1021Maisha J GlickJapan2024-06-14Chanay, Jeffrey A Esq QUALIFIED40Bernardo Dominic
1022Rodrigues F PaprockiIndia2024-05-30Benton, John B Jr QUALIFIED45Onyama Limba
1023Jones K NickaArgentina2024-05-30Rangoni Of Florence RENEWAL72Xuxue Feng
1024Morrow C IturbideJapan2024-05-27Benton, John B Jr RENEWAL67Stephen Shaw
1025Munro F MaletBrazil2024-06-10Feltz Printing Service RENEWAL79Asiya Javayant
1026Wickens W TollnerIndia2024-06-11Chapman, Ross E Esq NEGOTIATION11Onyama Limba
1027Silvio R BriddickArgentina2024-05-30Feltz Printing Service NEGOTIATION80Ioni Bowcher
1028Salvatore D VenereIndia2024-05-24Buckley Miller Wright NEGOTIATION90Bernardo Dominic
1029Emily U BriddickItaly2024-06-20Morlong Associates NEW91Ivan Magalhaes
1030Antonio C KuskoItaly2024-05-23King, Christopher A Esq NEGOTIATION65Amy Elsner
1031Jones R CampainFrance2024-06-18Chemel, James L Cpa NEGOTIATION54Amy Elsner
1032Juan E BologniaItaly2024-05-23Chapman, Ross E Esq UNQUALIFIED5Onyama Limba
1033Maisha X RutaGermany2024-06-05Benton, John B Jr QUALIFIED17Asiya Javayant
1034Clifford J WhobreyRussia2024-06-14Dorl, James J Esq NEGOTIATION99Anna Fali
1035Morrow E InouyeAustralia2024-06-20Rousseaux, Michael Esq NEGOTIATION80Anna Fali
1036Jefferson U TollnerCanada2024-06-06Benton, John B Jr QUALIFIED52Anna Fali
1037Wickens W RulapaughBrazil2024-06-04Truhlar And Truhlar Attys UNQUALIFIED47Elwin Sharvill
1038Aditya Y SergiIndia2024-06-14Rangoni Of Florence QUALIFIED58Onyama Limba
1039Wickens G KuskoSpain2024-06-18Printing Dimensions QUALIFIED47Anna Fali
1040Nicolas A SergiArgentina2024-05-29Feiner Bros PROPOSAL81Stephen Shaw
1041Leja J ChuiJapan2024-05-30Feiner Bros QUALIFIED77Asiya Javayant
1042Julie N VenereFrance2024-06-17Buckley Miller Wright UNQUALIFIED37Stephen Shaw
1043Leja D NickaItaly2024-05-25Chanay, Jeffrey A Esq RENEWAL60Elwin Sharvill
1044Munro N PerinCanada2024-06-15Rangoni Of Florence QUALIFIED36Ivan Magalhaes
1045Mujtaba O WaycottCanada2024-05-28Benton, John B Jr NEW80Bernardo Dominic
1046Darci P MaletItaly2024-06-01Dorl, James J Esq PROPOSAL12Xuxue Feng
1047Sinclair B PoquetteSpain2024-05-29Benton, John B Jr NEW11Ivan Magalhaes
1048Jeanfrancois L NestleBrazil2024-05-24Chapman, Ross E Esq UNQUALIFIED52Stephen Shaw
1049Salvatore L AlbaresAustralia2024-05-28Truhlar And Truhlar Attys QUALIFIED26Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Deepesh P FigeroaBrazilElwin Sharvill RENEWAL
Sinclair K CampainSpainBernardo Dominic UNQUALIFIED
James O CampainArgentinaOnyama Limba NEGOTIATION
Silvio F GlickArgentinaAmy Elsner NEGOTIATION
Ivar X MacleadAustraliaAmy Elsner RENEWAL
Jeanfrancois T ChuiFranceElwin Sharvill QUALIFIED
Leja G KolmetzUnited KingdomAsiya Javayant RENEWAL
Emily Y FerenczSpainAsiya Javayant NEGOTIATION
Alejandro O MarrierJapanBernardo Dominic RENEWAL
Adams Q SlusarskiGermanyOnyama Limba NEW
Faith D DilliardIndiaAsiya Javayant NEGOTIATION
Isabel H IturbideGermanyAnna Fali NEGOTIATION
Kadeem W FerenczRussiaXuxue Feng NEGOTIATION
Aika K FollerBrazilXuxue Feng NEGOTIATION
Emily K FollerRussiaIvan Magalhaes RENEWAL
Maisha B RoysterArgentinaBernardo Dominic PROPOSAL
Mayumi X BowleyJapanIvan Magalhaes PROPOSAL
Sinclair O FlosiJapanIvan Magalhaes NEGOTIATION
Ivar L MacleadItalyIoni Bowcher NEGOTIATION
Jeanfrancois S OstroskyAustraliaXuxue Feng NEW
Izzy L RutaUnited KingdomElwin Sharvill NEGOTIATION
Clifford U CaldareraSpainElwin Sharvill UNQUALIFIED
Mujtaba H AmigonAustraliaStephen Shaw UNQUALIFIED
Jennifer A GarufiBrazilXuxue Feng RENEWAL
Alejandro S FlosiIndiaOnyama Limba UNQUALIFIED
Faith O ShinkoAustraliaAnna Fali NEW
Misaki U BowleyAustraliaAsiya Javayant QUALIFIED
Claire O StockhamSpainAnna Fali PROPOSAL
Rodrigues H OldroydJapanAsiya Javayant NEW
Leja M FerenczArgentinaAsiya Javayant PROPOSAL
Silvio F MaletFranceXuxue Feng QUALIFIED
Ricardo X MaletIndiaAsiya Javayant NEGOTIATION
Tony K PaprockiArgentinaAnna Fali NEW
Leja T NestleJapanIvan Magalhaes NEGOTIATION
Jefferson L DarakjyAustraliaBernardo Dominic NEGOTIATION
Greenwood I BologniaFranceStephen Shaw NEW
Deepesh D ShinkoUnited KingdomAnna Fali QUALIFIED
Mayumi Z WhobreyUnited KingdomOnyama Limba QUALIFIED
Murillo E BologniaIndiaStephen Shaw PROPOSAL
David A GlickJapanElwin Sharvill RENEWAL
Sinclair D SchemmerAustraliaOnyama Limba PROPOSAL
Leja Y CaudyUnited KingdomElwin Sharvill NEGOTIATION
Faith S OstroskyArgentinaAnna Fali QUALIFIED
Emily R OstroskyAustraliaIvan Magalhaes PROPOSAL
Johnson L DoeFranceAsiya Javayant RENEWAL
Nicolas W VenereCanadaXuxue Feng NEW
David D GlickArgentinaAsiya Javayant QUALIFIED
Salvatore V NestleAustraliaAsiya Javayant QUALIFIED
Emily K RulapaughAustraliaOnyama Limba PROPOSAL
Darci J GillianUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
James T Flosi
Mayumi I Vocelka
Emily V Morasca
Johnson V Albares
Silvio F Waycott
Arvin W Doe
Leon C Figeroa
Julie D Butt
Chavez G Poquette
Clifford P Rulapaugh
Aika C Poquette
Aditya M Gillian
Julie V Flosi
Francesco C Gillian
Costa E Dilliard
Johnson L Oldroyd
Claire D Poquette
Francesco N Amigon
Deepesh Y Morasca
Stacey K Nestle
Leja H Bowley
Kaitlin P Gaucho
Adams G Caudy
Jefferson U Ferencz
Sinclair H Foller
Misaki Q Flosi
Kadeem U Bolognia
Cody R Flosi
Clifford O Figeroa
Emily X Kolmetz
Kadeem E Garufi
Ricardo I Briddick
Octavia X Saylors
Julie J Kusko
Nicolas H Glick
Ivar X Amigon
Adams U Gillian
Silvio S Butt
Rodrigues L Kusko
Jennifer Q Royster
Jennifer W Ostrosky
David K Butt
Silvio B Albares
Salvatore V Venere
Mujtaba L Iturbide
Cody L Rulapaugh
Mayumi L Caudy
Kaitlin O Venere
Tony N Albares
Tony Q Gillian
IdCountryDate
1000United Kingdom2024-05-28
1001Germany2024-06-09
1002Germany2024-05-28
1003Brazil2024-06-16
1004Japan2024-06-02
1005India2024-05-25
1006Italy2024-05-25
1007Argentina2024-06-13
1008Brazil2024-05-27
1009Canada2024-06-12
1010Italy2024-06-20
1011Australia2024-05-23
1012Germany2024-06-15
1013Germany2024-05-29
1014Brazil2024-06-20
1015Russia2024-06-09
1016Germany2024-05-24
1017Russia2024-06-10
1018United Kingdom2024-05-27
1019United Kingdom2024-06-09
1020Italy2024-05-29
1021France2024-05-27
1022Japan2024-06-03
1023India2024-06-08
1024Brazil2024-06-20
1025Germany2024-06-13
1026Canada2024-06-14
1027Russia2024-06-14
1028Italy2024-06-14
1029Australia2024-05-27
1030Canada2024-06-12
1031France2024-05-26
1032Italy2024-06-12
1033Japan2024-05-31
1034Canada2024-06-02
1035Australia2024-06-01
1036Brazil2024-05-28
1037Italy2024-05-30
1038Australia2024-06-19
1039Russia2024-06-21
1040Italy2024-06-07
1041Argentina2024-05-26
1042Spain2024-06-07
1043Spain2024-06-21
1044Brazil2024-06-08
1045Spain2024-06-17
1046Germany2024-06-09
1047Spain2024-06-17
1048Argentina2024-06-01
1049Russia2024-06-09

On-Demand Data

NameIdCountryDate
Jennifer T Waycott1000Germany2024-06-09
Claire H Wieser1001United Kingdom2024-05-31
Kadeem L Gaucho1002Spain2024-06-08
Juan R Royster1003Germany2024-06-11
Smith Q Saylors1004Italy2024-06-11
Francesco H Kusko1005Japan2024-05-25
Julie X Bowley1006Russia2024-06-20
Rodrigues V Schemmer1007Canada2024-06-13
Deepesh F Ostrosky1008Australia2024-05-30
James O Inouye1009Germany2024-05-27
Murillo F Gillian1010Germany2024-06-02
Jennifer G Shinko1011Russia2024-06-14
Munro H Gillian1012Germany2024-06-03
Kaitlin L Caldarera1013Canada2024-05-28
Isabel F Oldroyd1014Canada2024-06-01
Deepesh C Chui1015Italy2024-06-13
Arvin E Malet1016Argentina2024-06-04
Alejandro F Inouye1017United Kingdom2024-06-15
Ashley M Rim1018Argentina2024-06-17
Ashley F Foller1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy I KolmetzSpainIoni Bowcher NEW
Maria J WaycottItalyXuxue Feng NEGOTIATION
Clifford W FerenczFranceAnna Fali QUALIFIED
Jones Z VocelkaIndiaXuxue Feng NEGOTIATION
Faith R NickaSpainBernardo Dominic PROPOSAL
Morrow Z VocelkaGermanyOnyama Limba NEW
Aditya Z RutaItalyIoni Bowcher NEGOTIATION
Francesco L SaylorsFranceAnna Fali UNQUALIFIED
Sinclair N NickaRussiaAsiya Javayant NEGOTIATION
Deepesh W CaudyArgentinaAmy Elsner UNQUALIFIED
Nicolas Y VenereIndiaAmy Elsner QUALIFIED
Alejandro X SlusarskiBrazilStephen Shaw PROPOSAL
James Z DoeUnited KingdomXuxue Feng QUALIFIED
Nicolas N MacleadArgentinaAnna Fali QUALIFIED
Jefferson V MarrierGermanyBernardo Dominic NEGOTIATION
Antonio Q DoeIndiaAmy Elsner QUALIFIED
Emily T NickaItalyXuxue Feng NEW
Kaitlin T VocelkaGermanyStephen Shaw UNQUALIFIED
Rodrigues G SergiIndiaBernardo Dominic QUALIFIED
Jefferson B MarrierFranceElwin Sharvill NEW
Rodrigues H AmigonFranceStephen Shaw QUALIFIED
Maisha C FlosiAustraliaXuxue Feng PROPOSAL
Faith N MarrierBrazilAsiya Javayant UNQUALIFIED
Isabel Q CampainArgentinaStephen Shaw NEW
Stacey K MacleadItalyAsiya Javayant PROPOSAL
Johnson L NickaGermanyAnna Fali RENEWAL
Stacey C OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Darci V DarakjyRussiaOnyama Limba NEGOTIATION
Leja C MacleadRussiaOnyama Limba QUALIFIED
Johnson A MacleadGermanyAsiya Javayant QUALIFIED
Murillo V ChuiBrazilStephen Shaw QUALIFIED
Mujtaba R GarufiJapanBernardo Dominic NEW
Misaki Y ChuiJapanElwin Sharvill RENEWAL
Octavia U RutaGermanyIoni Bowcher UNQUALIFIED
Maisha C InouyeAustraliaElwin Sharvill RENEWAL
Ricardo D VocelkaGermanyAsiya Javayant PROPOSAL
Darci T FlosiUnited KingdomXuxue Feng QUALIFIED
Francesco Z CaudyCanadaIoni Bowcher UNQUALIFIED
Nicolas W TollnerUnited KingdomAmy Elsner RENEWAL
Silvio L AmigonFranceXuxue Feng UNQUALIFIED

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