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
Claire K RulapaughIndiaAmy Elsner RENEWAL
Julie S RutaCanadaAnna Fali RENEWAL
Wickens M IturbideArgentinaElwin Sharvill QUALIFIED
Darci Z BriddickUnited KingdomAmy Elsner QUALIFIED
Jefferson D SchemmerFranceBernardo Dominic NEGOTIATION
Chavez T RoysterSpainIvan Magalhaes PROPOSAL
Cody I SchemmerSpainOnyama Limba QUALIFIED
Antonio J MacleadArgentinaElwin Sharvill QUALIFIED
Jones X SlusarskiFranceStephen Shaw PROPOSAL
Ricardo D MacleadBrazilAmy Elsner NEGOTIATION
Maria A OldroydCanadaAsiya Javayant QUALIFIED
Juan U RimCanadaAnna Fali NEGOTIATION
Jeanfrancois T MaletUnited KingdomElwin Sharvill PROPOSAL
Nicolas H MarrierUnited KingdomStephen Shaw PROPOSAL
Ashley Y ShinkoSpainXuxue Feng PROPOSAL
James A InouyeBrazilBernardo Dominic QUALIFIED
Maisha C FerenczRussiaStephen Shaw UNQUALIFIED
Cody Q NestleCanadaIoni Bowcher NEGOTIATION
Cody M MarrierGermanyAmy Elsner QUALIFIED
Smith T CaldareraJapanAmy Elsner NEGOTIATION
Julie N MorascaArgentinaOnyama Limba QUALIFIED
Alejandro R StockhamJapanAmy Elsner PROPOSAL
David M MorascaUnited KingdomAsiya Javayant RENEWAL
Cody P GillianUnited KingdomAmy Elsner NEW
Kadeem O RulapaughGermanyXuxue Feng PROPOSAL
Adams X FerenczItalyXuxue Feng NEW
Emily J FlosiBrazilIoni Bowcher RENEWAL
Antonio D FollerUnited KingdomIoni Bowcher RENEWAL
Murillo K BowleyFranceIoni Bowcher NEW
Isabel B MacleadUnited KingdomElwin Sharvill NEW
Tony S ButtFranceAsiya Javayant RENEWAL
Arvin V MorascaFranceXuxue Feng QUALIFIED
Jennifer E OldroydFranceStephen Shaw PROPOSAL
Smith K OstroskyFranceBernardo Dominic PROPOSAL
Rodrigues N GillianIndiaAmy Elsner QUALIFIED
Adams X InouyeUnited KingdomBernardo Dominic RENEWAL
Chavez T GillianJapanAnna Fali NEGOTIATION
Arvin Z PerinCanadaXuxue Feng UNQUALIFIED
Smith F PerinCanadaOnyama Limba QUALIFIED
Mujtaba G DarakjyAustraliaAsiya Javayant NEGOTIATION
Faith Z PerinJapanIvan Magalhaes NEGOTIATION
Cody A PaprockiBrazilIoni Bowcher RENEWAL
Deepesh G SlusarskiAustraliaIoni Bowcher NEGOTIATION
Darci A MarrierUnited KingdomXuxue Feng NEGOTIATION
Greenwood I FerenczBrazilElwin Sharvill QUALIFIED
Emily N AmigonArgentinaBernardo Dominic PROPOSAL
Aditya V RimUnited KingdomElwin Sharvill UNQUALIFIED
Johnson U FigeroaAustraliaIvan Magalhaes NEW
Aika C RimArgentinaIvan Magalhaes QUALIFIED
Smith D CaldareraRussiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois U MacleadFranceStephen Shaw NEW
Maria T DilliardItalyIoni Bowcher NEGOTIATION
Maria G DarakjyArgentinaAmy Elsner NEGOTIATION
David R MarrierArgentinaStephen Shaw QUALIFIED
Kadeem F CampainFranceElwin Sharvill RENEWAL
Rodrigues K DoeArgentinaXuxue Feng NEW
Isabel A StensethFranceBernardo Dominic UNQUALIFIED
Salvatore K NestleSpainIvan Magalhaes QUALIFIED
Alejandro X NickaUnited KingdomXuxue Feng QUALIFIED
Kaitlin E BologniaBrazilBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody B DarakjyJapan2026-10-09King, Christopher A Esq PROPOSAL12Amy Elsner
1001Izzy X WhobreyArgentina2026-10-13Buckley Miller Wright NEGOTIATION89Elwin Sharvill
1002Aditya C NickaAustralia2026-10-07Printing Dimensions QUALIFIED9Anna Fali
1003Aika G ShinkoSpain2026-10-11Rousseaux, Michael Esq PROPOSAL33Xuxue Feng
1004Rodrigues D ShinkoArgentina2026-10-08Buckley Miller Wright NEGOTIATION69Elwin Sharvill
1005Nicolas S PerinAustralia2026-10-01Morlong Associates NEW36Ioni Bowcher
1006Ricardo R MaletSpain2026-10-11Chemel, James L Cpa NEW76Ivan Magalhaes
1007Jeanfrancois E StensethGermany2026-10-01Benton, John B Jr PROPOSAL20Onyama Limba
1008Juan O MaletSpain2026-10-14Rangoni Of Florence UNQUALIFIED28Anna Fali
1009Jeanfrancois K PaprockiIndia2026-10-13King, Christopher A Esq PROPOSAL3Ioni Bowcher
1010Morrow X CampainGermany2026-10-19Benton, John B Jr UNQUALIFIED28Xuxue Feng
1011Smith D KuskoRussia2026-10-02Rangoni Of Florence NEW33Bernardo Dominic
1012Rodrigues J RulapaughIndia2026-10-12Benton, John B Jr QUALIFIED64Asiya Javayant
1013Cody M PaprockiIndia2026-10-05Feiner Bros NEGOTIATION30Xuxue Feng
1014Costa H OldroydSpain2026-10-10Chanay, Jeffrey A Esq PROPOSAL27Bernardo Dominic
1015Rodrigues Z MaletArgentina2026-10-03Rangoni Of Florence NEW11Xuxue Feng
1016Alejandro R WaycottRussia2026-10-14Feltz Printing Service QUALIFIED49Xuxue Feng
1017Claire T MaletRussia2026-09-30Rangoni Of Florence NEW19Stephen Shaw
1018Morrow S BologniaRussia2026-10-23King, Christopher A Esq UNQUALIFIED61Asiya Javayant
1019Tony A MaletItaly2026-10-02Commercial Press PROPOSAL29Ioni Bowcher
1020Jeanfrancois J NickaJapan2026-10-17Buckley Miller Wright PROPOSAL19Elwin Sharvill
1021Mayumi N InouyeCanada2026-09-30Benton, John B Jr QUALIFIED82Stephen Shaw
1022Octavia M SchemmerRussia2026-10-11Benton, John B Jr NEW69Ivan Magalhaes
1023Izzy S RulapaughUnited Kingdom2026-10-17Feiner Bros NEW55Stephen Shaw
1024Deepesh J RimJapan2026-10-01King, Christopher A Esq QUALIFIED42Anna Fali
1025Costa Q CaldareraJapan2026-10-07Rangoni Of Florence RENEWAL41Onyama Limba
1026Cody K MarrierSpain2026-10-21Rangoni Of Florence QUALIFIED4Onyama Limba
1027Jennifer O TollnerItaly2026-10-28Feiner Bros PROPOSAL75Elwin Sharvill
1028Aika T KolmetzFrance2026-10-22Feiner Bros NEGOTIATION48Ivan Magalhaes
1029Greenwood U StensethRussia2026-10-14Feltz Printing Service RENEWAL37Xuxue Feng
1030James P FerenczCanada2026-10-16Chapman, Ross E Esq PROPOSAL21Ivan Magalhaes
1031Isabel F DilliardRussia2026-10-01Feiner Bros NEW67Ivan Magalhaes
1032Morrow V MaletArgentina2026-10-06Rousseaux, Michael Esq RENEWAL75Ivan Magalhaes
1033Greenwood I AlbaresItaly2026-10-11Truhlar And Truhlar Attys RENEWAL12Amy Elsner
1034Ashley R WieserGermany2026-10-16Printing Dimensions UNQUALIFIED49Bernardo Dominic
1035Deepesh G RoysterGermany2026-10-03Rangoni Of Florence QUALIFIED95Ioni Bowcher
1036Jones I WieserRussia2026-10-17Truhlar And Truhlar Attys NEGOTIATION66Amy Elsner
1037Faith W RimSpain2026-10-06Benton, John B Jr RENEWAL52Stephen Shaw
1038Deepesh H StockhamIndia2026-10-29Morlong Associates PROPOSAL96Ivan Magalhaes
1039Tony M IturbideArgentina2026-10-05Feltz Printing Service PROPOSAL50Xuxue Feng
1040Rodrigues M DoeRussia2026-10-23Rousseaux, Michael Esq UNQUALIFIED82Stephen Shaw
1041Stacey A RoysterSpain2026-10-23Truhlar And Truhlar Attys NEW10Anna Fali
1042Julie M GarufiArgentina2026-10-06Commercial Press NEW8Bernardo Dominic
1043Arvin V StensethArgentina2026-10-14Commercial Press NEGOTIATION48Bernardo Dominic
1044Juan F FerenczSpain2026-10-06Printing Dimensions NEW81Ioni Bowcher
1045Maisha U WaycottUnited Kingdom2026-10-28Printing Dimensions RENEWAL85Elwin Sharvill
1046Julie W RutaRussia2026-10-24Commercial Press PROPOSAL83Amy Elsner
1047Emily J RimJapan2026-10-12Chemel, James L Cpa NEW51Stephen Shaw
1048Munro T RulapaughAustralia2026-10-26Chanay, Jeffrey A Esq QUALIFIED45Stephen Shaw
1049Ashley S OldroydItaly2026-10-15King, Christopher A Esq PROPOSAL64Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues T FollerItalyElwin Sharvill NEGOTIATION
Emily A MaletJapanStephen Shaw UNQUALIFIED
Johnson W VenereCanadaAnna Fali PROPOSAL
Ivar G FigeroaBrazilAmy Elsner NEW
Darci M RutaCanadaBernardo Dominic NEW
Aika G VocelkaBrazilElwin Sharvill NEW
Adams N FigeroaUnited KingdomXuxue Feng QUALIFIED
Aditya C OldroydItalyOnyama Limba NEGOTIATION
Aika V SaylorsCanadaIvan Magalhaes NEW
Kaitlin B SchemmerArgentinaIoni Bowcher UNQUALIFIED
Maria B ButtItalyElwin Sharvill PROPOSAL
Leon J FerenczItalyIvan Magalhaes NEGOTIATION
Tony Z GillianArgentinaAnna Fali NEGOTIATION
Chavez R PoquetteRussiaAsiya Javayant QUALIFIED
Leja G NickaAustraliaXuxue Feng NEW
Jefferson B OstroskyBrazilElwin Sharvill PROPOSAL
Emily W SchemmerItalyAnna Fali UNQUALIFIED
Salvatore C InouyeAustraliaElwin Sharvill PROPOSAL
James F MaletArgentinaStephen Shaw NEGOTIATION
Isabel E GauchoUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues C RutaRussiaAmy Elsner QUALIFIED
Jefferson H FollerSpainIvan Magalhaes RENEWAL
Salvatore Z GauchoUnited KingdomXuxue Feng UNQUALIFIED
Maria A StockhamIndiaAsiya Javayant NEW
David M GillianArgentinaAsiya Javayant PROPOSAL
Deepesh U WaycottItalyIoni Bowcher NEGOTIATION
Johnson D BriddickAustraliaIvan Magalhaes NEW
Antonio P RutaBrazilStephen Shaw RENEWAL
Jefferson Z ShinkoArgentinaAmy Elsner NEGOTIATION
Sinclair A SlusarskiAustraliaIvan Magalhaes RENEWAL
Clifford K FlosiFranceAsiya Javayant NEGOTIATION
Jeanfrancois W MaletBrazilAmy Elsner NEGOTIATION
Juan E PoquetteArgentinaAsiya Javayant RENEWAL
Claire T BriddickAustraliaXuxue Feng RENEWAL
Leon I WieserArgentinaElwin Sharvill UNQUALIFIED
Clifford T BriddickArgentinaAnna Fali NEW
Stacey R CaldareraAustraliaElwin Sharvill QUALIFIED
Kaitlin T NickaRussiaElwin Sharvill PROPOSAL
Johnson E BologniaItalyOnyama Limba PROPOSAL
Francesco Q GarufiItalyIvan Magalhaes PROPOSAL
Chavez Q DarakjyCanadaStephen Shaw NEGOTIATION
Faith L RoysterJapanOnyama Limba RENEWAL
Emily N MaletSpainBernardo Dominic PROPOSAL
Rodrigues S PaprockiFranceAsiya Javayant UNQUALIFIED
Mayumi V MarrierRussiaElwin Sharvill RENEWAL
Murillo A BologniaSpainIoni Bowcher NEGOTIATION
Aditya S CaudySpainElwin Sharvill RENEWAL
Greenwood Q GarufiGermanyAsiya Javayant QUALIFIED
Clifford L RimItalyAmy Elsner UNQUALIFIED
Nicolas E PaprockiItalyStephen Shaw NEGOTIATION
Frozen Columns
Name
Darci Q Poquette
Octavia E Garufi
Aruna P Inouye
Mayumi C Waycott
Maria T Malet
Leon R Venere
Izzy J Rim
Maisha B Paprocki
Leja V Malet
Costa K Stenseth
Cody U Butt
Faith A Garufi
Alejandro Y Waycott
Morrow U Slusarski
Smith P Chui
Jefferson K Caldarera
Julie S Bolognia
Nicolas Q Vocelka
Greenwood H Kusko
Johnson G Flosi
Alejandro E Morasca
Smith J Stockham
Jones B Ferencz
Wickens K Paprocki
Tony O Caudy
Kadeem P Flosi
Sinclair I Oldroyd
Munro Q Chui
Ricardo O Nestle
Kadeem D Ferencz
Chavez M Kusko
Adams O Waycott
Leon G Ferencz
Mayumi P Wieser
Juan M Iturbide
Clifford Q Waycott
Nicolas F Malet
Leja V Ruta
Aditya H Caldarera
Munro N Maclead
Kadeem J Rulapaugh
Claire K Campain
David C Dilliard
Maisha O Stenseth
Leja Z Vocelka
Ricardo Q Garufi
Mujtaba R Marrier
Ivar W Caudy
Johnson C Ferencz
Julie Z Iturbide
IdCountryDate
1000France2026-10-16
1001India2026-10-28
1002Canada2026-10-29
1003Italy2026-10-28
1004India2026-10-03
1005United Kingdom2026-10-09
1006Australia2026-10-24
1007France2026-10-11
1008Australia2026-10-15
1009Spain2026-10-18
1010Argentina2026-10-21
1011Japan2026-10-02
1012Brazil2026-10-03
1013Canada2026-10-11
1014Canada2026-10-09
1015Italy2026-10-14
1016India2026-10-04
1017Australia2026-10-01
1018Japan2026-10-22
1019Italy2026-10-22
1020France2026-10-01
1021Brazil2026-10-07
1022Australia2026-10-01
1023Brazil2026-10-19
1024France2026-10-09
1025France2026-10-15
1026Japan2026-10-28
1027Spain2026-09-30
1028Spain2026-10-17
1029Germany2026-10-23
1030Italy2026-10-18
1031Argentina2026-10-02
1032India2026-10-12
1033Russia2026-10-27
1034Canada2026-10-05
1035Australia2026-10-09
1036United Kingdom2026-10-25
1037France2026-10-08
1038Australia2026-10-14
1039Russia2026-10-13
1040India2026-10-13
1041Brazil2026-10-06
1042Spain2026-10-18
1043Russia2026-10-24
1044Italy2026-10-17
1045Japan2026-10-19
1046Germany2026-10-11
1047France2026-10-27
1048Italy2026-10-14
1049Argentina2026-10-17

