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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
James M KuskoItalyAmy Elsner UNQUALIFIED
Nicolas O PerinBrazilIoni Bowcher RENEWAL
Stacey I NickaGermanyIoni Bowcher PROPOSAL
Arvin C NestleSpainAmy Elsner RENEWAL
Mujtaba D InouyeSpainAsiya Javayant UNQUALIFIED
Aditya O KuskoArgentinaAsiya Javayant NEGOTIATION
Adams X WaycottGermanyOnyama Limba NEW
Murillo O StockhamAustraliaIoni Bowcher PROPOSAL
Juan N WhobreyIndiaIvan Magalhaes UNQUALIFIED
Maisha J FlosiArgentinaAnna Fali PROPOSAL
Chavez Y SergiCanadaXuxue Feng NEW
Murillo E SaylorsJapanElwin Sharvill UNQUALIFIED
Jennifer Z RoysterCanadaOnyama Limba NEW
James R ShinkoFranceOnyama Limba NEW
Emily U BologniaCanadaXuxue Feng UNQUALIFIED
Leja Z PaprockiBrazilXuxue Feng NEW
Adams X WaycottJapanAmy Elsner QUALIFIED
Emily T StockhamBrazilIoni Bowcher UNQUALIFIED
Emily A AmigonItalyAnna Fali PROPOSAL
Antonio M MorascaGermanyAmy Elsner NEGOTIATION
Claire R GauchoUnited KingdomOnyama Limba PROPOSAL
Arvin C NickaUnited KingdomAsiya Javayant QUALIFIED
Tony A MarrierSpainAnna Fali RENEWAL
Rodrigues A MarrierJapanAnna Fali RENEWAL
Adams H PerinCanadaStephen Shaw NEGOTIATION
Jeanfrancois F WaycottJapanIoni Bowcher RENEWAL
Sinclair A SchemmerBrazilXuxue Feng QUALIFIED
Emily Z RulapaughCanadaAmy Elsner RENEWAL
Misaki J WieserBrazilStephen Shaw NEW
Kadeem A OstroskyJapanAmy Elsner UNQUALIFIED
Kadeem V DilliardRussiaIvan Magalhaes RENEWAL
Jennifer Z NestleArgentinaXuxue Feng RENEWAL
Deepesh V WhobreyUnited KingdomAmy Elsner NEW
Silvio N ButtCanadaBernardo Dominic RENEWAL
Antonio E ButtGermanyAsiya Javayant UNQUALIFIED
Jones E PaprockiRussiaAsiya Javayant PROPOSAL
Leon D MacleadGermanyElwin Sharvill PROPOSAL
Mayumi N FlosiCanadaAmy Elsner NEW
Jeanfrancois J MaletBrazilAmy Elsner UNQUALIFIED
James D StockhamCanadaIoni Bowcher NEW
Arvin L SaylorsAustraliaIvan Magalhaes NEW
Julie W FollerIndiaAsiya Javayant PROPOSAL
Jennifer R KuskoFranceIvan Magalhaes NEGOTIATION
Jefferson T CaudyFranceAnna Fali PROPOSAL
Francesco U OstroskyJapanBernardo Dominic UNQUALIFIED
Izzy T WhobreyAustraliaBernardo Dominic UNQUALIFIED
Maisha A FigeroaGermanyIoni Bowcher RENEWAL
Smith N VenereFranceStephen Shaw QUALIFIED
Sinclair Q DilliardRussiaIvan Magalhaes PROPOSAL
Nicolas X GauchoJapanAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Arvin G CaldareraSpainAnna Fali RENEWAL
Smith V MorascaAustraliaElwin Sharvill RENEWAL
Sinclair S PaprockiGermanyOnyama Limba QUALIFIED
Maisha C IturbideCanadaOnyama Limba UNQUALIFIED
Isabel J FerenczFranceAnna Fali NEGOTIATION
Costa S MorascaBrazilElwin Sharvill UNQUALIFIED
Darci T DilliardGermanyAmy Elsner UNQUALIFIED
Silvio H FollerGermanyAmy Elsner PROPOSAL
Emily W CaldareraUnited KingdomStephen Shaw PROPOSAL
Jefferson W StockhamUnited KingdomElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro A NestleAustralia2025-06-11Commercial Press PROPOSAL87Ioni Bowcher
1001Jennifer I WieserBrazil2025-05-21Buckley Miller Wright PROPOSAL40Stephen Shaw
1002Murillo O CaudyCanada2025-05-30Benton, John B Jr UNQUALIFIED24Stephen Shaw
1003Chavez I ButtItaly2025-05-31Dorl, James J Esq UNQUALIFIED65Xuxue Feng
1004Greenwood O AmigonCanada2025-06-18Chanay, Jeffrey A Esq UNQUALIFIED68Xuxue Feng
1005Claire N CaudyJapan2025-06-19Rangoni Of Florence QUALIFIED39Ivan Magalhaes
1006Alejandro N VenereJapan2025-06-13Morlong Associates NEW21Stephen Shaw
1007Jefferson V FerenczAustralia2025-06-12Feltz Printing Service NEW60Anna Fali
1008Rodrigues J RimArgentina2025-06-14Feiner Bros PROPOSAL2Ivan Magalhaes
1009Deepesh Z CampainFrance2025-06-10Rousseaux, Michael Esq UNQUALIFIED6Stephen Shaw
1010Silvio Q RoysterItaly2025-06-10Truhlar And Truhlar Attys QUALIFIED8Ivan Magalhaes
1011Maria A AmigonUnited Kingdom2025-06-02Rangoni Of Florence NEW27Ivan Magalhaes
1012Ashley N ButtIndia2025-06-18Benton, John B Jr NEGOTIATION89Onyama Limba
1013Silvio Q SlusarskiUnited Kingdom2025-06-14Truhlar And Truhlar Attys UNQUALIFIED9Amy Elsner
1014Ashley H RutaCanada2025-05-31Printing Dimensions QUALIFIED98Onyama Limba
1015Kaitlin A PoquetteFrance2025-06-15Feiner Bros NEGOTIATION1Ivan Magalhaes
1016Isabel S GarufiFrance2025-06-15Benton, John B Jr NEGOTIATION49Ivan Magalhaes
1017Julie Q TollnerArgentina2025-06-15Commercial Press UNQUALIFIED13Ioni Bowcher
1018Aditya O WieserSpain2025-06-08Printing Dimensions RENEWAL87Elwin Sharvill
1019Alejandro H FollerRussia2025-06-01Printing Dimensions NEGOTIATION8Amy Elsner
1020Munro L NestleIndia2025-05-28Buckley Miller Wright RENEWAL48Stephen Shaw
1021Johnson B MaletRussia2025-05-25Commercial Press PROPOSAL98Ioni Bowcher
1022Isabel T SergiCanada2025-05-23Commercial Press PROPOSAL40Onyama Limba
1023Claire V TollnerCanada2025-05-22Morlong Associates NEGOTIATION99Anna Fali
1024Adams V PaprockiBrazil2025-05-29Rangoni Of Florence NEGOTIATION8Elwin Sharvill
1025Aika K RimBrazil2025-06-08Feltz Printing Service PROPOSAL10Anna Fali
1026Emily L SlusarskiBrazil2025-06-18Chanay, Jeffrey A Esq NEW85Bernardo Dominic
1027Alejandro J InouyeGermany2025-06-16Chapman, Ross E Esq RENEWAL96Ivan Magalhaes
1028Faith F StockhamUnited Kingdom2025-05-26Truhlar And Truhlar Attys PROPOSAL97Xuxue Feng
1029Nicolas B PaprockiRussia2025-05-30Benton, John B Jr UNQUALIFIED19Asiya Javayant
1030Isabel J NestleSpain2025-06-10King, Christopher A Esq NEGOTIATION60Stephen Shaw
1031Jeanfrancois R AlbaresAustralia2025-06-11Chemel, James L Cpa QUALIFIED92Ivan Magalhaes
1032Leja R SlusarskiAustralia2025-06-14Benton, John B Jr UNQUALIFIED90Ioni Bowcher
1033Leon X WieserSpain2025-05-24Chapman, Ross E Esq RENEWAL72Anna Fali
1034Adams H WhobreyCanada2025-05-22Feiner Bros RENEWAL99Stephen Shaw
1035Ivar A SaylorsJapan2025-06-08Printing Dimensions QUALIFIED82Amy Elsner
1036Wickens Y InouyeArgentina2025-05-23Feltz Printing Service RENEWAL41Onyama Limba
1037Tony L StockhamJapan2025-06-03Rangoni Of Florence PROPOSAL2Anna Fali
1038Jones G VocelkaRussia2025-06-19Rousseaux, Michael Esq NEW55Anna Fali
1039Sinclair L IturbideGermany2025-05-30Printing Dimensions PROPOSAL86Amy Elsner
1040Misaki U DilliardGermany2025-06-03Chanay, Jeffrey A Esq UNQUALIFIED30Ioni Bowcher
1041Greenwood R AmigonJapan2025-06-15Printing Dimensions RENEWAL84Asiya Javayant
1042Ashley J GauchoGermany2025-06-05Printing Dimensions NEGOTIATION77Ioni Bowcher
1043Leon C StensethUnited Kingdom2025-05-26King, Christopher A Esq QUALIFIED95Elwin Sharvill
1044Mujtaba W OldroydArgentina2025-06-03Rousseaux, Michael Esq UNQUALIFIED8Stephen Shaw
1045Isabel L KolmetzIndia2025-05-31Dorl, James J Esq PROPOSAL37Xuxue Feng
1046Arvin X BriddickBrazil2025-06-03Commercial Press NEGOTIATION76Anna Fali
1047Smith U MaletIndia2025-05-30Commercial Press QUALIFIED81Anna Fali
1048Stacey E WaycottJapan2025-05-28Chemel, James L Cpa UNQUALIFIED2Stephen Shaw
1049Ashley R GauchoGermany2025-06-11Feltz Printing Service NEGOTIATION86Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Cody P MarrierSpainOnyama Limba NEW
Munro G MaletRussiaIoni Bowcher RENEWAL
Kaitlin Q PerinSpainIoni Bowcher RENEWAL
Chavez L MaletBrazilIoni Bowcher NEW
Octavia L OstroskyBrazilXuxue Feng RENEWAL
Alejandro F ChuiGermanyBernardo Dominic QUALIFIED
Chavez I InouyeBrazilBernardo Dominic UNQUALIFIED
Izzy Z DoeUnited KingdomAmy Elsner UNQUALIFIED
Ashley I FerenczItalyAsiya Javayant NEGOTIATION
Maria N VenereIndiaIoni Bowcher UNQUALIFIED
Claire I StensethBrazilStephen Shaw NEW
Adams F SergiJapanBernardo Dominic RENEWAL
Morrow Z WieserArgentinaAsiya Javayant NEGOTIATION
Darci E WaycottAustraliaAsiya Javayant NEGOTIATION
Jennifer Q NickaSpainAnna Fali PROPOSAL
Jefferson V VenereItalyIoni Bowcher PROPOSAL
Aditya D OstroskyBrazilAmy Elsner NEW
Salvatore M SaylorsRussiaElwin Sharvill NEGOTIATION
Stacey S DoeCanadaElwin Sharvill NEGOTIATION
Clifford K WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Nicolas K MorascaBrazilBernardo Dominic QUALIFIED
Munro P DarakjySpainXuxue Feng RENEWAL
Emily J BriddickIndiaElwin Sharvill NEGOTIATION
Julie K IturbideIndiaAmy Elsner NEW
Sinclair Z BowleyRussiaAmy Elsner NEGOTIATION
Smith I GarufiGermanyXuxue Feng RENEWAL
Sinclair D StensethFranceAnna Fali UNQUALIFIED
Ricardo E WieserGermanyBernardo Dominic RENEWAL
Izzy H AlbaresFranceElwin Sharvill UNQUALIFIED
Leon X SergiAustraliaAsiya Javayant UNQUALIFIED
Wickens Z GarufiBrazilOnyama Limba NEGOTIATION
Mujtaba I MorascaSpainAsiya Javayant RENEWAL
Jones O SaylorsAustraliaAsiya Javayant NEGOTIATION
Jones V VocelkaUnited KingdomAsiya Javayant RENEWAL
Rodrigues G MaletItalyStephen Shaw QUALIFIED
Greenwood I KuskoSpainAmy Elsner NEW
Kaitlin S ShinkoIndiaBernardo Dominic RENEWAL
Alejandro M InouyeBrazilElwin Sharvill PROPOSAL
Mayumi P SlusarskiSpainIvan Magalhaes PROPOSAL
Aruna T RimGermanyIoni Bowcher RENEWAL
Silvio K OldroydItalyIoni Bowcher UNQUALIFIED
Julie H BologniaFranceAnna Fali UNQUALIFIED
Arvin Z NestleUnited KingdomBernardo Dominic PROPOSAL
Jefferson P RimArgentinaIvan Magalhaes PROPOSAL
Jefferson P IturbideUnited KingdomStephen Shaw NEW
Maria V WaycottCanadaAmy Elsner PROPOSAL
David Y ChuiIndiaStephen Shaw UNQUALIFIED
Murillo A RulapaughUnited KingdomAsiya Javayant NEW
Stacey Y OldroydRussiaAmy Elsner PROPOSAL
Ricardo L RoysterUnited KingdomAnna Fali NEW
Frozen Columns
Name
Morrow W Stenseth
Leja U Malet
Mayumi N Dilliard
Johnson E Maclead
Kadeem F Foller
Johnson V Nestle
Leja T Ostrosky
Isabel J Waycott
Morrow T Caldarera
Aika X Bolognia
Greenwood Q Ostrosky
Darci H Malet
Costa P Waycott
Nicolas Q Rulapaugh
Faith D Malet
Jones P Wieser
Jeanfrancois K Iturbide
Jennifer Y Marrier
Munro B Briddick
Isabel A Maclead
Octavia V Gillian
Maisha L Inouye
Jeanfrancois H Tollner
Leon V Kolmetz
Chavez K Albares
Chavez I Flosi
Izzy W Wieser
Isabel J Slusarski
Adams C Bolognia
Izzy B Dilliard
Francesco I Nicka
Claire K Kusko
Jennifer J Doe
Antonio O Stockham
Rodrigues T Gaucho
Isabel K Schemmer
Antonio B Paprocki
Cody S Glick
Deepesh Y Butt
Clifford B Dilliard
Cody D Caldarera
Munro E Malet
Cody J Gaucho
Aruna U Poquette
Izzy J Inouye
Tony L Paprocki
Johnson K Bolognia
Chavez X Bowley
Wickens Q Garufi
Leon S Caldarera
IdCountryDate
1000Brazil2025-06-06
1001Argentina2025-05-30
1002Spain2025-06-14
1003United Kingdom2025-06-12
1004Russia2025-06-10
1005France2025-06-09
1006United Kingdom2025-05-21
1007Argentina2025-06-11
1008United Kingdom2025-05-22
1009Germany2025-05-31
1010United Kingdom2025-06-19
1011Italy2025-06-02
1012Russia2025-05-23
1013India2025-05-29
1014Brazil2025-06-15
1015Brazil2025-05-30
1016Australia2025-06-11
1017France2025-05-30
1018Russia2025-06-07
1019Japan2025-06-13
1020Argentina2025-05-21
1021Australia2025-05-21
1022India2025-06-09
1023Japan2025-05-31
1024Germany2025-05-28
1025Canada2025-06-08
1026Spain2025-05-28
1027Japan2025-06-13
1028Canada2025-06-10
1029Argentina2025-06-07
1030Australia2025-06-14
1031Australia2025-05-22
1032France2025-05-24
1033India2025-06-13
1034United Kingdom2025-06-02
1035Japan2025-06-14
1036Argentina2025-06-03
1037United Kingdom2025-06-09
1038Germany2025-06-19
1039Spain2025-06-09
1040Russia2025-05-29
1041Russia2025-06-06
1042Japan2025-05-26
1043Russia2025-06-10
1044India2025-06-15
1045Russia2025-05-23
1046Germany2025-05-27
1047Argentina2025-06-09
1048France2025-05-31
1049Canada2025-06-18

