Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Ashley W RutaGermanyXuxue Feng QUALIFIED
Silvio G RoysterArgentinaOnyama Limba NEGOTIATION
Wickens X WieserSpainElwin Sharvill NEW
Izzy N RimJapanOnyama Limba NEGOTIATION
Ivar M RimCanadaAnna Fali NEW
Salvatore O OldroydJapanOnyama Limba NEGOTIATION
Murillo H OldroydGermanyOnyama Limba RENEWAL
Misaki H FigeroaBrazilIoni Bowcher UNQUALIFIED
Ashley S CampainUnited KingdomBernardo Dominic UNQUALIFIED
Jones Y NestleJapanAmy Elsner UNQUALIFIED
David B NickaFranceBernardo Dominic QUALIFIED
Leja R VocelkaGermanyAsiya Javayant NEW
Nicolas E FlosiJapanAsiya Javayant RENEWAL
Aditya N VenereAustraliaAnna Fali UNQUALIFIED
Jones J GauchoGermanyXuxue Feng RENEWAL
Costa N BologniaIndiaIoni Bowcher QUALIFIED
Murillo Y DoeItalyIoni Bowcher QUALIFIED
Ricardo F GillianAustraliaIvan Magalhaes NEGOTIATION
Tony M SaylorsRussiaAsiya Javayant UNQUALIFIED
David V GillianArgentinaXuxue Feng RENEWAL
Sinclair L FollerBrazilIoni Bowcher RENEWAL
Kadeem B RutaBrazilIoni Bowcher QUALIFIED
Sinclair J GlickSpainAmy Elsner NEGOTIATION
Tony P GauchoItalyAsiya Javayant RENEWAL
Ricardo P CaudyIndiaBernardo Dominic NEGOTIATION
David C ChuiAustraliaBernardo Dominic NEW
Juan B SchemmerIndiaElwin Sharvill NEGOTIATION
Julie R SergiRussiaIvan Magalhaes QUALIFIED
Misaki N WieserAustraliaIvan Magalhaes NEGOTIATION
Jones I ButtGermanyIoni Bowcher PROPOSAL
Rodrigues E NestleRussiaAsiya Javayant NEGOTIATION
Jennifer M SaylorsCanadaAsiya Javayant UNQUALIFIED
Ashley C FlosiIndiaElwin Sharvill UNQUALIFIED
Deepesh L StockhamAustraliaIvan Magalhaes NEW
Rodrigues W MacleadAustraliaElwin Sharvill PROPOSAL
Kaitlin A RoysterArgentinaAnna Fali RENEWAL
Juan V SergiJapanAmy Elsner RENEWAL
Misaki P KuskoCanadaElwin Sharvill RENEWAL
Emily W StockhamRussiaAsiya Javayant UNQUALIFIED
Faith J MarrierIndiaIvan Magalhaes QUALIFIED
Aditya S FigeroaBrazilElwin Sharvill NEW
Antonio W RutaArgentinaStephen Shaw NEW
David E IturbideFranceXuxue Feng NEGOTIATION
Costa Q StockhamSpainIoni Bowcher PROPOSAL
Jeanfrancois S VocelkaJapanStephen Shaw UNQUALIFIED
Munro L DarakjyJapanIvan Magalhaes QUALIFIED
Chavez R MorascaFranceElwin Sharvill NEGOTIATION
Sinclair Y CampainCanadaXuxue Feng NEGOTIATION
Munro U PaprockiIndiaIoni Bowcher PROPOSAL
Ivar N FerenczUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aditya M CaldareraSpainOnyama Limba NEGOTIATION
Arvin J WieserGermanyIvan Magalhaes QUALIFIED
Mujtaba S KolmetzJapanStephen Shaw RENEWAL
Maisha D PaprockiGermanyIvan Magalhaes NEW
Maisha Z CaudySpainIvan Magalhaes NEGOTIATION
Maria W PoquetteRussiaStephen Shaw NEW
Costa Y StensethBrazilXuxue Feng NEGOTIATION
Kaitlin E FerenczArgentinaBernardo Dominic RENEWAL
Morrow Y OstroskyUnited KingdomXuxue Feng NEW
Nicolas Y RutaRussiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria S MacleadArgentina2025-10-14Buckley Miller Wright RENEWAL10Xuxue Feng
1001Ashley L DoeGermany2025-09-26Morlong Associates PROPOSAL14Anna Fali
1002Wickens Q OstroskyAustralia2025-10-18Printing Dimensions PROPOSAL14Asiya Javayant
1003Sinclair Z InouyeRussia2025-10-16Printing Dimensions QUALIFIED12Amy Elsner
1004Jeanfrancois Y ButtRussia2025-10-07Morlong Associates PROPOSAL69Onyama Limba
1005Chavez K CaldareraGermany2025-09-19Benton, John B Jr RENEWAL2Onyama Limba
1006Maria E RoysterSpain2025-09-24Chapman, Ross E Esq RENEWAL23Asiya Javayant
1007Clifford R ShinkoFrance2025-10-16Feltz Printing Service NEGOTIATION35Ioni Bowcher
1008Kadeem Q InouyeUnited Kingdom2025-09-29Chemel, James L Cpa NEW79Amy Elsner
1009Nicolas N GlickGermany2025-10-18Chapman, Ross E Esq NEW31Bernardo Dominic
1010Francesco A WaycottCanada2025-09-24Truhlar And Truhlar Attys NEGOTIATION78Xuxue Feng
1011Tony F WhobreyIndia2025-09-27Chemel, James L Cpa PROPOSAL48Amy Elsner
1012Adams P OldroydIndia2025-09-26Rangoni Of Florence PROPOSAL47Bernardo Dominic
1013Silvio K GarufiRussia2025-09-22Rousseaux, Michael Esq PROPOSAL92Stephen Shaw
1014Isabel Y InouyeItaly2025-09-20Commercial Press QUALIFIED3Xuxue Feng
1015Julie D CaldareraCanada2025-09-30Chemel, James L Cpa NEGOTIATION42Ivan Magalhaes
1016Jefferson C MaletCanada2025-10-03Rousseaux, Michael Esq QUALIFIED67Onyama Limba
1017Adams D MacleadCanada2025-10-11King, Christopher A Esq PROPOSAL1Bernardo Dominic
1018Misaki T CaldareraUnited Kingdom2025-10-03Chapman, Ross E Esq QUALIFIED59Anna Fali
1019Greenwood A DilliardAustralia2025-09-23Chapman, Ross E Esq NEGOTIATION15Anna Fali
1020Aditya N StensethArgentina2025-10-13King, Christopher A Esq QUALIFIED46Elwin Sharvill
1021Wickens T PoquetteBrazil2025-09-29Dorl, James J Esq PROPOSAL23Stephen Shaw
1022Jeanfrancois I DarakjyItaly2025-10-09Dorl, James J Esq RENEWAL66Bernardo Dominic
1023Mujtaba H IturbideSpain2025-10-15Feltz Printing Service NEGOTIATION65Ivan Magalhaes
1024Nicolas Z InouyeFrance2025-09-26Buckley Miller Wright PROPOSAL42Anna Fali
1025Tony U RimSpain2025-10-12Dorl, James J Esq NEGOTIATION29Anna Fali
1026Antonio V RoysterSpain2025-09-23Buckley Miller Wright NEGOTIATION94Xuxue Feng
1027Munro F DarakjyAustralia2025-10-06Rangoni Of Florence UNQUALIFIED85Ioni Bowcher
1028Mujtaba A SergiJapan2025-09-24Commercial Press RENEWAL95Anna Fali
1029Salvatore U CampainUnited Kingdom2025-09-20Dorl, James J Esq UNQUALIFIED56Asiya Javayant
1030Salvatore F MacleadUnited Kingdom2025-10-06Morlong Associates NEW81Amy Elsner
1031Jefferson X StockhamRussia2025-10-10Benton, John B Jr UNQUALIFIED12Anna Fali
1032Claire Q GauchoFrance2025-10-18Benton, John B Jr QUALIFIED39Amy Elsner
1033Leon T AmigonUnited Kingdom2025-09-28Truhlar And Truhlar Attys NEGOTIATION67Amy Elsner
1034Ivar W AlbaresCanada2025-10-11Feltz Printing Service UNQUALIFIED89Xuxue Feng
1035Isabel Y SergiFrance2025-10-18Rousseaux, Michael Esq NEW73Amy Elsner
1036Kadeem M CaudyAustralia2025-09-23Rousseaux, Michael Esq NEW93Amy Elsner
1037Jones V MarrierIndia2025-09-21Benton, John B Jr NEGOTIATION98Amy Elsner
1038Octavia F IturbideFrance2025-10-06Chemel, James L Cpa NEW52Xuxue Feng
1039Jennifer Z CaudyBrazil2025-09-20Feiner Bros NEW34Elwin Sharvill
1040Kadeem G MaletFrance2025-10-17Benton, John B Jr QUALIFIED93Asiya Javayant
1041Isabel U SchemmerAustralia2025-10-03Benton, John B Jr PROPOSAL23Ioni Bowcher
1042Aika A DilliardFrance2025-10-05Buckley Miller Wright UNQUALIFIED18Amy Elsner
1043Francesco R BologniaSpain2025-10-15Chemel, James L Cpa UNQUALIFIED78Ioni Bowcher
1044Maisha X WhobreyFrance2025-09-21Feiner Bros NEGOTIATION58Stephen Shaw
1045Alejandro M BowleySpain2025-10-10Buckley Miller Wright PROPOSAL30Anna Fali
1046Silvio L BriddickCanada2025-10-02Chapman, Ross E Esq UNQUALIFIED89Onyama Limba
1047Maisha A CampainUnited Kingdom2025-09-21Benton, John B Jr NEW1Amy Elsner
1048Tony A KuskoRussia2025-09-22Morlong Associates PROPOSAL98Anna Fali
1049Maisha A KuskoArgentina2025-09-29Morlong Associates NEW4Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Emily M ShinkoCanadaIvan Magalhaes PROPOSAL
Munro I CaldareraItalyStephen Shaw QUALIFIED
Arvin L MaletGermanyXuxue Feng NEW
Antonio K PoquetteJapanElwin Sharvill NEGOTIATION
Faith N BriddickArgentinaStephen Shaw UNQUALIFIED
Aruna E RimUnited KingdomElwin Sharvill NEW
Clifford Z AlbaresIndiaXuxue Feng QUALIFIED
Mayumi P CaudyItalyBernardo Dominic QUALIFIED
Antonio I MorascaJapanIvan Magalhaes PROPOSAL
Maisha S BriddickFranceAsiya Javayant RENEWAL
Aruna L PaprockiArgentinaBernardo Dominic RENEWAL
Maisha F StensethArgentinaAnna Fali RENEWAL
Ivar F CaudyFranceIoni Bowcher NEGOTIATION
Silvio O SlusarskiItalyAnna Fali NEW
Mayumi H SlusarskiArgentinaAnna Fali RENEWAL
Aditya X TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Adams H GillianCanadaOnyama Limba NEW
Francesco M TollnerAustraliaAmy Elsner UNQUALIFIED
Greenwood U BriddickAustraliaAnna Fali UNQUALIFIED
Arvin J VocelkaRussiaAnna Fali QUALIFIED
Claire S OstroskyBrazilElwin Sharvill NEGOTIATION
Tony S NickaIndiaIoni Bowcher RENEWAL
Costa B PerinAustraliaIoni Bowcher QUALIFIED
Alejandro B SergiUnited KingdomBernardo Dominic QUALIFIED
Jefferson E ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Adams I InouyeCanadaAmy Elsner RENEWAL
Arvin P MorascaBrazilBernardo Dominic UNQUALIFIED
Ivar F CaldareraJapanAmy Elsner QUALIFIED
James M VocelkaItalyAnna Fali RENEWAL
Munro U PaprockiFranceElwin Sharvill NEW
Greenwood I RutaJapanAsiya Javayant RENEWAL
Francesco F WaycottJapanBernardo Dominic QUALIFIED
Alejandro J RulapaughFranceBernardo Dominic QUALIFIED
Jones T GillianCanadaIvan Magalhaes QUALIFIED
Isabel T MaletItalyOnyama Limba NEW
Adams O RoysterUnited KingdomElwin Sharvill RENEWAL
Aditya T VocelkaItalyAsiya Javayant UNQUALIFIED
James P AmigonAustraliaIoni Bowcher NEW
Clifford Z PerinFranceAnna Fali UNQUALIFIED
Aruna F TollnerBrazilAmy Elsner PROPOSAL
Darci V RulapaughRussiaStephen Shaw NEW
Nicolas C WaycottSpainIvan Magalhaes RENEWAL
Aruna I PerinJapanXuxue Feng UNQUALIFIED
Leon C FigeroaAustraliaElwin Sharvill NEW
Antonio E IturbideBrazilAnna Fali NEGOTIATION
Kadeem Y PaprockiGermanyAsiya Javayant NEGOTIATION
James B WaycottJapanOnyama Limba UNQUALIFIED
Jefferson C FerenczBrazilAnna Fali NEW
Claire C DilliardGermanyStephen Shaw NEGOTIATION
Jefferson B BriddickRussiaXuxue Feng PROPOSAL
Frozen Columns
Name
Jeanfrancois D Inouye
Nicolas D Royster
Claire I Whobrey
Julie S Ruta
Clifford V Butt
Maria D Nestle
Jeanfrancois G Bolognia
Alejandro N Amigon
Morrow A Maclead
Maisha B Venere
Octavia A Dilliard
Octavia B Kolmetz
Nicolas Y Stenseth
Wickens Q Caudy
Ivar V Marrier
Murillo V Oldroyd
Tony T Butt
Leja J Maclead
Claire C Foller
Aditya A Waycott
Rodrigues J Darakjy
Murillo T Schemmer
Morrow F Bowley
Alejandro Z Stockham
Mayumi N Bolognia
Izzy A Gaucho
David E Stockham
Aditya Z Flosi
Rodrigues P Glick
Antonio J Schemmer
Maisha A Maclead
Emily U Perin
Kadeem O Ostrosky
Clifford Z Doe
Julie I Briddick
Costa R Inouye
Munro D Shinko
James F Marrier
Wickens A Foller
Francesco U Rim
Morrow W Inouye
Rodrigues W Briddick
Julie H Slusarski
Rodrigues G Vocelka
Octavia K Paprocki
Deepesh R Butt
Maisha J Glick
Deepesh P Stockham
Claire O Stenseth
Clifford A Sergi
IdCountryDate
1000Australia2025-10-01
1001United Kingdom2025-10-09
1002India2025-10-14
1003Germany2025-10-02
1004Argentina2025-10-05
1005Brazil2025-09-26
1006Spain2025-10-14
1007Japan2025-10-04
1008France2025-10-10
1009Spain2025-10-07
1010Italy2025-10-03
1011Germany2025-10-10
1012Germany2025-10-04
1013Spain2025-10-03
1014Spain2025-10-05
1015India2025-10-13
1016Spain2025-10-18
1017Brazil2025-10-07
1018United Kingdom2025-10-05
1019Spain2025-09-19
1020Italy2025-09-27
1021Canada2025-09-27
1022Germany2025-09-22
1023Canada2025-10-07
1024United Kingdom2025-09-30
1025Germany2025-09-20
1026Australia2025-10-07
1027Italy2025-10-13
1028Japan2025-09-25
1029Italy2025-09-28
1030Australia2025-09-22
1031Australia2025-10-08
1032Argentina2025-10-12
1033India2025-10-04
1034Spain2025-10-18
1035India2025-10-18
1036Canada2025-10-06
1037Italy2025-10-03
1038India2025-09-22
1039India2025-09-23
1040Japan2025-09-27
1041Australia2025-10-10
1042Canada2025-09-22
1043Italy2025-10-11
1044France2025-10-15
1045Argentina2025-10-13
1046Japan2025-10-06
1047Australia2025-09-28
1048Japan2025-10-03
1049Italy2025-10-17