On-Demand Data

NameIdCountryDate
Salvatore Y Malet1000Italy2026-10-07
Deepesh K Tollner1001France2026-10-03
Wickens P Glick1002Australia2026-10-26
Mayumi V Kolmetz1003Canada2026-10-03
Francesco M Figeroa1004Australia2026-10-17
Murillo B Shinko1005India2026-10-14
Costa Q Tollner1006Canada2026-10-26
Stacey E Butt1007United Kingdom2026-10-10
Julie S Malet1008Italy2026-10-23
Aditya N Figeroa1009Canada2026-09-30
Emily M Malet1010Russia2026-10-09
Adams V Butt1011Germany2026-10-22
Claire D Saylors1012Canada2026-10-06
Silvio R Shinko1013Australia2026-10-16
Salvatore T Ostrosky1014France2026-10-09
Maisha G Royster1015Russia2026-10-26
Aruna A Caldarera1016Italy2026-10-24
Arvin F Rulapaugh1017Italy2026-10-26
James O Kusko1018Italy2026-10-23
Maria T Caldarera1019Japan2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones C FollerGermanyXuxue Feng NEW
Chavez T DoeAustraliaIoni Bowcher NEGOTIATION
Octavia G FollerSpainBernardo Dominic QUALIFIED
Salvatore W ChuiJapanIvan Magalhaes UNQUALIFIED
Emily I AlbaresSpainElwin Sharvill RENEWAL
Deepesh J FerenczAustraliaAmy Elsner QUALIFIED
Costa A MorascaItalyAsiya Javayant NEW
Aditya J FollerCanadaIvan Magalhaes PROPOSAL
Misaki S InouyeFranceXuxue Feng UNQUALIFIED
Alejandro Z SergiUnited KingdomAnna Fali QUALIFIED
Smith P GillianRussiaAsiya Javayant PROPOSAL
Morrow H FlosiSpainOnyama Limba RENEWAL
Antonio U SergiJapanStephen Shaw UNQUALIFIED
Juan J PoquetteGermanyIvan Magalhaes RENEWAL
Ricardo C FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Antonio I GlickSpainAnna Fali PROPOSAL
Jennifer K DoeAustraliaAmy Elsner RENEWAL
Leja I SlusarskiFranceIoni Bowcher PROPOSAL
Murillo P RulapaughCanadaAsiya Javayant RENEWAL
Emily H IturbideUnited KingdomIvan Magalhaes NEW
Julie U SergiArgentinaElwin Sharvill UNQUALIFIED
James O RimItalyIvan Magalhaes QUALIFIED
David W RimIndiaXuxue Feng NEGOTIATION
Silvio B RimIndiaAmy Elsner NEW
Alejandro V BowleyCanadaAnna Fali PROPOSAL
Ricardo K ButtAustraliaAmy Elsner RENEWAL
Silvio W FerenczSpainAsiya Javayant NEGOTIATION
Cody O SaylorsUnited KingdomOnyama Limba PROPOSAL
Aditya M FollerBrazilAnna Fali NEGOTIATION
Jennifer G MacleadItalyAnna Fali NEGOTIATION
Silvio K BriddickCanadaElwin Sharvill QUALIFIED
Clifford E SergiUnited KingdomAmy Elsner NEGOTIATION
Arvin Z SaylorsArgentinaOnyama Limba UNQUALIFIED
Costa E MaletUnited KingdomBernardo Dominic NEGOTIATION
Tony R FollerItalyXuxue Feng UNQUALIFIED
Mayumi P CampainJapanIvan Magalhaes PROPOSAL
Darci W RoysterIndiaStephen Shaw RENEWAL
Murillo I GarufiAustraliaAnna Fali NEW
Emily J KolmetzSpainOnyama Limba QUALIFIED
Faith O KolmetzItalyXuxue Feng 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>