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
Antonio F ButtSpainXuxue Feng UNQUALIFIED
Nicolas L OstroskyJapanOnyama Limba NEW
Juan B KuskoCanadaIoni Bowcher UNQUALIFIED
Clifford J CampainIndiaAnna Fali PROPOSAL
Jefferson C DarakjyAustraliaAnna Fali UNQUALIFIED
Ashley F BowleyFranceAnna Fali RENEWAL
Cody I RoysterIndiaIoni Bowcher QUALIFIED
Clifford D InouyeItalyAmy Elsner PROPOSAL
Wickens O InouyeItalyAsiya Javayant UNQUALIFIED
Mayumi G GillianGermanyXuxue Feng PROPOSAL
Francesco Y OldroydRussiaBernardo Dominic UNQUALIFIED
Salvatore O PoquetteAustraliaAmy Elsner QUALIFIED
Kadeem T FigeroaFranceBernardo Dominic QUALIFIED
Jeanfrancois U WaycottItalyIvan Magalhaes RENEWAL
Octavia V IturbideBrazilXuxue Feng UNQUALIFIED
Clifford Y WaycottIndiaAmy Elsner UNQUALIFIED
Adams V FigeroaSpainBernardo Dominic RENEWAL
Maisha U DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair J VocelkaCanadaBernardo Dominic RENEWAL
Jefferson Q NestleFranceOnyama Limba RENEWAL
Jennifer L CampainArgentinaStephen Shaw UNQUALIFIED
James V SergiIndiaElwin Sharvill UNQUALIFIED
Tony F DarakjyItalyBernardo Dominic UNQUALIFIED
Darci J MaletArgentinaStephen Shaw PROPOSAL
Cody I IturbideCanadaIoni Bowcher NEW
Leon B PaprockiArgentinaBernardo Dominic NEGOTIATION
Clifford V GauchoGermanyOnyama Limba QUALIFIED
Salvatore A VenereItalyAsiya Javayant RENEWAL
Arvin T ShinkoCanadaAsiya Javayant PROPOSAL
Ricardo O MorascaSpainAnna Fali RENEWAL
Adams X WhobreyRussiaElwin Sharvill NEGOTIATION
Cody R CampainAustraliaElwin Sharvill NEW
Juan B FlosiRussiaAnna Fali PROPOSAL
Francesco D GarufiCanadaElwin Sharvill QUALIFIED
Johnson G FlosiRussiaIoni Bowcher QUALIFIED
Wickens D MaletArgentinaAnna Fali NEGOTIATION
Sinclair M OldroydFranceIvan Magalhaes RENEWAL
Nicolas R GillianJapanAmy Elsner NEW
Julie O VocelkaItalyXuxue Feng NEW
Francesco S DarakjyIndiaOnyama Limba NEW
Stacey L SaylorsCanadaIoni Bowcher QUALIFIED
David R FerenczSpainXuxue Feng UNQUALIFIED
Octavia M MaletBrazilStephen Shaw UNQUALIFIED
Deepesh M DarakjyArgentinaIvan Magalhaes RENEWAL
Johnson I PoquetteArgentinaAnna Fali RENEWAL
Sinclair C MacleadGermanyElwin Sharvill UNQUALIFIED
Rodrigues Y CaudyIndiaBernardo Dominic NEW
Mayumi X StockhamBrazilElwin Sharvill RENEWAL
Kadeem V WhobreyJapanXuxue Feng NEW
Darci A SchemmerItalyStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki I MacleadItalyXuxue Feng NEGOTIATION
Rodrigues N RutaGermanyAnna Fali NEW
Maisha Y VenereItalyAsiya Javayant UNQUALIFIED
Stacey V AlbaresFranceElwin Sharvill NEW
Emily K SlusarskiIndiaAnna Fali RENEWAL
Wickens V StockhamItalyStephen Shaw PROPOSAL
Mayumi E MorascaIndiaBernardo Dominic QUALIFIED
Jennifer X GillianItalyAsiya Javayant NEW
Clifford S DoeAustraliaBernardo Dominic UNQUALIFIED
Juan J ChuiBrazilIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba U SaylorsItaly2026-09-27Chanay, Jeffrey A Esq UNQUALIFIED8Elwin Sharvill
1001Rodrigues U InouyeCanada2026-10-26Feiner Bros NEGOTIATION15Stephen Shaw
1002Jefferson B SaylorsCanada2026-10-09Rangoni Of Florence PROPOSAL20Bernardo Dominic
1003Jennifer V AmigonIndia2026-10-22Buckley Miller Wright UNQUALIFIED58Ioni Bowcher
1004Costa N GauchoSpain2026-10-23Chemel, James L Cpa NEGOTIATION75Bernardo Dominic
1005Murillo T GillianUnited Kingdom2026-10-23Commercial Press PROPOSAL61Bernardo Dominic
1006Wickens I VenereItaly2026-10-02Rangoni Of Florence UNQUALIFIED47Anna Fali
1007Chavez H FollerJapan2026-10-02Feiner Bros UNQUALIFIED35Ioni Bowcher
1008Juan I WaycottBrazil2026-10-02Commercial Press PROPOSAL12Elwin Sharvill
1009Mujtaba T SlusarskiRussia2026-10-25Rousseaux, Michael Esq NEGOTIATION88Asiya Javayant
1010Leja M PoquetteRussia2026-09-27Chapman, Ross E Esq PROPOSAL4Bernardo Dominic
1011Francesco O MaletBrazil2026-10-05Truhlar And Truhlar Attys QUALIFIED74Onyama Limba
1012Johnson V RoysterBrazil2026-10-18Chanay, Jeffrey A Esq RENEWAL84Elwin Sharvill
1013Smith N SergiArgentina2026-10-23Dorl, James J Esq QUALIFIED88Anna Fali
1014David R AmigonCanada2026-10-05Printing Dimensions QUALIFIED36Stephen Shaw
1015Leja H PerinRussia2026-09-29Truhlar And Truhlar Attys NEGOTIATION88Onyama Limba
1016Sinclair S MorascaRussia2026-10-13Chapman, Ross E Esq UNQUALIFIED76Onyama Limba
1017Murillo K SergiFrance2026-10-10Morlong Associates NEW9Stephen Shaw
1018Deepesh B MacleadSpain2026-10-20Chapman, Ross E Esq QUALIFIED12Amy Elsner
1019Julie R PerinCanada2026-10-15Truhlar And Truhlar Attys NEW96Xuxue Feng
1020Antonio K VocelkaUnited Kingdom2026-10-26Chapman, Ross E Esq RENEWAL3Elwin Sharvill
1021James L WhobreyIndia2026-09-30Rousseaux, Michael Esq QUALIFIED51Stephen Shaw
1022Silvio C StockhamGermany2026-10-25Feltz Printing Service UNQUALIFIED81Anna Fali
1023Misaki N KuskoIndia2026-10-08Chapman, Ross E Esq NEW95Xuxue Feng
1024Aruna S MaletSpain2026-10-24King, Christopher A Esq NEW17Xuxue Feng
1025Mayumi V WhobreyJapan2026-10-03Buckley Miller Wright NEW0Ivan Magalhaes
1026Claire B VocelkaFrance2026-10-20Feiner Bros QUALIFIED79Amy Elsner
1027Alejandro O MarrierGermany2026-10-02Feiner Bros UNQUALIFIED87Onyama Limba
1028Smith M RulapaughAustralia2026-10-24Commercial Press PROPOSAL75Stephen Shaw
1029Aditya C GauchoCanada2026-10-21Printing Dimensions PROPOSAL66Asiya Javayant
1030Maria F StensethRussia2026-10-04King, Christopher A Esq UNQUALIFIED80Stephen Shaw
1031Leon D DoeGermany2026-10-14Rangoni Of Florence PROPOSAL63Ioni Bowcher
1032Salvatore J DarakjyCanada2026-10-19Chemel, James L Cpa UNQUALIFIED88Bernardo Dominic
1033Faith P BologniaIndia2026-10-13Benton, John B Jr PROPOSAL65Xuxue Feng
1034Juan T OstroskyBrazil2026-10-08Chapman, Ross E Esq RENEWAL70Anna Fali
1035Chavez T CampainFrance2026-10-22Truhlar And Truhlar Attys PROPOSAL58Elwin Sharvill
1036Juan Q BowleyCanada2026-10-03Chemel, James L Cpa UNQUALIFIED0Stephen Shaw
1037Aruna N OstroskyAustralia2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED46Amy Elsner
1038Nicolas Y KuskoItaly2026-10-18Chapman, Ross E Esq NEW5Anna Fali
1039Sinclair W MarrierFrance2026-10-05Morlong Associates NEW69Asiya Javayant
1040Jefferson G IturbideCanada2026-09-29Buckley Miller Wright PROPOSAL98Ioni Bowcher
1041Isabel P NestleUnited Kingdom2026-09-27Dorl, James J Esq NEW46Elwin Sharvill
1042Emily T MorascaFrance2026-10-14King, Christopher A Esq PROPOSAL21Xuxue Feng
1043Mujtaba B RimGermany2026-10-16Morlong Associates PROPOSAL11Amy Elsner
1044Aika L StensethRussia2026-10-19Truhlar And Truhlar Attys RENEWAL44Asiya Javayant
1045Mayumi U FigeroaUnited Kingdom2026-09-28Rangoni Of Florence UNQUALIFIED35Asiya Javayant
1046Cody E FerenczCanada2026-10-19Chapman, Ross E Esq NEW25Amy Elsner
1047Silvio U MorascaJapan2026-10-24Truhlar And Truhlar Attys PROPOSAL21Ivan Magalhaes
1048Aditya C MacleadSpain2026-10-04Rangoni Of Florence UNQUALIFIED71Elwin Sharvill
1049Tony P SlusarskiFrance2026-10-22Chemel, James L Cpa RENEWAL4Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie E SergiBrazilXuxue Feng UNQUALIFIED
Emily Y RutaIndiaElwin Sharvill NEGOTIATION
Leja X SaylorsItalyIvan Magalhaes PROPOSAL
Maisha F SaylorsBrazilAsiya Javayant QUALIFIED
Morrow B GarufiFranceStephen Shaw PROPOSAL
Darci C DilliardIndiaIvan Magalhaes RENEWAL
Misaki T DilliardRussiaXuxue Feng NEW
Tony E KuskoCanadaXuxue Feng UNQUALIFIED
Alejandro D WieserItalyXuxue Feng QUALIFIED
Antonio X WhobreyItalyAmy Elsner UNQUALIFIED
Rodrigues Y GarufiJapanAsiya Javayant PROPOSAL
Jennifer N NestleJapanAmy Elsner NEW
Octavia U FerenczRussiaIvan Magalhaes PROPOSAL
Chavez I SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Misaki B ButtRussiaXuxue Feng PROPOSAL
Mujtaba Q MaletGermanyIvan Magalhaes QUALIFIED
Juan E DilliardRussiaAsiya Javayant NEGOTIATION
Munro R CaldareraCanadaIvan Magalhaes UNQUALIFIED
Jefferson U FollerArgentinaAnna Fali NEW
Clifford O PerinFranceIvan Magalhaes NEGOTIATION
Sinclair Q DoeAustraliaAmy Elsner UNQUALIFIED
Murillo C ChuiCanadaElwin Sharvill QUALIFIED
Johnson P StockhamCanadaAnna Fali QUALIFIED
Tony X SlusarskiCanadaAsiya Javayant NEGOTIATION
Munro E DarakjyIndiaElwin Sharvill QUALIFIED
Julie Y VenereIndiaAnna Fali QUALIFIED
Jefferson V PoquetteJapanBernardo Dominic QUALIFIED
Jennifer P MacleadGermanyOnyama Limba UNQUALIFIED
Maria B CaldareraAustraliaBernardo Dominic UNQUALIFIED
Leon N WaycottGermanyIoni Bowcher QUALIFIED
Jones M MaletSpainIvan Magalhaes PROPOSAL
Arvin P WaycottJapanIoni Bowcher RENEWAL
Claire E VenereFranceAmy Elsner NEW
Jones W MacleadIndiaOnyama Limba QUALIFIED
Emily I WieserGermanyAsiya Javayant PROPOSAL
Ivar U MaletArgentinaXuxue Feng QUALIFIED
Silvio B RoysterUnited KingdomStephen Shaw UNQUALIFIED
Maria V SergiItalyIvan Magalhaes UNQUALIFIED
Faith O StensethBrazilAmy Elsner PROPOSAL
Nicolas B AlbaresSpainIvan Magalhaes NEW
Misaki P RoysterAustraliaIoni Bowcher QUALIFIED
Ricardo F FollerAustraliaAnna Fali NEGOTIATION
Emily C NestleUnited KingdomXuxue Feng PROPOSAL
Murillo F FerenczFranceXuxue Feng NEW
Leja R VenereRussiaAmy Elsner NEW
Sinclair A MorascaIndiaBernardo Dominic PROPOSAL
Mayumi A PaprockiBrazilIoni Bowcher QUALIFIED
Johnson A KolmetzGermanyStephen Shaw QUALIFIED
Aruna L BowleyCanadaOnyama Limba PROPOSAL
Silvio V CampainItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Munro G Gaucho
Jeanfrancois L Garufi
Antonio N Flosi
Emily D Kolmetz
Morrow S Bolognia
Aditya R Gillian
Chavez Q Ruta
Maria S Kolmetz
Juan N Sergi
Kaitlin F Morasca
Jeanfrancois U Slusarski
Murillo H Kolmetz
Kaitlin T Doe
Aruna V Caudy
Octavia R Butt
Jones B Iturbide
Sinclair D Chui
Emily B Marrier
Leon X Caudy
Murillo B Rulapaugh
Claire H Sergi
Aditya V Bolognia
Claire F Ruta
Claire I Gillian
Nicolas G Maclead
Mujtaba Q Tollner
Mayumi H Stockham
Misaki R Schemmer
Chavez E Nestle
Ivar X Ferencz
Maisha E Dilliard
Alejandro Q Albares
Francesco Z Rim
Aika U Malet
Wickens B Stockham
Costa T Flosi
Maisha P Dilliard
James H Shinko
Nicolas U Foller
Munro R Waycott
Antonio C Maclead
Antonio R Nestle
Adams G Caudy
Stacey X Rulapaugh
Munro X Rulapaugh
Tony D Caldarera
Salvatore T Amigon
James X Rim
Munro I Vocelka
Claire F Oldroyd
IdCountryDate
1000Australia2026-10-06
1001Germany2026-10-01
1002Australia2026-10-16
1003Russia2026-10-12
1004Australia2026-10-19
1005India2026-10-16
1006India2026-09-28
1007Japan2026-10-15
1008Italy2026-10-16
1009Argentina2026-10-07
1010Germany2026-10-08
1011Japan2026-10-21
1012Russia2026-09-27
1013Italy2026-09-28
1014Germany2026-09-30
1015Argentina2026-10-21
1016Spain2026-10-11
1017Japan2026-10-02
1018Russia2026-10-15
1019Japan2026-10-04
1020Russia2026-10-17
1021Japan2026-10-10
1022Brazil2026-10-07
1023Australia2026-10-11
1024Australia2026-10-22
1025Germany2026-10-08
1026Germany2026-10-24
1027Italy2026-10-16
1028Spain2026-10-02
1029Germany2026-10-14
1030France2026-10-24
1031Germany2026-10-10
1032Australia2026-10-16
1033Australia2026-10-07
1034Brazil2026-09-27
1035India2026-10-25
1036Germany2026-10-07
1037Brazil2026-10-12
1038Australia2026-10-23
1039Brazil2026-10-22
1040Russia2026-10-16
1041United Kingdom2026-10-06
1042Japan2026-10-13
1043Italy2026-10-12
1044Germany2026-10-21
1045Germany2026-10-11
1046India2026-09-28
1047Japan2026-10-06
1048Brazil2026-10-12
1049Canada2026-10-12

