November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Tony C BologniaItalyBernardo Dominic NEGOTIATION
Chavez S BriddickJapanElwin Sharvill RENEWAL
James G OldroydAustraliaAsiya Javayant PROPOSAL
Maisha Z KuskoSpainStephen Shaw NEW
Stacey O VenereGermanyAmy Elsner RENEWAL
Alejandro V DarakjyGermanyElwin Sharvill NEGOTIATION
Munro D RoysterBrazilAsiya Javayant PROPOSAL
Misaki Z DarakjyGermanyBernardo Dominic PROPOSAL
Greenwood V BowleySpainBernardo Dominic RENEWAL
Adams I FigeroaJapanAnna Fali PROPOSAL
Johnson Z VocelkaAustraliaAsiya Javayant PROPOSAL
Ivar E FerenczGermanyBernardo Dominic RENEWAL
Morrow S AlbaresItalyIoni Bowcher UNQUALIFIED
Juan G GillianIndiaElwin Sharvill UNQUALIFIED
Ashley T GarufiBrazilOnyama Limba PROPOSAL
Kadeem Y MarrierUnited KingdomIoni Bowcher RENEWAL
Ivar K SaylorsSpainBernardo Dominic QUALIFIED
Aruna K WaycottCanadaAsiya Javayant RENEWAL
Smith D ButtFranceOnyama Limba NEGOTIATION
Stacey Z InouyeFranceIvan Magalhaes NEGOTIATION
Isabel D KuskoRussiaIvan Magalhaes QUALIFIED
Misaki X GauchoArgentinaAsiya Javayant UNQUALIFIED
Ricardo A NickaSpainElwin Sharvill NEW
Adams Y CaudyUnited KingdomOnyama Limba QUALIFIED
Misaki C AlbaresRussiaStephen Shaw UNQUALIFIED
Kaitlin I InouyeAustraliaAnna Fali NEGOTIATION
Faith K ButtFranceBernardo Dominic QUALIFIED
Kadeem N PaprockiSpainIoni Bowcher NEW
Jefferson S GillianArgentinaIoni Bowcher QUALIFIED
Ricardo P SchemmerAustraliaBernardo Dominic PROPOSAL
Faith P RutaFranceBernardo Dominic RENEWAL
Silvio A SergiFranceIoni Bowcher RENEWAL
Isabel F CaudyBrazilIvan Magalhaes UNQUALIFIED
Octavia Z VenereAustraliaStephen Shaw PROPOSAL
Tony I GlickSpainAnna Fali UNQUALIFIED
Faith G KuskoJapanAmy Elsner RENEWAL
Adams H FollerItalyStephen Shaw QUALIFIED
Izzy O SchemmerRussiaAmy Elsner UNQUALIFIED
Emily P FollerItalyAsiya Javayant NEGOTIATION
Adams T SchemmerRussiaXuxue Feng UNQUALIFIED
Smith U TollnerUnited KingdomAnna Fali NEGOTIATION
Wickens X WaycottAustraliaXuxue Feng UNQUALIFIED
Antonio O GillianBrazilIoni Bowcher PROPOSAL
Cody X OstroskyFranceElwin Sharvill QUALIFIED
Morrow J CaldareraJapanIoni Bowcher UNQUALIFIED
Smith X RutaRussiaIoni Bowcher NEW
Nicolas B DoeBrazilAnna Fali PROPOSAL
Aika X GlickGermanyXuxue Feng QUALIFIED
Leja L VocelkaUnited KingdomXuxue Feng NEGOTIATION
Stacey O CaldareraBrazilStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David A DoeAustraliaStephen Shaw UNQUALIFIED
Ricardo G MacleadRussiaAmy Elsner NEGOTIATION
Arvin O InouyeArgentinaAsiya Javayant UNQUALIFIED
Jennifer I RutaCanadaXuxue Feng UNQUALIFIED
James L AmigonFranceOnyama Limba NEGOTIATION
Faith H FollerUnited KingdomIvan Magalhaes QUALIFIED
Silvio M SergiUnited KingdomElwin Sharvill NEGOTIATION
Morrow C GillianSpainAsiya Javayant PROPOSAL
Wickens R OstroskySpainBernardo Dominic QUALIFIED
Misaki M RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo I MorascaSpain2026-11-08Printing Dimensions NEW52Onyama Limba
1001Julie D SlusarskiRussia2026-10-24Morlong Associates PROPOSAL5Anna Fali
1002Julie G BowleyRussia2026-10-14Chapman, Ross E Esq NEGOTIATION40Anna Fali
1003Sinclair B GlickFrance2026-10-27Morlong Associates QUALIFIED48Elwin Sharvill
1004Chavez X KolmetzCanada2026-11-04Truhlar And Truhlar Attys NEGOTIATION1Bernardo Dominic
1005Johnson B WieserFrance2026-11-09Truhlar And Truhlar Attys UNQUALIFIED54Ioni Bowcher
1006Aruna C FigeroaIndia2026-11-06Chapman, Ross E Esq NEGOTIATION92Anna Fali
1007Darci Y SchemmerSpain2026-11-07Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
1008James Q RutaRussia2026-10-31Chemel, James L Cpa NEGOTIATION79Ivan Magalhaes
1009Ricardo H StockhamAustralia2026-11-01Chemel, James L Cpa RENEWAL46Amy Elsner
1010Juan H SergiCanada2026-10-28Rangoni Of Florence NEGOTIATION18Ivan Magalhaes
1011Wickens G MaletIndia2026-10-29Dorl, James J Esq NEGOTIATION23Amy Elsner
1012Morrow H FigeroaGermany2026-10-27Feltz Printing Service NEW91Ivan Magalhaes
1013Sinclair Y RutaSpain2026-11-05Feiner Bros NEGOTIATION12Ivan Magalhaes
1014Clifford K PoquetteIndia2026-10-12Chapman, Ross E Esq UNQUALIFIED7Ivan Magalhaes
1015Maria Y GauchoBrazil2026-10-25Morlong Associates RENEWAL37Bernardo Dominic
1016Sinclair Y SaylorsAustralia2026-10-13Chemel, James L Cpa UNQUALIFIED24Elwin Sharvill
1017Maisha Q BologniaFrance2026-10-25Commercial Press NEGOTIATION79Xuxue Feng
1018Clifford Z SergiGermany2026-10-20Benton, John B Jr UNQUALIFIED46Ivan Magalhaes
1019Claire K InouyeArgentina2026-10-24Chemel, James L Cpa PROPOSAL76Ioni Bowcher
1020Morrow W CaldareraCanada2026-10-25Chemel, James L Cpa QUALIFIED82Xuxue Feng
1021Kadeem D NickaIndia2026-10-18Buckley Miller Wright NEGOTIATION8Asiya Javayant
1022Adams L FollerSpain2026-10-22Feiner Bros UNQUALIFIED58Ioni Bowcher
1023Emily Q WieserAustralia2026-10-31Truhlar And Truhlar Attys PROPOSAL4Ivan Magalhaes
1024Leja C ChuiUnited Kingdom2026-10-29Printing Dimensions UNQUALIFIED77Onyama Limba
1025Murillo I FollerItaly2026-10-19Feiner Bros PROPOSAL13Ivan Magalhaes
1026Julie I MorascaItaly2026-11-05Feltz Printing Service QUALIFIED15Anna Fali
1027Jeanfrancois H SlusarskiArgentina2026-10-11Buckley Miller Wright NEW70Anna Fali
1028Jennifer M RoysterCanada2026-10-24Morlong Associates NEGOTIATION70Bernardo Dominic
1029Claire N StockhamAustralia2026-11-06Benton, John B Jr RENEWAL57Asiya Javayant
1030Greenwood I BowleyAustralia2026-11-02King, Christopher A Esq RENEWAL47Bernardo Dominic
1031Kadeem U PoquetteFrance2026-10-17Benton, John B Jr QUALIFIED12Anna Fali
1032Rodrigues Z MacleadGermany2026-10-13Chemel, James L Cpa QUALIFIED2Onyama Limba
1033Murillo A PoquetteIndia2026-10-11Chemel, James L Cpa RENEWAL29Anna Fali
1034Octavia J SaylorsBrazil2026-10-11Rangoni Of Florence NEGOTIATION77Ivan Magalhaes
1035Jones Z NestleAustralia2026-10-11Chanay, Jeffrey A Esq NEW3Elwin Sharvill
1036Chavez C FollerCanada2026-10-23Benton, John B Jr NEW41Elwin Sharvill
1037Izzy Q ButtUnited Kingdom2026-11-02King, Christopher A Esq NEW54Anna Fali
1038Darci G MacleadFrance2026-11-08Dorl, James J Esq NEW24Elwin Sharvill
1039Kaitlin T MacleadUnited Kingdom2026-11-01Dorl, James J Esq NEW1Amy Elsner
1040Sinclair K FerenczCanada2026-10-11Feiner Bros QUALIFIED83Ivan Magalhaes
1041Cody I SchemmerAustralia2026-10-30Morlong Associates QUALIFIED88Ivan Magalhaes
1042Leon P SchemmerGermany2026-11-07Morlong Associates UNQUALIFIED55Elwin Sharvill
1043Chavez T CampainArgentina2026-11-09Chapman, Ross E Esq PROPOSAL48Ioni Bowcher
1044Jennifer I GlickGermany2026-10-19Feiner Bros NEGOTIATION59Anna Fali
1045James Q VocelkaJapan2026-11-04Morlong Associates NEW87Elwin Sharvill
1046Jefferson N FerenczUnited Kingdom2026-10-12King, Christopher A Esq NEGOTIATION45Xuxue Feng
1047Rodrigues N BowleySpain2026-10-16Rousseaux, Michael Esq PROPOSAL36Ioni Bowcher
1048Munro H KolmetzArgentina2026-10-28Chanay, Jeffrey A Esq QUALIFIED13Asiya Javayant
1049Nicolas F FollerRussia2026-10-21Chapman, Ross E Esq QUALIFIED81Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maisha G VocelkaArgentinaAmy Elsner QUALIFIED
Faith O FigeroaCanadaBernardo Dominic RENEWAL
Francesco W FollerIndiaAmy Elsner QUALIFIED
Stacey N ChuiFranceAsiya Javayant RENEWAL
Francesco U NickaFranceElwin Sharvill RENEWAL
Ivar P StensethSpainBernardo Dominic NEGOTIATION
Deepesh V StensethCanadaAnna Fali RENEWAL
Aika M ShinkoUnited KingdomStephen Shaw NEW
Morrow R VocelkaItalyAsiya Javayant NEGOTIATION
Octavia T DoeGermanyXuxue Feng QUALIFIED
Aditya X FlosiArgentinaBernardo Dominic PROPOSAL
Murillo K MorascaArgentinaOnyama Limba QUALIFIED
Tony R CaudyFranceIvan Magalhaes PROPOSAL
Izzy M AmigonArgentinaStephen Shaw PROPOSAL
Nicolas Z GarufiIndiaAnna Fali NEW
Nicolas V MorascaFranceIoni Bowcher RENEWAL
Deepesh D ButtIndiaXuxue Feng NEW
Claire Y BowleyJapanAmy Elsner PROPOSAL
Leon K WaycottSpainXuxue Feng RENEWAL
Ivar D StockhamBrazilIvan Magalhaes NEW
Isabel N WieserRussiaAmy Elsner NEGOTIATION
Leja S MorascaGermanyXuxue Feng RENEWAL
James C DoeItalyBernardo Dominic UNQUALIFIED
Leja U SaylorsItalyBernardo Dominic RENEWAL
Sinclair M StockhamBrazilElwin Sharvill RENEWAL
James U TollnerItalyAmy Elsner QUALIFIED
Rodrigues J BowleyAustraliaAnna Fali NEGOTIATION
Jennifer V FigeroaIndiaBernardo Dominic QUALIFIED
Jeanfrancois C GauchoArgentinaIoni Bowcher RENEWAL
Wickens T BriddickArgentinaAmy Elsner NEGOTIATION
Adams V MacleadCanadaStephen Shaw NEW
Stacey I BowleyArgentinaOnyama Limba RENEWAL
Faith D VocelkaFranceOnyama Limba RENEWAL
Kadeem T StockhamItalyAmy Elsner NEGOTIATION
Morrow W TollnerRussiaIoni Bowcher UNQUALIFIED
Silvio U BologniaRussiaElwin Sharvill UNQUALIFIED
Nicolas P SergiUnited KingdomAsiya Javayant RENEWAL
Emily P WaycottJapanIoni Bowcher UNQUALIFIED
Clifford X MaletUnited KingdomAsiya Javayant NEGOTIATION
Clifford A DoeUnited KingdomElwin Sharvill NEGOTIATION
Leon T PerinSpainAmy Elsner QUALIFIED
Aika D MaletCanadaIvan Magalhaes NEGOTIATION
Ricardo Z PaprockiUnited KingdomAnna Fali QUALIFIED
Adams U ButtUnited KingdomBernardo Dominic NEGOTIATION
Faith N SaylorsRussiaAsiya Javayant NEW
Silvio B OstroskyArgentinaStephen Shaw PROPOSAL
Rodrigues A GlickSpainStephen Shaw RENEWAL
Tony M DoeAustraliaAmy Elsner QUALIFIED
Leja Q OldroydIndiaIvan Magalhaes NEGOTIATION
Faith I SaylorsSpainAnna Fali NEGOTIATION
Frozen Columns
Name
Adams U Gillian
James X Figeroa
Deepesh C Slusarski
Alejandro B Venere
Emily S Malet
Jeanfrancois Q Figeroa
Kaitlin V Whobrey
Nicolas V Figeroa
Isabel B Venere
Sinclair P Bolognia
Mujtaba U Royster
Aruna Y Caldarera
Clifford G Rim
Smith F Darakjy
Stacey L Albares
Salvatore T Paprocki
Jeanfrancois U Albares
Leja T Kolmetz
Tony T Paprocki
Antonio W Caudy
Octavia B Amigon
Ricardo G Iturbide
Nicolas Q Royster
Adams P Caldarera
Octavia X Figeroa
Deepesh X Bowley
Leja R Shinko
Rodrigues K Kolmetz
Cody T Waycott
Alejandro T Stenseth
Adams W Garufi
Kaitlin M Garufi
Francesco F Dilliard
Jennifer M Marrier
Leja B Wieser
Aditya V Inouye
Mayumi T Whobrey
Clifford Q Tollner
Aika N Campain
James M Ruta
Deepesh E Campain
Alejandro B Ferencz
Jennifer V Stenseth
Mayumi O Stenseth
David Y Dilliard
Chavez H Poquette
Arvin Y Vocelka
Jefferson G Rim
Morrow I Saylors
Johnson I Kusko
IdCountryDate
1000India2026-10-15
1001Germany2026-11-01
1002Argentina2026-10-28
1003Germany2026-10-19
1004France2026-10-30
1005United Kingdom2026-10-21
1006Japan2026-10-23
1007France2026-11-09
1008Argentina2026-10-12
1009Germany2026-10-31
1010Canada2026-10-18
1011India2026-10-18
1012Brazil2026-11-04
1013Spain2026-11-06
1014France2026-10-13
1015United Kingdom2026-11-07
1016Russia2026-11-07
1017United Kingdom2026-11-02
1018France2026-11-05
1019Spain2026-10-26
1020France2026-10-20
1021Argentina2026-11-09
1022France2026-10-18
1023Australia2026-10-25
1024Japan2026-10-11
1025Spain2026-10-14
1026Italy2026-10-19
1027Japan2026-10-11
1028Australia2026-10-20
1029Russia2026-11-04
1030Argentina2026-10-22
1031Australia2026-10-13
1032Argentina2026-10-20
1033Germany2026-10-17
1034Germany2026-11-02
1035Brazil2026-10-31
1036France2026-11-09
1037Germany2026-10-18
1038India2026-11-03
1039Brazil2026-11-09
1040Brazil2026-10-30
1041Australia2026-10-28
1042Germany2026-11-01
1043Brazil2026-11-07
1044Brazil2026-10-24
1045United Kingdom2026-10-13
1046Spain2026-10-24
1047Canada2026-10-18
1048Russia2026-10-17
1049France2026-10-17