On-Demand Data

NameIdCountryDate
Silvio S Foller1000United Kingdom2025-10-17
Mayumi B Amigon1001Brazil2025-09-28
Ricardo Q Albares1002United Kingdom2025-10-14
Francesco S Iturbide1003Spain2025-10-01
Kadeem D Wieser1004Germany2025-10-05
Darci K Caldarera1005Spain2025-09-25
Kadeem M Ostrosky1006Japan2025-10-14
Smith R Glick1007France2025-09-29
Wickens P Ruta1008Spain2025-09-22
Nicolas B Butt1009Italy2025-09-27
Julie K Garufi1010India2025-09-27
Juan F Sergi1011Russia2025-10-03
Maria J Vocelka1012United Kingdom2025-09-30
Ricardo U Albares1013Japan2025-10-04
Francesco T Waycott1014Canada2025-10-04
Mujtaba G Nestle1015Argentina2025-09-28
Johnson I Saylors1016Argentina2025-10-04
Clifford H Paprocki1017Australia2025-10-18
Octavia T Dilliard1018United Kingdom2025-10-01
Salvatore O Caldarera1019Brazil2025-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio G ButtSpainBernardo Dominic NEW
Salvatore P FollerIndiaIvan Magalhaes RENEWAL
Jeanfrancois G OstroskyItalyElwin Sharvill NEGOTIATION
Leja N MorascaJapanAnna Fali NEW
Smith H StensethIndiaAmy Elsner QUALIFIED
Munro U GillianJapanAmy Elsner PROPOSAL
Maria Z FigeroaGermanyIoni Bowcher RENEWAL
Faith Y SergiItalyOnyama Limba NEGOTIATION
Salvatore L GlickItalyAnna Fali RENEWAL
Julie Q FerenczCanadaAsiya Javayant RENEWAL
Jennifer F WhobreyBrazilXuxue Feng NEGOTIATION
Costa H ChuiCanadaStephen Shaw NEW
Cody V PaprockiCanadaBernardo Dominic UNQUALIFIED
Munro U FigeroaJapanAmy Elsner UNQUALIFIED
Mayumi U DarakjyGermanyXuxue Feng PROPOSAL
Misaki D GauchoRussiaBernardo Dominic QUALIFIED
Octavia S DarakjyArgentinaOnyama Limba RENEWAL
Cody V CaudyFranceIoni Bowcher NEGOTIATION
Rodrigues L TollnerIndiaIoni Bowcher UNQUALIFIED
James B AlbaresCanadaOnyama Limba PROPOSAL
Darci G SergiCanadaIvan Magalhaes NEW
Adams M PerinGermanyXuxue Feng NEW
Clifford Z OstroskyIndiaAmy Elsner NEW
Darci I GauchoGermanyAmy Elsner RENEWAL
Aika E VenereFranceStephen Shaw UNQUALIFIED
Jennifer U GlickItalyElwin Sharvill UNQUALIFIED
Jefferson V ButtIndiaIoni Bowcher PROPOSAL
Maisha H SlusarskiArgentinaXuxue Feng QUALIFIED
Ricardo Z KuskoJapanAmy Elsner PROPOSAL
Ricardo S ShinkoFranceIoni Bowcher UNQUALIFIED
Ivar D CaldareraJapanIoni Bowcher PROPOSAL
Maisha Y CaudyRussiaIoni Bowcher NEGOTIATION
Mujtaba U IturbideUnited KingdomStephen Shaw UNQUALIFIED
Greenwood R KolmetzBrazilElwin Sharvill NEW
Claire C WaycottUnited KingdomOnyama Limba RENEWAL
Salvatore I NestleAustraliaIoni Bowcher RENEWAL
Munro C GarufiRussiaXuxue Feng NEGOTIATION
Aika Y GauchoUnited KingdomAnna Fali NEW
Ivar E FerenczBrazilElwin Sharvill NEW
Aditya E MaletGermanyOnyama Limba 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" 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>