On-Demand Data

NameIdCountryDate
David H Malet1000Argentina2026-10-18
Stacey S Bowley1001Russia2026-10-01
Leja T Chui1002India2026-10-06
Jennifer D Venere1003Australia2026-10-02
Sinclair S Flosi1004India2026-09-28
Costa G Iturbide1005Brazil2026-10-12
Wickens H Dilliard1006Italy2026-10-22
Salvatore V Ruta1007Brazil2026-10-21
Stacey T Tollner1008Australia2026-09-29
Adams D Poquette1009Australia2026-10-19
Adams E Perin1010Italy2026-10-21
Jones N Nicka1011Spain2026-10-21
Jeanfrancois O Gillian1012Italy2026-10-17
Ashley Y Caldarera1013Australia2026-10-06
Adams L Garufi1014Australia2026-10-03
Morrow I Butt1015Australia2026-10-26
Leon A Royster1016India2026-10-21
Faith Z Caldarera1017Argentina2026-09-30
Juan Z Royster1018Germany2026-10-21
Costa H Venere1019India2026-10-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie Q DarakjySpainXuxue Feng NEW
Francesco Z FigeroaRussiaBernardo Dominic PROPOSAL
Tony R AmigonSpainOnyama Limba NEW
Wickens T WieserJapanStephen Shaw NEW
Nicolas V SaylorsArgentinaElwin Sharvill UNQUALIFIED
Isabel K VenereSpainAsiya Javayant NEGOTIATION
Aika R CaldareraSpainOnyama Limba QUALIFIED
Adams C ButtFranceXuxue Feng PROPOSAL
Mayumi V MorascaGermanyAsiya Javayant RENEWAL
Rodrigues F BologniaItalyAnna Fali UNQUALIFIED
Ricardo J NestleFranceAnna Fali NEGOTIATION
Ivar W OldroydItalyOnyama Limba RENEWAL
Darci W RulapaughSpainElwin Sharvill PROPOSAL
Salvatore O FlosiJapanAnna Fali UNQUALIFIED
Costa J FerenczArgentinaXuxue Feng RENEWAL
Clifford X GauchoArgentinaAnna Fali QUALIFIED
Tony N FerenczBrazilStephen Shaw NEW
Stacey B AlbaresAustraliaIoni Bowcher PROPOSAL
Wickens L MorascaIndiaOnyama Limba NEW
Maisha D StockhamUnited KingdomAnna Fali NEW
Aditya K CampainItalyAsiya Javayant NEW
Adams Q GlickFranceXuxue Feng QUALIFIED
Adams O FigeroaRussiaOnyama Limba RENEWAL
James U RoysterBrazilAsiya Javayant PROPOSAL
Izzy C RutaGermanyBernardo Dominic PROPOSAL
Ricardo G FollerSpainXuxue Feng QUALIFIED
Aruna C GlickUnited KingdomBernardo Dominic NEW
Deepesh M FollerFranceAmy Elsner NEW
Arvin W AmigonUnited KingdomBernardo Dominic QUALIFIED
Deepesh I PerinFranceElwin Sharvill UNQUALIFIED
Munro K VenereFranceBernardo Dominic QUALIFIED
Kadeem J SlusarskiCanadaXuxue Feng RENEWAL
Aika U VenereRussiaAnna Fali NEW
Jennifer T ButtCanadaOnyama Limba UNQUALIFIED
Maisha W AlbaresGermanyAnna Fali QUALIFIED
Johnson A ChuiBrazilAmy Elsner UNQUALIFIED
David D NestleArgentinaXuxue Feng UNQUALIFIED
Johnson X FerenczCanadaIoni Bowcher PROPOSAL
Emily W FollerArgentinaXuxue Feng QUALIFIED
Kadeem M MarrierJapanAnna Fali 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>