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
Jefferson R DoeRussiaIoni Bowcher RENEWAL
Arvin C RulapaughGermanyStephen Shaw PROPOSAL
Jennifer L BriddickAustraliaOnyama Limba NEW
Stacey Y WhobreyArgentinaAsiya Javayant NEW
Wickens A TollnerJapanAsiya Javayant UNQUALIFIED
Costa M InouyeUnited KingdomStephen Shaw QUALIFIED
Mujtaba T GlickJapanAmy Elsner NEW
Aruna P OstroskyBrazilIoni Bowcher RENEWAL
Francesco E InouyeGermanyAmy Elsner UNQUALIFIED
Claire C RulapaughRussiaXuxue Feng UNQUALIFIED
Francesco G RutaIndiaElwin Sharvill RENEWAL
Mujtaba X PerinUnited KingdomXuxue Feng QUALIFIED
Deepesh S AmigonArgentinaAmy Elsner RENEWAL
Nicolas C PerinRussiaIvan Magalhaes RENEWAL
Leja K NestleFranceOnyama Limba RENEWAL
Isabel G CampainGermanyBernardo Dominic PROPOSAL
Murillo H NestleGermanyXuxue Feng NEGOTIATION
Sinclair H SlusarskiItalyAsiya Javayant UNQUALIFIED
Antonio B DoeBrazilIoni Bowcher QUALIFIED
Nicolas Y RimRussiaAsiya Javayant PROPOSAL
Murillo G DilliardItalyElwin Sharvill QUALIFIED
Rodrigues P DarakjyArgentinaAsiya Javayant NEGOTIATION
Ivar M FigeroaSpainElwin Sharvill QUALIFIED
Ivar M CampainJapanOnyama Limba UNQUALIFIED
Smith E SchemmerBrazilIoni Bowcher QUALIFIED
Stacey Z NestleCanadaOnyama Limba UNQUALIFIED
Johnson I OstroskyBrazilAmy Elsner RENEWAL
Chavez N FerenczFranceBernardo Dominic RENEWAL
Nicolas Q PoquetteGermanyBernardo Dominic QUALIFIED
Nicolas F SergiBrazilBernardo Dominic QUALIFIED
Smith U GlickRussiaAnna Fali QUALIFIED
Claire T MaletIndiaOnyama Limba NEGOTIATION
Misaki C VocelkaItalyBernardo Dominic RENEWAL
Greenwood N DilliardArgentinaXuxue Feng QUALIFIED
Kadeem G BowleyGermanyOnyama Limba RENEWAL
Wickens O ShinkoItalyIoni Bowcher PROPOSAL
Morrow G GillianSpainStephen Shaw QUALIFIED
Costa D AmigonSpainOnyama Limba QUALIFIED
Aditya S BriddickIndiaXuxue Feng RENEWAL
Stacey X PoquetteItalyIvan Magalhaes PROPOSAL
Isabel X PerinRussiaBernardo Dominic NEGOTIATION
Ashley T KuskoArgentinaIvan Magalhaes NEGOTIATION
Ivar Y NickaSpainIvan Magalhaes QUALIFIED
Emily C VenereJapanBernardo Dominic UNQUALIFIED
Julie C BriddickBrazilAnna Fali UNQUALIFIED
Adams P WhobreyAustraliaXuxue Feng NEGOTIATION
Mayumi B PerinCanadaStephen Shaw NEW
Johnson W RulapaughArgentinaElwin Sharvill NEW
Maria G OstroskyRussiaAmy Elsner NEGOTIATION
Tony E RulapaughSpainAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues J RutaSpainAsiya Javayant PROPOSAL
Octavia N ButtFranceXuxue Feng RENEWAL
Maisha J RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Maria C FigeroaJapanOnyama Limba NEW
Jones K RimJapanElwin Sharvill NEGOTIATION
Nicolas T FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois E DilliardBrazilOnyama Limba UNQUALIFIED
Deepesh Z VocelkaBrazilXuxue Feng PROPOSAL
Leon U IturbideJapanElwin Sharvill NEGOTIATION
Julie A NickaJapanAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa H DilliardGermany2026-10-06Commercial Press NEW37Ivan Magalhaes
1001Misaki X FollerArgentina2026-10-16Truhlar And Truhlar Attys PROPOSAL21Asiya Javayant
1002Costa X MarrierSpain2026-10-20Chanay, Jeffrey A Esq RENEWAL99Anna Fali
1003Chavez Y PerinCanada2026-10-09Truhlar And Truhlar Attys PROPOSAL63Anna Fali
1004Francesco T VenereUnited Kingdom2026-10-03King, Christopher A Esq PROPOSAL93Bernardo Dominic
1005Arvin F ButtJapan2026-10-05Printing Dimensions RENEWAL62Xuxue Feng
1006Octavia M WieserCanada2026-10-25Truhlar And Truhlar Attys QUALIFIED3Ivan Magalhaes
1007David Y FlosiArgentina2026-10-07Dorl, James J Esq QUALIFIED51Stephen Shaw
1008Darci G RimUnited Kingdom2026-10-01Dorl, James J Esq NEW46Ioni Bowcher
1009Jefferson R SlusarskiIndia2026-10-10King, Christopher A Esq NEGOTIATION14Anna Fali
1010Aruna B RoysterItaly2026-10-01Chanay, Jeffrey A Esq RENEWAL70Bernardo Dominic
1011Aruna H GillianItaly2026-10-20Feltz Printing Service UNQUALIFIED47Elwin Sharvill
1012James T CampainJapan2026-09-28Chanay, Jeffrey A Esq NEGOTIATION44Elwin Sharvill
1013Chavez M CaudyArgentina2026-10-21Dorl, James J Esq NEGOTIATION5Onyama Limba
1014Stacey P BologniaArgentina2026-09-28Buckley Miller Wright UNQUALIFIED14Onyama Limba
1015Jefferson Q WhobreySpain2026-10-26Feiner Bros RENEWAL80Stephen Shaw
1016Adams B AlbaresArgentina2026-10-21Chapman, Ross E Esq NEGOTIATION15Ioni Bowcher
1017Maisha U MaletSpain2026-10-27Dorl, James J Esq QUALIFIED9Ivan Magalhaes
1018Maisha W MarrierUnited Kingdom2026-10-13Chapman, Ross E Esq RENEWAL48Ioni Bowcher
1019Silvio W ButtGermany2026-10-27Feiner Bros RENEWAL2Onyama Limba
1020Arvin A NestleAustralia2026-10-03Commercial Press UNQUALIFIED97Bernardo Dominic
1021Wickens N RimItaly2026-10-25Commercial Press QUALIFIED11Ivan Magalhaes
1022Emily V DoeItaly2026-10-01Buckley Miller Wright NEW39Amy Elsner
1023Clifford F ShinkoJapan2026-10-25Commercial Press NEW72Xuxue Feng
1024Murillo R DarakjyRussia2026-10-09Truhlar And Truhlar Attys RENEWAL88Amy Elsner
1025Faith A RoysterItaly2026-10-10Feiner Bros UNQUALIFIED44Ivan Magalhaes
1026Nicolas R FigeroaCanada2026-10-13King, Christopher A Esq NEGOTIATION64Bernardo Dominic
1027Julie B MacleadFrance2026-10-02Feltz Printing Service QUALIFIED19Ioni Bowcher
1028Juan S IturbideArgentina2026-10-25Chapman, Ross E Esq NEGOTIATION2Ioni Bowcher
1029Aruna U IturbideItaly2026-10-12Truhlar And Truhlar Attys UNQUALIFIED57Ivan Magalhaes
1030Johnson R GauchoArgentina2026-10-27Chemel, James L Cpa NEW1Stephen Shaw
1031Costa Y FerenczGermany2026-10-09Truhlar And Truhlar Attys NEGOTIATION13Ivan Magalhaes
1032Mayumi F CampainAustralia2026-10-08King, Christopher A Esq NEW61Bernardo Dominic
1033Munro S KolmetzCanada2026-10-18Morlong Associates RENEWAL62Bernardo Dominic
1034Rodrigues O MaletRussia2026-10-01Chemel, James L Cpa NEW5Amy Elsner
1035Morrow Q InouyeFrance2026-10-22Commercial Press QUALIFIED65Onyama Limba
1036Salvatore K SchemmerJapan2026-10-19Morlong Associates QUALIFIED63Amy Elsner
1037Faith Q CaudySpain2026-10-20King, Christopher A Esq RENEWAL86Ioni Bowcher
1038Antonio D GlickArgentina2026-09-30Chapman, Ross E Esq QUALIFIED88Ioni Bowcher
1039Jennifer B MarrierIndia2026-10-25Chemel, James L Cpa UNQUALIFIED62Ioni Bowcher
1040Morrow T MarrierAustralia2026-10-12Commercial Press RENEWAL70Ioni Bowcher
1041Rodrigues M MarrierAustralia2026-10-12Benton, John B Jr UNQUALIFIED11Stephen Shaw
1042Silvio M SlusarskiUnited Kingdom2026-10-22Truhlar And Truhlar Attys QUALIFIED67Ivan Magalhaes
1043Rodrigues Y WieserAustralia2026-10-26Chapman, Ross E Esq NEGOTIATION24Stephen Shaw
1044Arvin Z IturbideRussia2026-10-23Truhlar And Truhlar Attys NEGOTIATION48Anna Fali
1045Emily B FlosiSpain2026-10-15Feltz Printing Service NEW34Ivan Magalhaes
1046Francesco N MaletGermany2026-09-30Benton, John B Jr NEW56Amy Elsner
1047Costa H PerinItaly2026-10-24Buckley Miller Wright QUALIFIED42Stephen Shaw
1048Leon G ButtItaly2026-10-17Dorl, James J Esq QUALIFIED25Amy Elsner
1049Stacey F NickaAustralia2026-10-04Buckley Miller Wright UNQUALIFIED20Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Arvin J BriddickItalyXuxue Feng PROPOSAL
Silvio U KuskoJapanAnna Fali RENEWAL
Mayumi M NestleFranceIoni Bowcher RENEWAL
Sinclair E RimBrazilXuxue Feng NEW
Rodrigues G IturbideSpainIoni Bowcher RENEWAL
Francesco U NestleIndiaIvan Magalhaes NEW
Murillo F FigeroaUnited KingdomAnna Fali QUALIFIED
Sinclair I InouyeIndiaXuxue Feng RENEWAL
Morrow X DilliardUnited KingdomOnyama Limba RENEWAL
Silvio U InouyeGermanyAsiya Javayant PROPOSAL
Mujtaba A MaletRussiaBernardo Dominic NEW
Antonio X ButtSpainElwin Sharvill RENEWAL
Mujtaba O IturbideGermanyElwin Sharvill NEW
Leon Z GauchoAustraliaBernardo Dominic PROPOSAL
Nicolas G WieserSpainBernardo Dominic UNQUALIFIED
Silvio C IturbideCanadaIvan Magalhaes NEW
Misaki L CaldareraAustraliaAnna Fali QUALIFIED
Smith P FlosiAustraliaOnyama Limba UNQUALIFIED
Faith S FigeroaSpainAsiya Javayant UNQUALIFIED
Ricardo M SergiArgentinaElwin Sharvill RENEWAL
James T FigeroaGermanyAsiya Javayant PROPOSAL
Tony P PoquetteItalyIoni Bowcher QUALIFIED
Cody M FerenczGermanyXuxue Feng NEGOTIATION
Leon T OldroydAustraliaIoni Bowcher NEW
Adams W AmigonFranceIvan Magalhaes QUALIFIED
Kadeem Q PaprockiAustraliaAsiya Javayant RENEWAL
Arvin Z CaldareraFranceAsiya Javayant UNQUALIFIED
Sinclair X RoysterRussiaAsiya Javayant NEW
Greenwood Y RimIndiaAmy Elsner NEGOTIATION
Arvin F SaylorsCanadaXuxue Feng QUALIFIED
Kaitlin V NestleBrazilAsiya Javayant QUALIFIED
Kadeem U CaudyItalyBernardo Dominic PROPOSAL
Chavez C FollerBrazilAmy Elsner QUALIFIED
Leon E SchemmerAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois G DilliardGermanyIoni Bowcher RENEWAL
Kaitlin L FollerBrazilAmy Elsner PROPOSAL
Leon E GlickIndiaAnna Fali QUALIFIED
Leja S RimRussiaIoni Bowcher RENEWAL
Deepesh O NickaJapanAsiya Javayant PROPOSAL
Alejandro Q RimSpainOnyama Limba NEGOTIATION
James K TollnerGermanyXuxue Feng RENEWAL
Izzy B CaudyArgentinaAmy Elsner UNQUALIFIED
David H VenereFranceAmy Elsner QUALIFIED
Rodrigues O BriddickRussiaAnna Fali QUALIFIED
Leja M MorascaRussiaAnna Fali QUALIFIED
Clifford J AlbaresItalyOnyama Limba NEW
Juan N MarrierBrazilXuxue Feng NEGOTIATION
Mujtaba R MacleadArgentinaBernardo Dominic PROPOSAL
Aika L NestleUnited KingdomIvan Magalhaes RENEWAL
Adams R KuskoAustraliaOnyama Limba RENEWAL
Frozen Columns
Name
Claire E Slusarski
Morrow D Amigon
Leja N Rulapaugh
Stacey Y Malet
Morrow H Iturbide
Alejandro M Rim
Claire H Rim
Sinclair H Bowley
Cody G Bolognia
Octavia X Gillian
Silvio U Briddick
Alejandro Z Garufi
Tony O Marrier
Francesco B Kolmetz
Ashley R Darakjy
Ashley K Chui
Jeanfrancois F Amigon
Costa A Royster
Claire D Figeroa
Smith J Slusarski
Francesco E Whobrey
Darci I Chui
Adams I Shinko
Julie G Bowley
Aika N Wieser
James R Caudy
Mayumi B Saylors
Emily N Nicka
Emily E Saylors
Maria J Figeroa
Wickens T Flosi
Aika Q Dilliard
Kadeem C Chui
Darci K Oldroyd
Misaki L Nicka
James N Saylors
Juan P Morasca
Maisha R Caudy
Johnson U Flosi
Leja R Flosi
Adams A Royster
Darci N Whobrey
Deepesh T Malet
Maisha P Ferencz
Aruna G Morasca
Leon F Stockham
Ashley O Dilliard
Maria S Nicka
Kadeem V Venere
Silvio S Nicka
IdCountryDate
1000Australia2026-10-03
1001Brazil2026-10-02
1002Italy2026-10-01
1003Germany2026-10-25
1004Australia2026-10-17
1005Germany2026-10-09
1006Brazil2026-09-30
1007France2026-10-15
1008India2026-09-30
1009Italy2026-10-07
1010Australia2026-10-06
1011Japan2026-09-30
1012Japan2026-10-22
1013United Kingdom2026-10-03
1014Spain2026-10-25
1015Germany2026-10-07
1016Spain2026-10-19
1017France2026-10-12
1018Spain2026-10-25
1019Brazil2026-09-30
1020Argentina2026-10-22
1021Argentina2026-10-04
1022Brazil2026-10-12
1023Japan2026-09-29
1024Argentina2026-10-03
1025Australia2026-10-16
1026France2026-09-29
1027United Kingdom2026-10-24
1028Japan2026-10-22
1029Italy2026-10-03
1030Germany2026-10-23
1031Spain2026-10-10
1032Canada2026-10-12
1033Canada2026-10-20
1034Italy2026-10-11
1035United Kingdom2026-10-02
1036Japan2026-09-30
1037Germany2026-10-21
1038France2026-10-03
1039Argentina2026-10-03
1040Brazil2026-10-03
1041Canada2026-10-18
1042Italy2026-09-28
1043India2026-10-08
1044France2026-10-01
1045United Kingdom2026-10-16
1046France2026-09-29
1047Australia2026-10-18
1048Russia2026-10-26
1049Canada2026-10-19

