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 N RimAustraliaOnyama Limba PROPOSAL
Julie C StensethBrazilOnyama Limba NEW
Costa C OldroydBrazilAmy Elsner NEW
Claire X WhobreyArgentinaOnyama Limba PROPOSAL
Ivar H RutaItalyAnna Fali PROPOSAL
Greenwood Y BriddickIndiaOnyama Limba PROPOSAL
Izzy T BriddickFranceXuxue Feng RENEWAL
Leon L AlbaresIndiaIoni Bowcher UNQUALIFIED
Silvio B NickaGermanyBernardo Dominic UNQUALIFIED
Mayumi J OstroskySpainOnyama Limba RENEWAL
James D CampainRussiaAnna Fali PROPOSAL
Silvio N MaletFranceAsiya Javayant QUALIFIED
Arvin X StensethSpainAmy Elsner QUALIFIED
Aditya Z PaprockiCanadaBernardo Dominic NEW
Stacey Y BologniaUnited KingdomIvan Magalhaes QUALIFIED
Izzy D SlusarskiArgentinaAsiya Javayant NEGOTIATION
Silvio D BriddickArgentinaOnyama Limba RENEWAL
Jennifer Q NickaArgentinaAmy Elsner QUALIFIED
Wickens C DilliardCanadaElwin Sharvill RENEWAL
Murillo X KolmetzArgentinaBernardo Dominic UNQUALIFIED
Sinclair J GillianUnited KingdomIvan Magalhaes NEW
Costa B DoeIndiaStephen Shaw NEGOTIATION
Jefferson Z RulapaughFranceIoni Bowcher NEW
Murillo K GarufiFranceIoni Bowcher PROPOSAL
Johnson F CaudyIndiaElwin Sharvill RENEWAL
Adams P ChuiRussiaAnna Fali PROPOSAL
Claire Z BologniaFranceAmy Elsner PROPOSAL
Julie D BriddickCanadaIvan Magalhaes NEGOTIATION
Cody W BriddickCanadaAsiya Javayant RENEWAL
Silvio X SergiGermanyAmy Elsner QUALIFIED
Francesco Q PerinIndiaStephen Shaw NEW
Faith D VocelkaSpainAnna Fali RENEWAL
Ivar I GlickSpainBernardo Dominic NEGOTIATION
Smith J FigeroaUnited KingdomAsiya Javayant PROPOSAL
Munro O ShinkoAustraliaIoni Bowcher QUALIFIED
Mujtaba F KuskoBrazilAnna Fali PROPOSAL
James G DoeGermanyAmy Elsner NEGOTIATION
Emily G OldroydGermanyIoni Bowcher NEGOTIATION
Darci D GauchoUnited KingdomAmy Elsner RENEWAL
James R GillianFranceAnna Fali NEGOTIATION
Leon W BriddickCanadaAsiya Javayant NEW
Smith K OldroydIndiaIvan Magalhaes PROPOSAL
Francesco T FollerUnited KingdomAsiya Javayant RENEWAL
Juan C InouyeAustraliaIvan Magalhaes NEGOTIATION
Smith I BriddickAustraliaAmy Elsner NEW
Aika N SchemmerIndiaAmy Elsner NEGOTIATION
Chavez A GlickSpainBernardo Dominic UNQUALIFIED
David N OstroskySpainIvan Magalhaes NEW
Silvio G CaldareraUnited KingdomAmy Elsner RENEWAL
Claire C RoysterIndiaXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki Z WhobreyCanadaIoni Bowcher NEW
Julie A OldroydBrazilStephen Shaw QUALIFIED
Morrow U BowleyIndiaAsiya Javayant NEW
Izzy Z PerinAustraliaIoni Bowcher NEW
Julie Q IturbideArgentinaAmy Elsner RENEWAL
Smith V KolmetzFranceAnna Fali UNQUALIFIED
Cody P SchemmerArgentinaElwin Sharvill QUALIFIED
Maria L GauchoAustraliaStephen Shaw RENEWAL
Ricardo X SergiBrazilOnyama Limba QUALIFIED
Ivar Z RulapaughItalyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro N KolmetzCanada2024-06-17Dorl, James J Esq UNQUALIFIED65Asiya Javayant
1001Ricardo U FollerIndia2024-06-11Benton, John B Jr RENEWAL4Anna Fali
1002Aruna C AmigonRussia2024-05-25Morlong Associates UNQUALIFIED66Asiya Javayant
1003Aditya C CaudyJapan2024-06-19Morlong Associates QUALIFIED48Anna Fali
1004Deepesh V OstroskyRussia2024-05-24Dorl, James J Esq RENEWAL23Asiya Javayant
1005Arvin M CaudyFrance2024-05-30Buckley Miller Wright QUALIFIED39Asiya Javayant
1006Aruna M SaylorsSpain2024-06-07Chanay, Jeffrey A Esq NEW1Xuxue Feng
1007Cody D RimFrance2024-06-22Rousseaux, Michael Esq NEGOTIATION63Anna Fali
1008Darci F MacleadItaly2024-06-05Morlong Associates NEGOTIATION92Ioni Bowcher
1009Kadeem P OldroydRussia2024-06-11Chapman, Ross E Esq QUALIFIED81Onyama Limba
1010Octavia Y FerenczRussia2024-06-01Rangoni Of Florence UNQUALIFIED90Xuxue Feng
1011Sinclair O SlusarskiSpain2024-06-15Rousseaux, Michael Esq UNQUALIFIED98Asiya Javayant
1012Jeanfrancois P MaletBrazil2024-05-25Chemel, James L Cpa UNQUALIFIED47Asiya Javayant
1013Chavez J MaletItaly2024-06-16Feltz Printing Service NEW73Elwin Sharvill
1014Salvatore V KuskoItaly2024-06-15Feltz Printing Service NEW0Ivan Magalhaes
1015Rodrigues R MaletGermany2024-05-26Chapman, Ross E Esq QUALIFIED73Bernardo Dominic
1016Ashley G MaletArgentina2024-05-31Buckley Miller Wright PROPOSAL43Elwin Sharvill
1017Kaitlin K FigeroaFrance2024-06-05Benton, John B Jr QUALIFIED51Ivan Magalhaes
1018Aika F CaldareraSpain2024-06-18Rangoni Of Florence QUALIFIED94Amy Elsner
1019David C MarrierBrazil2024-06-04Rangoni Of Florence QUALIFIED1Xuxue Feng
1020Aika O GauchoSpain2024-06-11Rangoni Of Florence NEGOTIATION61Anna Fali
1021Morrow R BowleyUnited Kingdom2024-06-09Buckley Miller Wright QUALIFIED85Amy Elsner
1022Smith G MarrierAustralia2024-06-22Chanay, Jeffrey A Esq QUALIFIED52Anna Fali
1023Alejandro V AlbaresIndia2024-06-13Commercial Press NEW54Amy Elsner
1024Munro V IturbideFrance2024-05-27Chanay, Jeffrey A Esq RENEWAL44Bernardo Dominic
1025Ivar G IturbideBrazil2024-06-22Dorl, James J Esq UNQUALIFIED80Ivan Magalhaes
1026Chavez X PoquetteJapan2024-06-12Buckley Miller Wright RENEWAL81Elwin Sharvill
1027Chavez O OstroskyIndia2024-05-25Rousseaux, Michael Esq NEW83Bernardo Dominic
1028Isabel G PoquetteIndia2024-06-04Benton, John B Jr NEGOTIATION24Stephen Shaw
1029Sinclair H CaudyBrazil2024-06-08Commercial Press PROPOSAL91Onyama Limba
1030Sinclair Q AmigonBrazil2024-06-13Chemel, James L Cpa NEW21Anna Fali
1031James R FlosiFrance2024-06-10Chapman, Ross E Esq PROPOSAL2Amy Elsner
1032Misaki U WaycottJapan2024-06-15Rousseaux, Michael Esq RENEWAL37Onyama Limba
1033Cody J RimIndia2024-06-05Feltz Printing Service NEGOTIATION28Anna Fali
1034Mujtaba B PoquetteArgentina2024-06-03Feltz Printing Service PROPOSAL66Onyama Limba
1035Antonio A SaylorsCanada2024-06-08Chanay, Jeffrey A Esq PROPOSAL26Amy Elsner
1036Rodrigues U StockhamArgentina2024-06-19Printing Dimensions QUALIFIED15Bernardo Dominic
1037Juan E CaldareraArgentina2024-06-15Chemel, James L Cpa UNQUALIFIED0Elwin Sharvill
1038Faith P NestleRussia2024-06-15Morlong Associates UNQUALIFIED99Ioni Bowcher
1039Jones C SlusarskiBrazil2024-06-02Feltz Printing Service RENEWAL25Xuxue Feng
1040Salvatore Z WaycottUnited Kingdom2024-06-16Truhlar And Truhlar Attys QUALIFIED59Ioni Bowcher
1041Costa A OldroydRussia2024-06-14Rangoni Of Florence UNQUALIFIED46Anna Fali
1042Aruna X SlusarskiBrazil2024-05-25Printing Dimensions UNQUALIFIED9Anna Fali
1043Murillo P NestleFrance2024-06-15Morlong Associates NEW54Anna Fali
1044David O TollnerBrazil2024-06-08Morlong Associates QUALIFIED59Stephen Shaw
1045Jones Z KuskoGermany2024-06-01Printing Dimensions NEGOTIATION42Elwin Sharvill
1046Julie K KolmetzArgentina2024-06-13Buckley Miller Wright NEW45Anna Fali
1047Costa R WieserFrance2024-06-16Buckley Miller Wright QUALIFIED53Elwin Sharvill
1048Deepesh Q GarufiItaly2024-06-14Buckley Miller Wright NEW31Amy Elsner
1049Stacey W CaudyFrance2024-05-28Printing Dimensions RENEWAL19Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Francesco Q BriddickCanadaIoni Bowcher PROPOSAL
Clifford V KuskoFranceAmy Elsner NEGOTIATION
Antonio R VocelkaJapanElwin Sharvill RENEWAL
Leon D DarakjyUnited KingdomAmy Elsner NEW
Mujtaba G AmigonUnited KingdomXuxue Feng UNQUALIFIED
Smith H MaletIndiaIvan Magalhaes UNQUALIFIED
Emily W MarrierItalyAnna Fali QUALIFIED
Murillo S KuskoRussiaAmy Elsner PROPOSAL
Emily Q RoysterAustraliaIoni Bowcher PROPOSAL
Jeanfrancois Q CaldareraRussiaIvan Magalhaes UNQUALIFIED
Salvatore S FlosiGermanyAnna Fali NEGOTIATION
Ivar A CampainBrazilElwin Sharvill QUALIFIED
Antonio L WhobreyCanadaIoni Bowcher NEW
Octavia H SaylorsItalyElwin Sharvill NEW
Faith V FerenczAustraliaIvan Magalhaes QUALIFIED
Mayumi N FollerBrazilAmy Elsner NEGOTIATION
Jones H CaldareraRussiaAnna Fali RENEWAL
Ivar Y BologniaCanadaIoni Bowcher QUALIFIED
Sinclair N TollnerSpainStephen Shaw NEGOTIATION
Morrow S PoquetteFranceIoni Bowcher UNQUALIFIED
Jefferson G BologniaFranceAmy Elsner NEGOTIATION
Kadeem W MorascaRussiaOnyama Limba PROPOSAL
Jones F AlbaresJapanXuxue Feng NEW
Mujtaba R AmigonItalyElwin Sharvill PROPOSAL
Rodrigues N WaycottArgentinaAmy Elsner NEGOTIATION
Costa R CampainAustraliaAmy Elsner RENEWAL
Rodrigues K RulapaughItalyAnna Fali RENEWAL
Juan C PaprockiCanadaStephen Shaw RENEWAL
Antonio R AlbaresSpainAsiya Javayant RENEWAL
Izzy Q OstroskyGermanyXuxue Feng PROPOSAL
Francesco X StensethSpainIoni Bowcher NEW
Clifford I PaprockiAustraliaOnyama Limba QUALIFIED
Kadeem F PoquetteBrazilAsiya Javayant UNQUALIFIED
Leon Y NickaArgentinaOnyama Limba RENEWAL
Jefferson D VenereIndiaXuxue Feng NEGOTIATION
Morrow N SlusarskiUnited KingdomXuxue Feng RENEWAL
Leon I PerinGermanyOnyama Limba RENEWAL
Chavez B VenereCanadaXuxue Feng QUALIFIED
Sinclair Y IturbideRussiaAsiya Javayant PROPOSAL
Cody A PerinItalyIvan Magalhaes NEW
Aika W BriddickCanadaAnna Fali UNQUALIFIED
Ricardo F SchemmerRussiaStephen Shaw UNQUALIFIED
Jennifer F NestleCanadaXuxue Feng RENEWAL
Maria L InouyeArgentinaElwin Sharvill RENEWAL
Antonio A PerinSpainStephen Shaw QUALIFIED
Stacey I MaletArgentinaAsiya Javayant NEGOTIATION
Ashley A FerenczGermanyAmy Elsner UNQUALIFIED
Chavez X RulapaughArgentinaElwin Sharvill QUALIFIED
Octavia F BowleyJapanIvan Magalhaes PROPOSAL
Cody W GauchoIndiaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Mayumi C Foller
Ivar Y Marrier
Nicolas L Nestle
Aruna Z Bowley
Izzy G Rim
Murillo W Ruta
Silvio A Wieser
Nicolas K Stenseth
Claire B Garufi
Morrow W Butt
Antonio Y Malet
Ricardo R Stockham
Jones A Figeroa
Leon X Poquette
Darci E Iturbide
Deepesh F Chui
Jones I Kusko
Jefferson G Ruta
Clifford O Ostrosky
Stacey F Gaucho
Cody M Darakjy
James L Nicka
Costa D Foller
Costa N Slusarski
Johnson O Ferencz
Jeanfrancois X Caldarera
Kadeem B Butt
Octavia M Chui
Arvin M Oldroyd
Jeanfrancois O Rim
David Z Kusko
Izzy Y Gaucho
Maisha Q Slusarski
Ashley L Poquette
Julie J Poquette
Jeanfrancois N Nicka
Jefferson S Tollner
Ashley Y Morasca
Emily G Malet
James N Caldarera
Morrow M Kusko
Faith Z Morasca
David A Ostrosky
Aika G Morasca
Jones J Perin
Maria M Ostrosky
Ashley C Saylors
Tony L Doe
Juan X Sergi
Juan B Oldroyd
IdCountryDate
1000Japan2024-06-01
1001Russia2024-05-26
1002Canada2024-06-18
1003Germany2024-06-22
1004Brazil2024-06-13
1005Germany2024-06-08
1006Argentina2024-06-05
1007Australia2024-06-06
1008United Kingdom2024-06-10
1009Germany2024-06-03
1010France2024-05-24
1011Argentina2024-06-16
1012Italy2024-06-04
1013Argentina2024-06-10
1014France2024-06-16
1015France2024-06-12
1016France2024-06-14
1017India2024-06-10
1018United Kingdom2024-06-04
1019Argentina2024-06-18
1020Spain2024-06-13
1021Brazil2024-06-13
1022Australia2024-06-14
1023Australia2024-06-04
1024Australia2024-06-19
1025Japan2024-06-15
1026France2024-05-25
1027Australia2024-05-27
1028Spain2024-05-30
1029Spain2024-06-01
1030Canada2024-06-13
1031Italy2024-06-19
1032France2024-05-26
1033Germany2024-06-15
1034Russia2024-05-27
1035Brazil2024-05-26
1036Brazil2024-06-20
1037Australia2024-06-19
1038Spain2024-06-02
1039Italy2024-06-03
1040India2024-05-25
1041United Kingdom2024-05-31
1042Canada2024-06-21
1043Italy2024-06-21
1044United Kingdom2024-06-04
1045France2024-06-05
1046India2024-06-20
1047Germany2024-06-17
1048India2024-06-04
1049Spain2024-06-02