On-Demand Data

NameIdCountryDate
Aika C Butt1000Japan2025-05-25
Claire D Campain1001Argentina2025-05-23
Mayumi S Kusko1002Canada2025-05-27
Faith D Paprocki1003Spain2025-05-25
Leon B Flosi1004Germany2025-06-05
Costa U Dilliard1005Canada2025-06-14
Morrow D Royster1006Spain2025-06-11
Maria K Dilliard1007Australia2025-06-01
Greenwood E Kolmetz1008Canada2025-06-15
Kaitlin O Venere1009Canada2025-05-31
Claire S Garufi1010Russia2025-06-08
Kaitlin N Kusko1011India2025-05-26
Silvio G Chui1012Japan2025-05-25
Greenwood B Sergi1013Brazil2025-06-09
Leon G Maclead1014Brazil2025-06-14
Deepesh G Ruta1015Argentina2025-06-04
Nicolas B Poquette1016Argentina2025-06-10
Johnson U Caudy1017Argentina2025-06-02
Alejandro U Bowley1018Russia2025-06-13
Maisha E Gaucho1019Spain2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo X OstroskyJapanElwin Sharvill UNQUALIFIED
Mayumi D MarrierRussiaOnyama Limba QUALIFIED
Costa L WaycottRussiaBernardo Dominic UNQUALIFIED
Ivar R WhobreySpainIoni Bowcher NEGOTIATION
Deepesh T KuskoFranceBernardo Dominic NEW
Leon O PaprockiArgentinaAnna Fali RENEWAL
Wickens O ShinkoJapanOnyama Limba NEGOTIATION
Faith W SaylorsAustraliaAnna Fali NEGOTIATION
Sinclair H ShinkoIndiaIvan Magalhaes NEW
Faith Y NickaAustraliaIoni Bowcher RENEWAL
Johnson Q StockhamArgentinaXuxue Feng RENEWAL
Wickens P MorascaBrazilBernardo Dominic PROPOSAL
Greenwood F SergiFranceOnyama Limba UNQUALIFIED
Clifford K GlickRussiaAmy Elsner PROPOSAL
Octavia T KuskoItalyAsiya Javayant UNQUALIFIED
Aika I MacleadJapanAsiya Javayant QUALIFIED
Arvin W SergiBrazilXuxue Feng QUALIFIED
Maisha T WaycottArgentinaStephen Shaw RENEWAL
Maisha B GarufiRussiaOnyama Limba QUALIFIED
Alejandro H FlosiFranceIoni Bowcher RENEWAL
Jefferson W PoquetteRussiaElwin Sharvill RENEWAL
Aditya Z NestleJapanIvan Magalhaes RENEWAL
Rodrigues S PaprockiArgentinaAsiya Javayant QUALIFIED
Arvin O CampainJapanAnna Fali UNQUALIFIED
Maisha O CaudyGermanyOnyama Limba QUALIFIED
Maria U FigeroaUnited KingdomBernardo Dominic NEW
Ashley C CampainAustraliaAmy Elsner NEW
Deepesh D TollnerJapanAsiya Javayant NEGOTIATION
Leon V TollnerGermanyOnyama Limba NEW
Stacey N CampainGermanyXuxue Feng NEW
Leja A BowleyRussiaBernardo Dominic PROPOSAL
Sinclair R ButtRussiaAsiya Javayant QUALIFIED
Salvatore J ChuiSpainAmy Elsner RENEWAL
Jeanfrancois I MaletIndiaIoni Bowcher NEW
Murillo N NestleArgentinaIoni Bowcher NEGOTIATION
David F PaprockiSpainIoni Bowcher NEGOTIATION
Jefferson H ChuiArgentinaBernardo Dominic UNQUALIFIED
Silvio X KuskoGermanyXuxue Feng PROPOSAL
Johnson A FigeroaFranceBernardo Dominic QUALIFIED
Juan D StockhamJapanAsiya Javayant NEW

<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" frozenColumnsAlignment="left">
            <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>