On-Demand Data

NameIdCountryDate
Francesco V Malet1000United Kingdom2026-10-10
Faith V Briddick1001Argentina2026-10-14
Leja Q Gillian1002Australia2026-10-06
Stacey S Whobrey1003Brazil2026-10-20
Francesco O Caudy1004Italy2026-10-07
Arvin G Glick1005India2026-10-16
Silvio Z Caldarera1006Italy2026-10-14
David O Saylors1007Russia2026-10-11
Jeanfrancois E Briddick1008France2026-10-05
Wickens B Gillian1009Brazil2026-10-05
Emily D Venere1010United Kingdom2026-10-02
Silvio A Morasca1011India2026-10-27
Leja M Poquette1012Brazil2026-10-20
Mayumi W Gaucho1013Canada2026-10-18
Ashley M Gillian1014Germany2026-10-15
Munro N Butt1015Spain2026-09-28
Johnson T Figeroa1016Brazil2026-10-20
Aruna D Nestle1017Argentina2026-10-10
Deepesh Z Malet1018United Kingdom2026-10-04
Alejandro U Campain1019Canada2026-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois J GauchoIndiaOnyama Limba PROPOSAL
Silvio P GlickGermanyAmy Elsner PROPOSAL
Antonio Z RimJapanIvan Magalhaes UNQUALIFIED
Ivar R StensethBrazilXuxue Feng NEW
James T GauchoAustraliaBernardo Dominic PROPOSAL
Misaki Y GarufiCanadaStephen Shaw RENEWAL
Deepesh S StockhamBrazilXuxue Feng UNQUALIFIED
Antonio B TollnerIndiaIvan Magalhaes QUALIFIED
Costa T MaletIndiaOnyama Limba NEW
Wickens Q OldroydFranceElwin Sharvill NEGOTIATION
Costa E BriddickIndiaAnna Fali QUALIFIED
Faith K BowleyRussiaAnna Fali RENEWAL
Tony W NickaBrazilAmy Elsner NEW
Ashley J FerenczIndiaOnyama Limba QUALIFIED
Jennifer C OldroydIndiaBernardo Dominic NEGOTIATION
Jennifer E RulapaughFranceAnna Fali QUALIFIED
Leon N DilliardIndiaBernardo Dominic NEGOTIATION
Morrow T WaycottSpainAsiya Javayant PROPOSAL
Leja B FigeroaBrazilStephen Shaw NEW
Kadeem S RulapaughSpainStephen Shaw NEGOTIATION
Juan O BologniaUnited KingdomBernardo Dominic UNQUALIFIED
Aruna O PoquetteIndiaAnna Fali PROPOSAL
Jefferson M GlickUnited KingdomXuxue Feng NEW
Francesco F FigeroaSpainAsiya Javayant NEW
Juan E ShinkoArgentinaXuxue Feng UNQUALIFIED
Aruna L PoquetteItalyAsiya Javayant NEGOTIATION
Chavez I StockhamCanadaAsiya Javayant RENEWAL
Claire D SaylorsIndiaAmy Elsner QUALIFIED
Stacey P MaletSpainElwin Sharvill RENEWAL
Salvatore W IturbideJapanElwin Sharvill NEW
Darci J RutaIndiaOnyama Limba RENEWAL
Stacey C SergiItalyStephen Shaw QUALIFIED
Salvatore D BologniaArgentinaXuxue Feng PROPOSAL
Ricardo I RimFranceStephen Shaw UNQUALIFIED
Darci O TollnerIndiaAsiya Javayant RENEWAL
Salvatore B RimJapanIvan Magalhaes UNQUALIFIED
Aika K FerenczItalyAmy Elsner UNQUALIFIED
Julie S GillianBrazilAsiya Javayant RENEWAL
Emily C MacleadArgentinaIoni Bowcher UNQUALIFIED
Rodrigues L FerenczItalyAmy Elsner RENEWAL

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