On-Demand Data

NameIdCountryDate
Claire E Oldroyd1000Argentina2024-06-21
Juan A Foller1001France2024-06-07
Claire W Maclead1002Spain2024-06-11
Morrow G Caldarera1003Canada2024-06-12
Tony W Rim1004India2024-05-27
Faith Y Nestle1005India2024-06-01
Leon H Rulapaugh1006Canada2024-05-31
Deepesh D Venere1007United Kingdom2024-06-19
Deepesh E Wieser1008Spain2024-05-29
Antonio V Butt1009Spain2024-06-03
Alejandro L Doe1010United Kingdom2024-06-14
Octavia X Maclead1011Spain2024-06-11
Wickens E Nicka1012France2024-06-22
Munro J Garufi1013Spain2024-06-03
Leon R Dilliard1014Australia2024-06-22
Smith A Inouye1015Germany2024-06-11
Sinclair A Darakjy1016Italy2024-06-07
Rodrigues L Sergi1017Australia2024-06-06
Adams H Kolmetz1018Italy2024-05-25
Sinclair C Garufi1019France2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore D GlickFranceIoni Bowcher RENEWAL
Mujtaba Y FigeroaSpainAsiya Javayant PROPOSAL
Maria P GlickArgentinaBernardo Dominic UNQUALIFIED
Mujtaba H SlusarskiSpainIvan Magalhaes NEW
Adams L RoysterGermanyAnna Fali RENEWAL
Aditya M GlickCanadaElwin Sharvill QUALIFIED
Leon O AmigonCanadaXuxue Feng NEGOTIATION
Antonio O GarufiIndiaAsiya Javayant UNQUALIFIED
Emily Z ButtCanadaAnna Fali PROPOSAL
Jones L FollerBrazilAnna Fali QUALIFIED
Munro H MacleadCanadaIvan Magalhaes PROPOSAL
Ivar N NestleItalyStephen Shaw UNQUALIFIED
Aruna D AlbaresItalyAsiya Javayant UNQUALIFIED
Juan I PoquetteGermanyBernardo Dominic RENEWAL
Jennifer F KolmetzRussiaStephen Shaw RENEWAL
Claire N GillianSpainIvan Magalhaes NEGOTIATION
Mayumi P SergiUnited KingdomElwin Sharvill UNQUALIFIED
Cody Q BriddickFranceBernardo Dominic UNQUALIFIED
Leja A AlbaresBrazilXuxue Feng NEW
Adams Z CaldareraAustraliaStephen Shaw PROPOSAL
Ivar E AmigonAustraliaElwin Sharvill NEW
Alejandro Y RoysterRussiaAsiya Javayant NEGOTIATION
Maria B MaletFranceAnna Fali RENEWAL
Jeanfrancois A WhobreyJapanIoni Bowcher NEW
Mayumi Y RoysterCanadaStephen Shaw NEGOTIATION
Faith T ButtFranceXuxue Feng NEGOTIATION
Claire M SlusarskiCanadaStephen Shaw PROPOSAL
Faith P CaudyIndiaAsiya Javayant RENEWAL
Ivar X OldroydFranceOnyama Limba QUALIFIED
Tony T AmigonAustraliaIoni Bowcher NEW
Aruna F RoysterIndiaAnna Fali QUALIFIED
Isabel M NickaRussiaAsiya Javayant RENEWAL
Julie X MaletItalyElwin Sharvill UNQUALIFIED
Darci H AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Tony O MacleadCanadaStephen Shaw PROPOSAL
Alejandro Q CaldareraIndiaAsiya Javayant PROPOSAL
Ashley N TollnerItalyBernardo Dominic NEGOTIATION
Emily E VocelkaRussiaOnyama Limba QUALIFIED
Costa R VocelkaRussiaAsiya Javayant NEGOTIATION
Alejandro U WaycottAustraliaIvan Magalhaes RENEWAL

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