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
Leja Y GauchoUnited KingdomIoni Bowcher NEGOTIATION
Smith U FigeroaJapanAmy Elsner QUALIFIED
Faith Z ChuiJapanBernardo Dominic RENEWAL
Kaitlin T ChuiCanadaIvan Magalhaes UNQUALIFIED
Ashley E ButtUnited KingdomXuxue Feng NEGOTIATION
Darci I SchemmerGermanyOnyama Limba QUALIFIED
Morrow G ButtSpainAmy Elsner PROPOSAL
James Y MorascaJapanStephen Shaw NEW
Kaitlin E DoeGermanyIvan Magalhaes UNQUALIFIED
Aruna T VenereAustraliaAmy Elsner UNQUALIFIED
Alejandro E OstroskyAustraliaAnna Fali NEGOTIATION
Darci I AlbaresGermanyElwin Sharvill RENEWAL
Aruna A GlickGermanyIvan Magalhaes UNQUALIFIED
Mujtaba B OstroskyFranceXuxue Feng RENEWAL
Nicolas D AmigonUnited KingdomAnna Fali QUALIFIED
Izzy K OstroskyRussiaIvan Magalhaes UNQUALIFIED
Misaki T AlbaresIndiaOnyama Limba NEW
Adams D VocelkaRussiaIvan Magalhaes NEW
Leon F NestleBrazilAnna Fali UNQUALIFIED
Murillo Y GarufiRussiaAsiya Javayant NEGOTIATION
Jennifer P VenereItalyAmy Elsner NEW
Morrow P StockhamIndiaBernardo Dominic NEW
Alejandro U CaudyGermanyXuxue Feng PROPOSAL
Salvatore S GillianUnited KingdomOnyama Limba NEGOTIATION
Arvin W MarrierFranceElwin Sharvill NEW
Ashley Q NestleSpainOnyama Limba PROPOSAL
David V FigeroaGermanyIoni Bowcher NEGOTIATION
Adams T RoysterArgentinaOnyama Limba RENEWAL
Adams F FollerRussiaAmy Elsner NEW
Wickens O RutaGermanyIoni Bowcher RENEWAL
Francesco N GillianIndiaAmy Elsner NEW
Jeanfrancois B SaylorsAustraliaAnna Fali PROPOSAL
Claire K FerenczRussiaAnna Fali UNQUALIFIED
Murillo Y IturbideCanadaStephen Shaw RENEWAL
Julie Z MacleadArgentinaAmy Elsner NEW
Leon Q ButtItalyAmy Elsner PROPOSAL
Silvio M SlusarskiFranceAsiya Javayant UNQUALIFIED
Antonio I SlusarskiCanadaOnyama Limba NEGOTIATION
Silvio H InouyeArgentinaXuxue Feng PROPOSAL
Jeanfrancois Y IturbideAustraliaAnna Fali PROPOSAL
Morrow R BologniaFranceOnyama Limba QUALIFIED
Jennifer S FigeroaGermanyAnna Fali NEW
Leja R WieserBrazilStephen Shaw PROPOSAL
Leon M RulapaughCanadaBernardo Dominic RENEWAL
Juan P RoysterIndiaIvan Magalhaes RENEWAL
Antonio Z ShinkoRussiaElwin Sharvill NEW
Darci V PerinSpainElwin Sharvill NEW
Smith R ChuiRussiaXuxue Feng QUALIFIED
Smith Q PoquetteRussiaAnna Fali UNQUALIFIED
Greenwood N GlickUnited KingdomStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony P ShinkoSpainAmy Elsner RENEWAL
Ashley P SchemmerItalyBernardo Dominic PROPOSAL
Morrow O CaudyRussiaOnyama Limba NEGOTIATION
Kaitlin A AmigonCanadaBernardo Dominic PROPOSAL
Cody U CaldareraIndiaIvan Magalhaes UNQUALIFIED
Antonio M StensethUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois F NickaGermanyAmy Elsner QUALIFIED
Rodrigues M RutaFranceStephen Shaw RENEWAL
Alejandro A OldroydRussiaXuxue Feng PROPOSAL
Ashley E WhobreyAustraliaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David E BriddickBrazil2026-09-10Benton, John B Jr NEW22Onyama Limba
1001Leja K DoeGermany2026-08-26Chapman, Ross E Esq NEGOTIATION51Stephen Shaw
1002Aruna W ChuiAustralia2026-09-06Printing Dimensions NEGOTIATION82Bernardo Dominic
1003Jennifer A WhobreyArgentina2026-09-04Rousseaux, Michael Esq UNQUALIFIED69Ioni Bowcher
1004Ashley B GauchoFrance2026-09-12Printing Dimensions NEW30Xuxue Feng
1005Claire E BologniaRussia2026-09-05Buckley Miller Wright NEW40Xuxue Feng
1006Murillo L PoquetteItaly2026-09-16Printing Dimensions NEGOTIATION71Ioni Bowcher
1007Leja X PaprockiAustralia2026-09-16Rangoni Of Florence NEGOTIATION2Anna Fali
1008Kaitlin K NestleRussia2026-09-11Rousseaux, Michael Esq RENEWAL44Onyama Limba
1009Clifford G ButtBrazil2026-09-10Printing Dimensions UNQUALIFIED28Xuxue Feng
1010Deepesh U OldroydAustralia2026-09-17Commercial Press NEW37Ioni Bowcher
1011Mayumi B MorascaIndia2026-09-22King, Christopher A Esq PROPOSAL42Onyama Limba
1012Misaki S SlusarskiAustralia2026-08-31Morlong Associates RENEWAL66Amy Elsner
1013Rodrigues C KolmetzIndia2026-09-08Rangoni Of Florence PROPOSAL99Amy Elsner
1014Faith O SergiItaly2026-09-11Printing Dimensions PROPOSAL53Elwin Sharvill
1015Jones Y KolmetzIndia2026-09-02Truhlar And Truhlar Attys NEGOTIATION96Ivan Magalhaes
1016Jeanfrancois Z MorascaItaly2026-09-13Benton, John B Jr NEGOTIATION34Elwin Sharvill
1017Chavez V GauchoArgentina2026-09-09Chapman, Ross E Esq RENEWAL48Bernardo Dominic
1018Chavez A SchemmerItaly2026-09-03Chanay, Jeffrey A Esq UNQUALIFIED30Bernardo Dominic
1019Arvin X GauchoBrazil2026-09-04Morlong Associates NEW18Anna Fali
1020Silvio D CaldareraGermany2026-09-18Commercial Press UNQUALIFIED90Onyama Limba
1021Ashley J DoeArgentina2026-09-18Commercial Press RENEWAL64Asiya Javayant
1022Wickens Q NestleRussia2026-09-10Morlong Associates PROPOSAL40Stephen Shaw
1023Wickens F GauchoBrazil2026-08-29Printing Dimensions RENEWAL38Stephen Shaw
1024Kaitlin X WaycottItaly2026-09-02Chapman, Ross E Esq NEW19Ioni Bowcher
1025Chavez E DarakjyIndia2026-09-10Benton, John B Jr QUALIFIED18Asiya Javayant
1026Aditya T DoeSpain2026-09-01Morlong Associates QUALIFIED91Onyama Limba
1027Aditya B KolmetzUnited Kingdom2026-08-25Printing Dimensions UNQUALIFIED29Xuxue Feng
1028Mujtaba B VocelkaFrance2026-09-12Rousseaux, Michael Esq NEW39Ioni Bowcher
1029Deepesh N PaprockiFrance2026-08-28Commercial Press UNQUALIFIED74Bernardo Dominic
1030Cody A IturbideSpain2026-09-01Buckley Miller Wright NEGOTIATION87Bernardo Dominic
1031Faith S DoeGermany2026-09-05Chemel, James L Cpa RENEWAL77Ioni Bowcher
1032Antonio X SchemmerSpain2026-08-25Rousseaux, Michael Esq QUALIFIED83Bernardo Dominic
1033Ashley T WaycottItaly2026-09-10Feltz Printing Service PROPOSAL93Ivan Magalhaes
1034Chavez F IturbideFrance2026-09-16Buckley Miller Wright RENEWAL16Ivan Magalhaes
1035Chavez J ButtBrazil2026-09-11Chapman, Ross E Esq NEGOTIATION15Elwin Sharvill
1036Chavez X BowleyGermany2026-09-09Morlong Associates PROPOSAL49Asiya Javayant
1037Nicolas L CampainUnited Kingdom2026-09-13Morlong Associates RENEWAL77Asiya Javayant
1038Murillo P KuskoIndia2026-09-17Morlong Associates RENEWAL64Bernardo Dominic
1039Greenwood Q TollnerRussia2026-08-28Buckley Miller Wright NEGOTIATION35Stephen Shaw
1040Murillo C InouyeIndia2026-09-04Chanay, Jeffrey A Esq QUALIFIED63Amy Elsner
1041Ricardo D WhobreyCanada2026-09-21King, Christopher A Esq NEW23Stephen Shaw
1042James C MaletJapan2026-08-31Dorl, James J Esq PROPOSAL19Anna Fali
1043Murillo E RoysterSpain2026-08-28Chapman, Ross E Esq RENEWAL50Amy Elsner
1044Ivar K PerinSpain2026-09-09Buckley Miller Wright NEW99Onyama Limba
1045Ivar P FollerSpain2026-09-13Chapman, Ross E Esq QUALIFIED35Anna Fali
1046Faith C OldroydFrance2026-09-15Chanay, Jeffrey A Esq NEW61Stephen Shaw
1047Stacey R StensethAustralia2026-08-31Truhlar And Truhlar Attys UNQUALIFIED46Onyama Limba
1048Aika M SaylorsBrazil2026-08-31Commercial Press NEW84Stephen Shaw
1049Juan O SchemmerIndia2026-09-08Benton, John B Jr QUALIFIED95Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Chavez P OstroskySpainAmy Elsner UNQUALIFIED
Aika D BriddickBrazilXuxue Feng RENEWAL
Smith I WaycottFranceAsiya Javayant UNQUALIFIED
Mujtaba Z IturbideArgentinaIoni Bowcher NEW
Mujtaba U IturbideAustraliaAmy Elsner NEW
Maria I ChuiRussiaStephen Shaw PROPOSAL
Antonio P SergiRussiaStephen Shaw NEGOTIATION
Francesco L CampainAustraliaAsiya Javayant RENEWAL
Alejandro Z DilliardArgentinaIvan Magalhaes NEGOTIATION
Emily N OldroydRussiaAnna Fali NEW
Izzy M RutaBrazilAsiya Javayant NEGOTIATION
Emily Y ShinkoJapanBernardo Dominic NEW
Maisha V SergiCanadaIvan Magalhaes QUALIFIED
Antonio H IturbideFranceAmy Elsner UNQUALIFIED
David Y ButtJapanIvan Magalhaes QUALIFIED
Misaki M BriddickSpainOnyama Limba NEW
Deepesh B MaletUnited KingdomXuxue Feng PROPOSAL
Stacey U KolmetzBrazilBernardo Dominic UNQUALIFIED
Aika O AmigonFranceOnyama Limba QUALIFIED
Antonio S KuskoAustraliaOnyama Limba NEGOTIATION
Faith O GarufiAustraliaIvan Magalhaes NEGOTIATION
Mayumi I KuskoItalyAmy Elsner RENEWAL
Cody M BriddickCanadaIoni Bowcher PROPOSAL
Francesco G CampainGermanyIvan Magalhaes RENEWAL
Wickens T OstroskyIndiaAmy Elsner UNQUALIFIED
Greenwood Y AlbaresCanadaElwin Sharvill UNQUALIFIED
Maria D BologniaSpainAsiya Javayant QUALIFIED
Misaki W DarakjyJapanAmy Elsner QUALIFIED
Kadeem I AlbaresItalyAnna Fali QUALIFIED
Darci N FerenczItalyOnyama Limba NEW
Ashley T DilliardFranceBernardo Dominic NEW
Maisha S PerinItalyAnna Fali QUALIFIED
Misaki N FigeroaCanadaIoni Bowcher PROPOSAL
Antonio B SlusarskiJapanIoni Bowcher PROPOSAL
Salvatore H StensethFranceAnna Fali QUALIFIED
Ivar Q CaudyItalyOnyama Limba QUALIFIED
Antonio C RoysterArgentinaIoni Bowcher NEW
Leon V SaylorsJapanAmy Elsner QUALIFIED
Morrow O SchemmerGermanyIoni Bowcher UNQUALIFIED
Julie Q AlbaresJapanBernardo Dominic NEW
David J GillianGermanyOnyama Limba NEGOTIATION
Maria J ShinkoAustraliaIvan Magalhaes PROPOSAL
Cody H SergiIndiaStephen Shaw NEGOTIATION
Francesco B SchemmerFranceIoni Bowcher NEGOTIATION
Misaki Y NickaSpainBernardo Dominic RENEWAL
Misaki T MaletItalyAnna Fali UNQUALIFIED
Antonio U FollerJapanAnna Fali QUALIFIED
Johnson M NickaArgentinaAnna Fali UNQUALIFIED
Izzy X OldroydGermanyXuxue Feng UNQUALIFIED
Francesco Y BologniaFranceStephen Shaw RENEWAL
Frozen Columns
Name
Francesco X Oldroyd
Maisha S Campain
Maisha S Doe
Costa Z Iturbide
Salvatore L Perin
Maria N Chui
Salvatore N Glick
Clifford I Waycott
Maisha D Saylors
Wickens Q Royster
Leon L Ferencz
Munro E Tollner
Leja A Oldroyd
Mayumi N Bolognia
Salvatore M Chui
Leja N Vocelka
Maisha Y Sergi
Claire G Sergi
Munro S Gillian
Jefferson Y Ruta
Silvio T Chui
Stacey S Rim
Ashley J Malet
Ashley L Briddick
Maisha Q Flosi
Mayumi E Waycott
Cody T Tollner
Ashley R Sergi
Clifford M Oldroyd
Aruna S Iturbide
Rodrigues Y Ostrosky
Sinclair Q Maclead
James U Inouye
Claire K Stenseth
Aruna H Venere
Octavia E Nestle
Darci P Dilliard
Deepesh G Perin
Alejandro P Campain
Misaki D Briddick
Morrow S Tollner
Tony I Kusko
Darci Z Amigon
Ivar Y Morasca
Maisha A Ruta
Jeanfrancois U Waycott
Julie B Whobrey
Cody G Butt
Stacey T Campain
Mujtaba K Dilliard
IdCountryDate
1000United Kingdom2026-09-07
1001Argentina2026-08-27
1002Japan2026-09-04
1003Canada2026-09-04
1004Spain2026-09-08
1005Germany2026-09-11
1006Brazil2026-09-07
1007Argentina2026-08-27
1008Germany2026-09-05
1009Japan2026-09-06
1010Russia2026-09-19
1011Spain2026-09-03
1012Spain2026-09-15
1013Argentina2026-08-25
1014Argentina2026-08-27
1015Spain2026-09-19
1016Canada2026-09-03
1017Australia2026-08-26
1018United Kingdom2026-09-16
1019Spain2026-09-13
1020Spain2026-08-27
1021Argentina2026-09-04
1022Brazil2026-09-22
1023India2026-08-30
1024Australia2026-09-16
1025France2026-09-02
1026France2026-09-04
1027Germany2026-09-08
1028United Kingdom2026-09-15
1029Australia2026-09-09
1030Japan2026-09-12
1031Canada2026-08-27
1032Australia2026-09-13
1033Germany2026-09-03
1034Argentina2026-09-11
1035France2026-09-01
1036Argentina2026-09-02
1037Brazil2026-09-20
1038France2026-09-13
1039Brazil2026-09-19
1040Germany2026-08-26
1041Italy2026-09-07
1042Italy2026-08-30
1043Australia2026-09-23
1044Italy2026-08-28
1045Russia2026-09-23
1046Canada2026-09-16
1047Germany2026-09-07
1048India2026-09-06
1049Russia2026-09-10

