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
Aika A NestleRussiaAmy Elsner NEW
Jeanfrancois N InouyeItalyAsiya Javayant PROPOSAL
Maisha L MaletJapanBernardo Dominic NEW
Isabel S RimJapanIoni Bowcher NEGOTIATION
Chavez X NickaGermanyOnyama Limba UNQUALIFIED
Antonio L PoquetteRussiaAsiya Javayant PROPOSAL
Clifford P IturbideBrazilBernardo Dominic PROPOSAL
Maisha A FigeroaSpainIoni Bowcher NEGOTIATION
Jones V FigeroaFranceBernardo Dominic NEGOTIATION
Adams S GillianBrazilOnyama Limba NEGOTIATION
Chavez Z PoquetteBrazilAsiya Javayant QUALIFIED
Mayumi S RoysterAustraliaStephen Shaw QUALIFIED
Alejandro F NestleSpainIoni Bowcher NEGOTIATION
Francesco T VenereBrazilAsiya Javayant QUALIFIED
Misaki F OldroydAustraliaStephen Shaw PROPOSAL
Ashley E KolmetzRussiaXuxue Feng RENEWAL
Darci S FollerItalyElwin Sharvill UNQUALIFIED
Jeanfrancois C MorascaBrazilIoni Bowcher NEGOTIATION
Kaitlin P BologniaJapanOnyama Limba NEGOTIATION
Costa P RoysterJapanAmy Elsner QUALIFIED
Silvio F FlosiBrazilElwin Sharvill NEGOTIATION
Sinclair P PoquetteBrazilBernardo Dominic UNQUALIFIED
Aika S SergiCanadaStephen Shaw RENEWAL
Maisha T PaprockiIndiaBernardo Dominic NEGOTIATION
Maria Q PerinBrazilStephen Shaw QUALIFIED
Antonio U WaycottBrazilStephen Shaw PROPOSAL
Clifford G InouyeCanadaAmy Elsner PROPOSAL
Jones C GarufiRussiaIvan Magalhaes UNQUALIFIED
Juan G FlosiAustraliaAsiya Javayant RENEWAL
Maria L RulapaughIndiaStephen Shaw NEW
Jennifer O RulapaughSpainStephen Shaw RENEWAL
Misaki W MorascaItalyIoni Bowcher UNQUALIFIED
Emily X ChuiGermanyAsiya Javayant PROPOSAL
Izzy T StensethSpainIvan Magalhaes NEGOTIATION
Francesco Z MorascaSpainAnna Fali NEGOTIATION
Ivar I InouyeItalyXuxue Feng QUALIFIED
Aika T FlosiRussiaAmy Elsner RENEWAL
Octavia P CaudySpainIoni Bowcher NEW
Kadeem M RimRussiaAnna Fali QUALIFIED
Salvatore S RimCanadaOnyama Limba UNQUALIFIED
Deepesh P CampainSpainIvan Magalhaes NEW
Munro S MaletRussiaElwin Sharvill RENEWAL
Ashley J BriddickIndiaXuxue Feng NEGOTIATION
Francesco O BologniaAustraliaAmy Elsner PROPOSAL
Leja W SchemmerRussiaAsiya Javayant PROPOSAL
Claire L ChuiFranceIoni Bowcher RENEWAL
Sinclair I GillianUnited KingdomOnyama Limba QUALIFIED
Arvin Q KuskoGermanyIoni Bowcher UNQUALIFIED
Sinclair U PerinCanadaIvan Magalhaes NEGOTIATION
Murillo T GlickUnited KingdomStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Wickens R RimItalyIoni Bowcher RENEWAL
Claire C MacleadArgentinaElwin Sharvill UNQUALIFIED
Munro H SchemmerSpainBernardo Dominic PROPOSAL
Leja A ShinkoIndiaAmy Elsner RENEWAL
Mayumi F BriddickIndiaOnyama Limba NEW
Isabel L RulapaughFranceOnyama Limba NEW
Julie J FigeroaFranceBernardo Dominic NEGOTIATION
Clifford I MorascaArgentinaElwin Sharvill NEGOTIATION
Murillo Q NickaBrazilAsiya Javayant NEW
Ashley B VocelkaGermanyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez T GarufiArgentina2026-09-01King, Christopher A Esq QUALIFIED24Amy Elsner
1001Cody A AmigonFrance2026-09-12Truhlar And Truhlar Attys NEGOTIATION71Asiya Javayant
1002Alejandro U StensethIndia2026-08-28Chemel, James L Cpa NEW90Bernardo Dominic
1003Jefferson F MacleadSpain2026-09-10Printing Dimensions NEGOTIATION54Asiya Javayant
1004Nicolas V FlosiRussia2026-09-18Printing Dimensions QUALIFIED82Ivan Magalhaes
1005Kaitlin J VenereIndia2026-09-04Rangoni Of Florence NEW28Ioni Bowcher
1006Kadeem K FerenczIndia2026-08-22Benton, John B Jr RENEWAL3Ioni Bowcher
1007Silvio P FerenczFrance2026-08-30Rousseaux, Michael Esq UNQUALIFIED46Amy Elsner
1008Adams S PerinUnited Kingdom2026-08-28Morlong Associates QUALIFIED23Onyama Limba
1009Emily B KuskoUnited Kingdom2026-09-01Commercial Press NEW59Onyama Limba
1010Maisha X GlickIndia2026-09-10Feltz Printing Service UNQUALIFIED27Ioni Bowcher
1011Maisha E PoquetteJapan2026-09-02Chemel, James L Cpa RENEWAL60Asiya Javayant
1012Juan D FigeroaBrazil2026-09-17Printing Dimensions NEGOTIATION8Ioni Bowcher
1013Johnson A FigeroaArgentina2026-09-10Buckley Miller Wright NEGOTIATION67Ioni Bowcher
1014Darci Z MarrierArgentina2026-08-21Commercial Press RENEWAL56Bernardo Dominic
1015Isabel G SergiCanada2026-09-09Feltz Printing Service UNQUALIFIED12Anna Fali
1016Ivar O GarufiAustralia2026-08-29Commercial Press PROPOSAL17Stephen Shaw
1017Chavez W MorascaCanada2026-09-04Printing Dimensions PROPOSAL97Ioni Bowcher
1018Emily E MarrierCanada2026-08-24Benton, John B Jr NEW91Xuxue Feng
1019Maria P BriddickGermany2026-08-20Rangoni Of Florence NEW82Onyama Limba
1020Murillo G MorascaArgentina2026-08-24Truhlar And Truhlar Attys RENEWAL69Anna Fali
1021Kadeem V SlusarskiCanada2026-09-05King, Christopher A Esq NEW30Anna Fali
1022Aditya M DoeBrazil2026-09-01Dorl, James J Esq NEGOTIATION43Ioni Bowcher
1023Cody I NestleArgentina2026-09-10Chanay, Jeffrey A Esq PROPOSAL66Amy Elsner
1024Jefferson H BriddickFrance2026-08-21Chemel, James L Cpa NEW43Elwin Sharvill
1025Aditya B MorascaIndia2026-08-30Dorl, James J Esq QUALIFIED63Anna Fali
1026Ricardo S CampainSpain2026-08-24Truhlar And Truhlar Attys UNQUALIFIED40Xuxue Feng
1027Silvio W WaycottGermany2026-09-12Dorl, James J Esq QUALIFIED26Bernardo Dominic
1028Ricardo U RulapaughRussia2026-09-05Feltz Printing Service NEGOTIATION11Bernardo Dominic
1029Costa Z CaudyCanada2026-09-12Commercial Press PROPOSAL59Ioni Bowcher
1030Ricardo F BowleyRussia2026-08-29Feltz Printing Service NEGOTIATION39Onyama Limba
1031Jefferson N BowleyRussia2026-09-01Buckley Miller Wright PROPOSAL63Elwin Sharvill
1032Sinclair U AmigonIndia2026-08-31Rousseaux, Michael Esq QUALIFIED26Ivan Magalhaes
1033David N OstroskyItaly2026-08-30Printing Dimensions NEGOTIATION90Elwin Sharvill
1034James L FerenczIndia2026-09-05Morlong Associates UNQUALIFIED36Onyama Limba
1035Leon K RutaItaly2026-09-06Feltz Printing Service RENEWAL1Onyama Limba
1036Wickens M GillianFrance2026-08-20Benton, John B Jr UNQUALIFIED29Onyama Limba
1037James R RutaGermany2026-09-17Buckley Miller Wright NEGOTIATION89Onyama Limba
1038Arvin U AmigonUnited Kingdom2026-09-08Commercial Press PROPOSAL37Asiya Javayant
1039Maria W GarufiUnited Kingdom2026-09-01Rangoni Of Florence UNQUALIFIED66Anna Fali
1040Tony X FerenczRussia2026-09-16Buckley Miller Wright NEGOTIATION40Bernardo Dominic
1041Costa Q GauchoIndia2026-09-11Chemel, James L Cpa NEGOTIATION66Bernardo Dominic
1042Cody W StockhamCanada2026-09-16Buckley Miller Wright UNQUALIFIED61Ivan Magalhaes
1043Aika T CaudyIndia2026-09-05King, Christopher A Esq NEW88Elwin Sharvill
1044Aditya N SchemmerUnited Kingdom2026-09-03Feltz Printing Service PROPOSAL96Anna Fali
1045Greenwood L MacleadJapan2026-08-24Chapman, Ross E Esq PROPOSAL39Ioni Bowcher
1046James S MarrierFrance2026-08-26Chapman, Ross E Esq RENEWAL99Stephen Shaw
1047Aditya M MaletJapan2026-08-20Chemel, James L Cpa UNQUALIFIED1Anna Fali
1048Kaitlin L FigeroaGermany2026-09-13Benton, John B Jr NEW76Xuxue Feng
1049Julie F PaprockiItaly2026-09-13Rangoni Of Florence UNQUALIFIED9Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki Z ChuiBrazilAnna Fali NEW
Mujtaba D PerinBrazilIvan Magalhaes RENEWAL
Juan Y ShinkoCanadaAnna Fali QUALIFIED
Alejandro I IturbideRussiaIoni Bowcher NEW
Greenwood H KolmetzUnited KingdomAnna Fali NEGOTIATION
Leja E PaprockiCanadaBernardo Dominic UNQUALIFIED
Kaitlin Q SchemmerCanadaXuxue Feng NEW
Julie J VocelkaBrazilElwin Sharvill PROPOSAL
David J KolmetzAustraliaAnna Fali PROPOSAL
Alejandro A VenereRussiaOnyama Limba PROPOSAL
Mayumi U ButtSpainAnna Fali PROPOSAL
Julie S CaldareraRussiaBernardo Dominic NEGOTIATION
Mayumi P GlickJapanXuxue Feng NEW
Tony R GarufiArgentinaAsiya Javayant PROPOSAL
Julie F IturbideItalyAsiya Javayant RENEWAL
Octavia T GarufiRussiaAnna Fali NEGOTIATION
Rodrigues I WhobreyGermanyElwin Sharvill NEW
Mujtaba X ChuiBrazilIoni Bowcher PROPOSAL
Juan A GlickArgentinaAsiya Javayant PROPOSAL
Nicolas K SaylorsGermanyIoni Bowcher PROPOSAL
James D RoysterUnited KingdomAnna Fali PROPOSAL
Greenwood E KuskoCanadaXuxue Feng UNQUALIFIED
Ashley N OldroydItalyIoni Bowcher RENEWAL
Maria G RimJapanAmy Elsner PROPOSAL
Wickens Q RulapaughAustraliaIoni Bowcher UNQUALIFIED
Leon F KolmetzBrazilAmy Elsner NEGOTIATION
Kadeem M MarrierJapanAsiya Javayant NEW
Cody Z MarrierIndiaAsiya Javayant QUALIFIED
James R GlickAustraliaXuxue Feng PROPOSAL
Jeanfrancois R IturbideUnited KingdomElwin Sharvill PROPOSAL
Sinclair O AmigonCanadaBernardo Dominic NEW
Kaitlin F OstroskyFranceStephen Shaw UNQUALIFIED
Emily U SlusarskiAustraliaBernardo Dominic PROPOSAL
Smith Z WhobreyAustraliaIvan Magalhaes RENEWAL
Julie O DilliardBrazilAmy Elsner NEGOTIATION
David K TollnerGermanyIoni Bowcher NEW
Costa K FollerIndiaElwin Sharvill UNQUALIFIED
Costa C GauchoArgentinaIoni Bowcher NEGOTIATION
Morrow H WaycottRussiaIvan Magalhaes UNQUALIFIED
Antonio N VenereSpainIvan Magalhaes NEGOTIATION
Sinclair R PoquetteArgentinaIoni Bowcher UNQUALIFIED
Jones V WhobreyItalyBernardo Dominic UNQUALIFIED
Aruna N AlbaresItalyAnna Fali NEGOTIATION
Maria D NestleGermanyBernardo Dominic NEGOTIATION
Aditya W VocelkaUnited KingdomXuxue Feng NEGOTIATION
Kaitlin E SlusarskiIndiaBernardo Dominic NEW
David S WhobreyUnited KingdomXuxue Feng PROPOSAL
Emily P FerenczJapanIoni Bowcher QUALIFIED
Ivar N ChuiAustraliaAnna Fali RENEWAL
Chavez N DarakjyJapanAsiya Javayant NEW
Frozen Columns
Name
Ashley E Caudy
Francesco Y Slusarski
Mayumi I Caudy
Silvio F Morasca
Jennifer Y Tollner
Costa S Ferencz
Kaitlin S Perin
Kadeem K Perin
Maria G Whobrey
Smith J Ferencz
Adams M Perin
Clifford I Kusko
Maisha V Figeroa
Juan I Chui
Aruna S Caldarera
Maria X Gaucho
Claire F Dilliard
Deepesh B Marrier
Smith N Slusarski
Clifford B Garufi
James H Kusko
Maria F Gillian
Clifford U Ostrosky
Rodrigues H Ferencz
Rodrigues M Albares
Mujtaba D Doe
Aditya J Saylors
Clifford N Dilliard
Murillo K Saylors
Mayumi X Albares
Munro X Shinko
Sinclair M Schemmer
Mayumi E Iturbide
Emily Q Kusko
Greenwood M Royster
Jennifer H Figeroa
James Y Nestle
Greenwood A Paprocki
Aika K Caudy
Costa X Slusarski
Cody S Stockham
Rodrigues I Bowley
Silvio O Shinko
Leon G Slusarski
Antonio P Glick
Julie U Nestle
Ricardo R Albares
David R Chui
Izzy K Ruta
Cody X Marrier
IdCountryDate
1000France2026-08-22
1001Italy2026-09-11
1002Argentina2026-08-30
1003Canada2026-08-29
1004Australia2026-09-17
1005Japan2026-08-24
1006France2026-09-10
1007Canada2026-09-01
1008Japan2026-08-20
1009United Kingdom2026-08-22
1010Italy2026-08-28
1011Argentina2026-09-15
1012Spain2026-08-28
1013Australia2026-09-08
1014United Kingdom2026-09-14
1015United Kingdom2026-08-28
1016Australia2026-08-25
1017India2026-09-09
1018Brazil2026-08-22
1019Australia2026-08-25
1020Spain2026-08-27
1021Russia2026-09-12
1022Brazil2026-08-26
1023Canada2026-09-14
1024Australia2026-08-24
1025Germany2026-09-15
1026Russia2026-09-05
1027Brazil2026-09-02
1028Australia2026-08-25
1029Australia2026-09-12
1030Italy2026-09-03
1031United Kingdom2026-08-26
1032Spain2026-09-03
1033France2026-09-05
1034Brazil2026-09-14
1035Spain2026-09-05
1036India2026-08-28
1037Russia2026-09-15
1038Italy2026-08-29
1039India2026-08-31
1040Spain2026-08-27
1041Brazil2026-09-16
1042France2026-08-31
1043France2026-08-26
1044United Kingdom2026-08-25
1045United Kingdom2026-08-24
1046Brazil2026-09-02
1047United Kingdom2026-09-14
1048Japan2026-09-02
1049Italy2026-09-14