On-Demand Data

NameIdCountryDate
Stacey Y Tollner1000United Kingdom2026-11-06
Claire N Garufi1001India2026-10-31
Clifford P Poquette1002Spain2026-10-28
Misaki P Stockham1003Russia2026-10-31
Leon O Stenseth1004Spain2026-10-13
Leon P Paprocki1005Italy2026-10-25
Deepesh Q Whobrey1006Canada2026-10-17
Cody P Caudy1007United Kingdom2026-10-15
Octavia Z Slusarski1008Spain2026-11-06
Ricardo G Rulapaugh1009Italy2026-10-15
Francesco I Slusarski1010Argentina2026-11-07
Tony M Stenseth1011Germany2026-10-17
Darci B Albares1012Japan2026-10-14
Maisha Y Venere1013India2026-10-27
Arvin H Inouye1014Australia2026-10-15
Clifford J Rulapaugh1015Italy2026-10-24
Mujtaba B Malet1016Spain2026-11-02
Faith V Vocelka1017Japan2026-10-18
Antonio C Malet1018India2026-10-17
Costa D Ruta1019Italy2026-11-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio C MaletRussiaAsiya Javayant UNQUALIFIED
Rodrigues Q RulapaughUnited KingdomXuxue Feng NEW
Aruna F OldroydAustraliaOnyama Limba NEGOTIATION
Rodrigues I StockhamIndiaAmy Elsner QUALIFIED
Alejandro Q PaprockiItalyAmy Elsner QUALIFIED
Greenwood G TollnerBrazilAmy Elsner NEW
Morrow Z StensethUnited KingdomStephen Shaw NEW
Silvio E GillianFranceBernardo Dominic NEGOTIATION
David Y BowleyArgentinaAnna Fali PROPOSAL
Jeanfrancois G DilliardRussiaIvan Magalhaes RENEWAL
Jefferson L GarufiGermanyAmy Elsner NEGOTIATION
Adams O WieserUnited KingdomOnyama Limba RENEWAL
Deepesh E NickaCanadaBernardo Dominic RENEWAL
Chavez I ShinkoIndiaIvan Magalhaes NEGOTIATION
Wickens W KolmetzJapanAsiya Javayant PROPOSAL
Sinclair Z PaprockiRussiaIoni Bowcher RENEWAL
Emily S CampainFranceElwin Sharvill NEW
Ivar X WieserIndiaIvan Magalhaes NEW
Chavez S SlusarskiBrazilAnna Fali RENEWAL
Chavez T KolmetzArgentinaAnna Fali NEW
Aruna B GlickFranceIoni Bowcher NEGOTIATION
Aika U FlosiAustraliaOnyama Limba QUALIFIED
Cody D RulapaughGermanyAsiya Javayant QUALIFIED
Costa X GillianRussiaAmy Elsner NEGOTIATION
Adams A RimAustraliaIvan Magalhaes UNQUALIFIED
David S BologniaRussiaStephen Shaw NEW
Silvio N CaldareraIndiaBernardo Dominic NEW
Mayumi E MaletItalyAmy Elsner PROPOSAL
Leon Y OldroydJapanIoni Bowcher NEGOTIATION
Francesco N PerinIndiaXuxue Feng PROPOSAL
Kadeem W GarufiArgentinaXuxue Feng UNQUALIFIED
Kadeem K DilliardGermanyIoni Bowcher QUALIFIED
Maria W ShinkoCanadaElwin Sharvill NEW
Ricardo H CaudyIndiaBernardo Dominic PROPOSAL
Jones F SaylorsItalyAmy Elsner PROPOSAL
Sinclair F KuskoArgentinaXuxue Feng QUALIFIED
Antonio C OldroydItalyStephen Shaw QUALIFIED
Rodrigues P AlbaresItalyElwin Sharvill QUALIFIED
Maria D MacleadGermanyElwin Sharvill NEW
Maria G SergiSpainOnyama 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>