On-Demand Data

NameIdCountryDate
Maisha F Dilliard1000Germany2026-09-07
Murillo T Morasca1001Australia2026-09-19
Aruna X Saylors1002Russia2026-09-18
Clifford P Dilliard1003India2026-09-13
Faith U Tollner1004Brazil2026-09-17
Jeanfrancois R Dilliard1005Brazil2026-09-20
Clifford E Glick1006Japan2026-09-19
Isabel A Saylors1007Russia2026-09-10
Julie W Royster1008Australia2026-09-18
Mujtaba T Chui1009Australia2026-09-21
Leja B Rim1010United Kingdom2026-09-10
Leja S Rulapaugh1011Japan2026-09-01
Octavia D Saylors1012Argentina2026-08-31
Salvatore Q Ferencz1013Italy2026-09-05
Leon A Tollner1014Australia2026-09-10
Jeanfrancois B Poquette1015Japan2026-09-07
Munro T Morasca1016Italy2026-09-20
Silvio H Darakjy1017Australia2026-09-19
Arvin S Garufi1018Russia2026-09-03
Deepesh E Malet1019Italy2026-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja Z RimSpainIvan Magalhaes QUALIFIED
Antonio H GarufiUnited KingdomElwin Sharvill RENEWAL
Arvin U StensethRussiaIoni Bowcher NEGOTIATION
Leon Z RutaUnited KingdomStephen Shaw QUALIFIED
Izzy Q SlusarskiGermanyAmy Elsner PROPOSAL
Julie B BriddickJapanAnna Fali NEW
Munro N VenereItalyAsiya Javayant RENEWAL
Darci Y WaycottAustraliaAnna Fali NEGOTIATION
Stacey R KolmetzArgentinaOnyama Limba UNQUALIFIED
Octavia V AlbaresIndiaStephen Shaw RENEWAL
Emily B MorascaIndiaAmy Elsner QUALIFIED
Arvin C WhobreyJapanElwin Sharvill RENEWAL
Kadeem V DarakjyGermanyStephen Shaw PROPOSAL
Antonio L GlickCanadaElwin Sharvill QUALIFIED
Maria D BowleyJapanAmy Elsner NEGOTIATION
Maria N RulapaughItalyElwin Sharvill RENEWAL
Aruna C MorascaItalyAsiya Javayant NEW
Nicolas D MarrierItalyAsiya Javayant NEW
Salvatore T IturbideIndiaXuxue Feng UNQUALIFIED
Claire B CaldareraArgentinaAsiya Javayant UNQUALIFIED
Juan S DilliardFranceIoni Bowcher NEGOTIATION
Kadeem R NickaRussiaAmy Elsner UNQUALIFIED
Ivar B KolmetzSpainXuxue Feng UNQUALIFIED
Alejandro V NickaGermanyElwin Sharvill PROPOSAL
Darci L KuskoBrazilAsiya Javayant NEW
Jennifer T ButtArgentinaIvan Magalhaes PROPOSAL
Leja A GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore X NickaBrazilBernardo Dominic QUALIFIED
Emily Q GlickSpainAsiya Javayant RENEWAL
Emily Q DarakjyCanadaStephen Shaw NEW
Greenwood K BriddickSpainStephen Shaw QUALIFIED
Kadeem O PaprockiIndiaBernardo Dominic QUALIFIED
Ivar N OldroydItalyXuxue Feng PROPOSAL
Maria D NickaFranceElwin Sharvill UNQUALIFIED
Nicolas X PerinArgentinaElwin Sharvill PROPOSAL
Francesco V RimFranceStephen Shaw QUALIFIED
Murillo G OldroydRussiaAmy Elsner QUALIFIED
Faith H GillianItalyAnna Fali UNQUALIFIED
Darci T VenereJapanOnyama Limba QUALIFIED
Isabel M RulapaughCanadaAsiya Javayant QUALIFIED

<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>