On-Demand Data

NameIdCountryDate
Leon C Amigon1000Spain2026-09-14
Ricardo B Ruta1001Brazil2026-08-28
Kaitlin D Kusko1002United Kingdom2026-09-13
Mayumi Z Nicka1003Russia2026-09-16
Jones Z Whobrey1004United Kingdom2026-09-13
Jefferson G Tollner1005Brazil2026-08-21
Emily X Stockham1006Italy2026-08-20
Adams H Rim1007Argentina2026-08-27
Johnson X Rulapaugh1008India2026-09-04
Isabel D Stockham1009Russia2026-09-05
Claire R Flosi1010Russia2026-09-13
Kadeem V Poquette1011Germany2026-09-08
Sinclair O Stockham1012Argentina2026-09-09
Kadeem Z Iturbide1013India2026-09-06
Jeanfrancois Q Gillian1014Spain2026-09-02
Maria D Malet1015Spain2026-09-14
Nicolas Y Paprocki1016France2026-09-11
Alejandro T Stenseth1017France2026-09-07
Octavia N Perin1018Germany2026-09-03
Nicolas U Chui1019Argentina2026-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas X NestleBrazilAnna Fali UNQUALIFIED
Francesco D RutaFranceElwin Sharvill QUALIFIED
Mayumi F IturbideArgentinaIvan Magalhaes PROPOSAL
David V ButtUnited KingdomIvan Magalhaes NEW
Wickens M OldroydIndiaIvan Magalhaes NEW
Misaki Q IturbideArgentinaXuxue Feng NEGOTIATION
Ricardo N StensethGermanyIoni Bowcher RENEWAL
Claire Z StensethFranceStephen Shaw PROPOSAL
Murillo N FigeroaIndiaAsiya Javayant UNQUALIFIED
Kaitlin P FlosiFranceStephen Shaw NEGOTIATION
Adams D MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood J KolmetzGermanyElwin Sharvill NEW
Silvio I StensethBrazilAnna Fali NEW
Aruna Z CaldareraArgentinaOnyama Limba RENEWAL
Leja I DoeGermanyXuxue Feng NEW
Kadeem Q MaletRussiaStephen Shaw NEGOTIATION
Munro E MaletGermanyBernardo Dominic PROPOSAL
Leon I CaudyBrazilElwin Sharvill UNQUALIFIED
Sinclair V AlbaresSpainXuxue Feng RENEWAL
Jennifer J WhobreySpainStephen Shaw PROPOSAL
Johnson J KuskoGermanyElwin Sharvill RENEWAL
Wickens K StensethAustraliaXuxue Feng NEGOTIATION
Ricardo F ButtJapanOnyama Limba UNQUALIFIED
Leja V MacleadFranceIvan Magalhaes RENEWAL
Leon J FollerCanadaAnna Fali NEW
Antonio U ButtIndiaBernardo Dominic NEW
Stacey S SlusarskiJapanOnyama Limba NEGOTIATION
Arvin K CampainRussiaAmy Elsner UNQUALIFIED
Deepesh T BriddickBrazilAmy Elsner NEW
Clifford S MaletIndiaXuxue Feng NEW
Antonio I GauchoArgentinaStephen Shaw PROPOSAL
James D KolmetzJapanIoni Bowcher PROPOSAL
Salvatore C CaudyAustraliaOnyama Limba NEW
Kaitlin K TollnerSpainAsiya Javayant RENEWAL
Octavia H IturbideBrazilAnna Fali UNQUALIFIED
Julie Z BriddickGermanyOnyama Limba NEGOTIATION
Silvio A SaylorsGermanyAmy Elsner UNQUALIFIED
Ricardo Z FollerUnited KingdomBernardo Dominic RENEWAL
Leon D RutaGermanyAmy Elsner RENEWAL
Faith Z WaycottRussiaIoni Bowcher 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>