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
Mujtaba U IturbideFranceAmy Elsner RENEWAL
Greenwood U OldroydIndiaElwin Sharvill RENEWAL
Aruna P RimJapanAmy Elsner NEGOTIATION
Jennifer S GillianArgentinaOnyama Limba NEGOTIATION
Emily W VenereUnited KingdomXuxue Feng UNQUALIFIED
Julie M PerinGermanyStephen Shaw NEGOTIATION
Francesco V PoquetteJapanBernardo Dominic QUALIFIED
Wickens H RimItalyIoni Bowcher PROPOSAL
Stacey Z BowleySpainBernardo Dominic NEW
Johnson J CaldareraFranceIoni Bowcher NEW
Julie L VocelkaBrazilXuxue Feng RENEWAL
Arvin H FlosiRussiaAsiya Javayant PROPOSAL
Leja L OstroskyRussiaAnna Fali NEGOTIATION
Tony A WhobreyAustraliaStephen Shaw RENEWAL
Leja K OldroydItalyAnna Fali PROPOSAL
Mujtaba Q RimCanadaStephen Shaw QUALIFIED
Leon Z AlbaresItalyStephen Shaw RENEWAL
Misaki R AlbaresBrazilElwin Sharvill NEW
Sinclair U PoquetteCanadaAsiya Javayant QUALIFIED
Johnson V OstroskyUnited KingdomBernardo Dominic RENEWAL
Isabel I KuskoAustraliaAsiya Javayant UNQUALIFIED
Smith D MaletIndiaIoni Bowcher QUALIFIED
Murillo E StensethFranceAmy Elsner NEGOTIATION
Francesco Y WhobreyCanadaBernardo Dominic PROPOSAL
Leon P CaudyArgentinaIvan Magalhaes NEW
Julie Y InouyeItalyXuxue Feng QUALIFIED
David C RutaUnited KingdomAsiya Javayant PROPOSAL
Jefferson V MaletRussiaElwin Sharvill NEW
Costa I BowleyAustraliaAmy Elsner UNQUALIFIED
Stacey U SchemmerAustraliaElwin Sharvill QUALIFIED
Leon U NestleFranceAmy Elsner QUALIFIED
Julie I CaldareraItalyIvan Magalhaes RENEWAL
Kadeem I RimCanadaOnyama Limba QUALIFIED
Tony O WieserUnited KingdomIoni Bowcher UNQUALIFIED
Leon P OldroydArgentinaAsiya Javayant RENEWAL
Alejandro V MaletSpainIoni Bowcher NEGOTIATION
Aditya Q PerinBrazilOnyama Limba NEW
Emily N MarrierAustraliaAmy Elsner QUALIFIED
Salvatore Z SchemmerRussiaElwin Sharvill NEW
Wickens K MorascaAustraliaIoni Bowcher NEW
Johnson J BologniaJapanAnna Fali NEGOTIATION
David S DilliardItalyBernardo Dominic NEW
Sinclair V SchemmerItalyIvan Magalhaes NEW
Arvin U SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer U VenereCanadaIoni Bowcher RENEWAL
Leon Y OldroydSpainIoni Bowcher QUALIFIED
Kaitlin Y MaletItalyAmy Elsner UNQUALIFIED
Salvatore I FlosiBrazilXuxue Feng RENEWAL
Rodrigues U OldroydSpainStephen Shaw NEGOTIATION
Mayumi B DilliardRussiaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois X SergiItalyBernardo Dominic NEGOTIATION
Aika V KolmetzItalyXuxue Feng NEW
Kadeem C GauchoAustraliaBernardo Dominic UNQUALIFIED
Octavia J SergiUnited KingdomStephen Shaw UNQUALIFIED
Nicolas K PerinArgentinaAsiya Javayant NEW
Murillo P ChuiArgentinaBernardo Dominic RENEWAL
Silvio Q SergiUnited KingdomStephen Shaw NEW
Cody V RimFranceXuxue Feng QUALIFIED
Jennifer H InouyeAustraliaStephen Shaw PROPOSAL
Adams M ShinkoItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio F MorascaRussia2026-10-04Chanay, Jeffrey A Esq PROPOSAL92Asiya Javayant
1001Arvin F KolmetzBrazil2026-10-13Benton, John B Jr RENEWAL37Elwin Sharvill
1002Sinclair X InouyeIndia2026-10-17Rangoni Of Florence UNQUALIFIED63Ivan Magalhaes
1003Smith G InouyeGermany2026-10-18Benton, John B Jr NEGOTIATION79Ivan Magalhaes
1004Juan N WieserItaly2026-09-30Morlong Associates NEGOTIATION1Elwin Sharvill
1005Murillo U DoeBrazil2026-10-07Commercial Press QUALIFIED15Ioni Bowcher
1006Claire Z PoquetteFrance2026-10-05Dorl, James J Esq PROPOSAL34Bernardo Dominic
1007Julie M SergiUnited Kingdom2026-10-20Dorl, James J Esq PROPOSAL46Xuxue Feng
1008Faith U WaycottUnited Kingdom2026-10-06Benton, John B Jr NEGOTIATION71Onyama Limba
1009Clifford Y CaldareraRussia2026-10-05Commercial Press RENEWAL6Onyama Limba
1010Francesco R ShinkoIndia2026-10-15Feltz Printing Service UNQUALIFIED74Stephen Shaw
1011Francesco D FlosiAustralia2026-10-19Dorl, James J Esq PROPOSAL20Asiya Javayant
1012Jefferson G SergiIndia2026-10-17Morlong Associates NEW39Bernardo Dominic
1013James B VocelkaArgentina2026-10-05Morlong Associates UNQUALIFIED44Stephen Shaw
1014Morrow H PaprockiBrazil2026-10-22Benton, John B Jr NEGOTIATION86Amy Elsner
1015Mayumi U KolmetzBrazil2026-09-28King, Christopher A Esq NEGOTIATION60Ivan Magalhaes
1016Salvatore Y NickaArgentina2026-10-12Commercial Press UNQUALIFIED78Amy Elsner
1017Stacey J MaletJapan2026-10-16Chapman, Ross E Esq NEW90Xuxue Feng
1018Rodrigues Y VenereItaly2026-10-19Feiner Bros RENEWAL58Amy Elsner
1019Sinclair Z NickaArgentina2026-10-14Benton, John B Jr NEW75Amy Elsner
1020Kadeem S CampainBrazil2026-10-16Dorl, James J Esq QUALIFIED18Elwin Sharvill
1021Munro Z StockhamRussia2026-10-09King, Christopher A Esq PROPOSAL36Bernardo Dominic
1022Alejandro U DoeItaly2026-09-26Printing Dimensions PROPOSAL88Xuxue Feng
1023Octavia D MorascaArgentina2026-10-17Chapman, Ross E Esq QUALIFIED65Anna Fali
1024Alejandro E StockhamItaly2026-09-28Rangoni Of Florence QUALIFIED36Ivan Magalhaes
1025Maisha H SaylorsIndia2026-10-18King, Christopher A Esq RENEWAL29Xuxue Feng
1026Aika Y AlbaresCanada2026-10-13Chapman, Ross E Esq RENEWAL44Asiya Javayant
1027Aruna X NestleArgentina2026-10-18Buckley Miller Wright RENEWAL47Bernardo Dominic
1028Emily K SchemmerCanada2026-09-27Commercial Press NEGOTIATION92Asiya Javayant
1029Wickens Q SergiSpain2026-10-07Feiner Bros QUALIFIED6Anna Fali
1030Ashley H DarakjyArgentina2026-10-15Benton, John B Jr QUALIFIED97Xuxue Feng
1031Cody D PerinSpain2026-10-14Dorl, James J Esq PROPOSAL12Anna Fali
1032Salvatore Z BriddickRussia2026-10-15Commercial Press NEGOTIATION38Asiya Javayant
1033David O VenereIndia2026-10-17Feltz Printing Service RENEWAL30Asiya Javayant
1034Emily J GlickBrazil2026-09-27Commercial Press NEGOTIATION29Ioni Bowcher
1035Ivar L PoquetteIndia2026-10-10Feiner Bros UNQUALIFIED60Onyama Limba
1036Deepesh L IturbideGermany2026-09-28Chemel, James L Cpa NEGOTIATION29Elwin Sharvill
1037Darci Z GauchoItaly2026-10-17Benton, John B Jr QUALIFIED45Asiya Javayant
1038Johnson Q MaletArgentina2026-10-02Feiner Bros QUALIFIED27Anna Fali
1039Clifford R ButtFrance2026-10-02Feiner Bros UNQUALIFIED63Anna Fali
1040Tony O KuskoBrazil2026-10-06Rangoni Of Florence RENEWAL1Ioni Bowcher
1041Ivar U InouyeRussia2026-10-22King, Christopher A Esq UNQUALIFIED18Xuxue Feng
1042Murillo U MorascaGermany2026-10-16Commercial Press RENEWAL55Xuxue Feng
1043Kaitlin Z VenereCanada2026-10-22Truhlar And Truhlar Attys UNQUALIFIED27Asiya Javayant
1044Nicolas M FerenczAustralia2026-10-14Commercial Press QUALIFIED93Amy Elsner
1045Murillo U AlbaresFrance2026-10-21Truhlar And Truhlar Attys RENEWAL70Ioni Bowcher
1046Jennifer J DarakjyAustralia2026-10-15Feiner Bros RENEWAL80Bernardo Dominic
1047Mujtaba B ChuiJapan2026-09-29Feiner Bros QUALIFIED13Xuxue Feng
1048Cody A InouyeAustralia2026-09-30Feiner Bros UNQUALIFIED77Xuxue Feng
1049Johnson Q MaletItaly2026-10-05Feiner Bros NEW36Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Arvin Q PerinItalyElwin Sharvill PROPOSAL
Ashley J MarrierBrazilAsiya Javayant NEGOTIATION
Silvio D CampainCanadaIoni Bowcher QUALIFIED
Claire F StockhamAustraliaOnyama Limba RENEWAL
Antonio C CaudyIndiaAnna Fali NEW
Mujtaba S MacleadAustraliaStephen Shaw PROPOSAL
Ashley A GarufiJapanIoni Bowcher UNQUALIFIED
Costa S MarrierJapanAmy Elsner NEW
Misaki V FlosiJapanAsiya Javayant NEGOTIATION
Izzy J BriddickIndiaXuxue Feng UNQUALIFIED
Alejandro Z RimGermanyAsiya Javayant PROPOSAL
David E SchemmerUnited KingdomStephen Shaw RENEWAL
Kaitlin M KuskoRussiaIoni Bowcher NEGOTIATION
David E MarrierArgentinaXuxue Feng UNQUALIFIED
Aruna A RutaRussiaIoni Bowcher NEGOTIATION
Maria I MacleadCanadaElwin Sharvill RENEWAL
Greenwood E GillianGermanyIoni Bowcher RENEWAL
Jones R RoysterItalyXuxue Feng NEGOTIATION
Stacey J FerenczCanadaXuxue Feng PROPOSAL
James F PerinFranceAnna Fali NEW
Isabel D ShinkoBrazilAsiya Javayant PROPOSAL
Francesco P CampainBrazilElwin Sharvill QUALIFIED
Jeanfrancois R FigeroaArgentinaAsiya Javayant NEW
Ashley G WieserJapanBernardo Dominic RENEWAL
Misaki G WhobreyFranceBernardo Dominic QUALIFIED
Salvatore B ButtJapanIoni Bowcher NEGOTIATION
Aruna H StensethSpainAmy Elsner PROPOSAL
Kaitlin B CampainFranceXuxue Feng RENEWAL
Jennifer H SchemmerAustraliaElwin Sharvill NEGOTIATION
Darci K CaldareraItalyIoni Bowcher UNQUALIFIED
Emily O BowleySpainBernardo Dominic NEGOTIATION
Ricardo M DoeJapanAsiya Javayant NEW
Antonio H WieserCanadaBernardo Dominic NEW
Johnson Z RimJapanAmy Elsner QUALIFIED
Smith I WaycottAustraliaAnna Fali UNQUALIFIED
Faith W KolmetzUnited KingdomIvan Magalhaes RENEWAL
Julie I CampainArgentinaAmy Elsner NEW
Izzy K PaprockiCanadaAnna Fali UNQUALIFIED
Kadeem S PaprockiGermanyAmy Elsner QUALIFIED
Wickens U InouyeJapanStephen Shaw NEW
Munro M StensethJapanXuxue Feng UNQUALIFIED
Leon F KuskoCanadaOnyama Limba NEGOTIATION
Adams P FerenczIndiaIoni Bowcher QUALIFIED
Antonio L VenereFranceAsiya Javayant UNQUALIFIED
Sinclair M AmigonJapanStephen Shaw NEGOTIATION
Morrow K RoysterGermanyXuxue Feng PROPOSAL
Mayumi Z WhobreyRussiaOnyama Limba UNQUALIFIED
Izzy E OldroydArgentinaElwin Sharvill QUALIFIED
Nicolas X BriddickGermanyAnna Fali NEGOTIATION
Nicolas W SchemmerRussiaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Mayumi M Briddick
Leon E Darakjy
Costa H Dilliard
Arvin S Rulapaugh
Julie H Whobrey
Izzy B Iturbide
Juan J Morasca
Sinclair Q Rim
Jones L Shinko
James W Waycott
Wickens I Caldarera
Sinclair T Royster
Ashley P Kusko
Aika I Nestle
Francesco T Malet
Clifford B Rulapaugh
Darci V Wieser
Kaitlin V Nestle
Wickens A Chui
Costa G Sergi
Murillo D Inouye
Emily B Venere
Jefferson W Foller
Jeanfrancois A Amigon
Stacey S Stockham
James R Campain
Jennifer D Shinko
Claire M Campain
Julie P Kolmetz
James O Doe
Ricardo I Caldarera
Juan W Flosi
Jefferson R Dilliard
Kaitlin D Ferencz
Jennifer Z Bolognia
Jones A Wieser
Clifford M Kolmetz
Wickens H Kusko
Darci D Flosi
Adams T Albares
Izzy R Stockham
Leja N Poquette
Smith E Wieser
Ashley Q Ferencz
James C Iturbide
Rodrigues J Garufi
Nicolas T Kolmetz
Maisha F Morasca
Ricardo T Stenseth
Silvio K Rulapaugh
IdCountryDate
1000India2026-10-24
1001Spain2026-10-22
1002Germany2026-09-29
1003Italy2026-09-29
1004Spain2026-10-22
1005Brazil2026-10-14
1006India2026-09-26
1007Canada2026-10-21
1008Russia2026-10-08
1009France2026-09-25
1010Japan2026-10-03
1011Brazil2026-10-03
1012Italy2026-10-07
1013United Kingdom2026-10-10
1014France2026-10-04
1015Argentina2026-10-02
1016Germany2026-10-17
1017Spain2026-10-17
1018United Kingdom2026-10-24
1019Argentina2026-10-19
1020France2026-10-14
1021Russia2026-10-16
1022United Kingdom2026-09-27
1023India2026-10-07
1024India2026-10-14
1025United Kingdom2026-10-20
1026Russia2026-10-08
1027Brazil2026-10-24
1028Japan2026-09-27
1029France2026-10-23
1030Brazil2026-10-22
1031Argentina2026-10-07
1032France2026-10-17
1033Spain2026-10-08
1034Spain2026-10-12
1035Italy2026-10-08
1036France2026-10-01
1037Canada2026-10-11
1038Italy2026-10-19
1039Russia2026-10-10
1040Argentina2026-10-09
1041France2026-10-11
1042Russia2026-10-14
1043Australia2026-10-11
1044Japan2026-10-17
1045Australia2026-10-14
1046France2026-10-14
1047Spain2026-10-13
1048India2026-10-14
1049Russia2026-10-20

On-Demand Data

NameIdCountryDate
Nicolas G Amigon1000Russia2026-10-15
Chavez B Malet1001United Kingdom2026-10-22
Ricardo P Flosi1002Australia2026-10-17
Isabel Y Vocelka1003Spain2026-10-07
Ashley X Perin1004France2026-10-16
Deepesh Q Maclead1005Brazil2026-10-02
Wickens L Nicka1006Russia2026-10-01
Francesco O Perin1007Russia2026-10-04
Munro B Malet1008Australia2026-10-19
Aika V Caudy1009France2026-10-02
Stacey O Darakjy1010United Kingdom2026-10-22
Octavia L Stenseth1011Brazil2026-10-11
Nicolas N Stenseth1012Russia2026-10-06
Antonio U Stockham1013Italy2026-10-13
Rodrigues W Iturbide1014Canada2026-09-30
Mujtaba N Inouye1015United Kingdom2026-10-05
Aruna P Wieser1016Canada2026-10-20
Deepesh C Bolognia1017Australia2026-10-16
Deepesh Q Albares1018Italy2026-10-01
Juan M Rulapaugh1019Australia2026-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues T PaprockiBrazilOnyama Limba NEGOTIATION
Stacey K WhobreyArgentinaOnyama Limba NEGOTIATION
Morrow P AlbaresIndiaStephen Shaw NEGOTIATION
Aditya N InouyeCanadaIvan Magalhaes UNQUALIFIED
Cody Y KuskoAustraliaElwin Sharvill UNQUALIFIED
Morrow R RoysterRussiaStephen Shaw NEGOTIATION
Arvin E FigeroaGermanyIoni Bowcher UNQUALIFIED
Mujtaba I StockhamUnited KingdomAnna Fali QUALIFIED
Arvin D NestleItalyIvan Magalhaes NEGOTIATION
Cody I OstroskyCanadaAsiya Javayant NEGOTIATION
Rodrigues S RoysterGermanyStephen Shaw PROPOSAL
Leon O StensethArgentinaIvan Magalhaes RENEWAL
Ricardo T DilliardUnited KingdomAnna Fali PROPOSAL
Morrow R NickaIndiaAmy Elsner NEGOTIATION
Smith E MarrierUnited KingdomXuxue Feng RENEWAL
Ashley B WhobreySpainStephen Shaw NEGOTIATION
Arvin S GarufiCanadaAsiya Javayant QUALIFIED
Aruna M GauchoAustraliaStephen Shaw UNQUALIFIED
Sinclair W DilliardIndiaElwin Sharvill QUALIFIED
Jennifer N InouyeCanadaAsiya Javayant PROPOSAL
Arvin M ButtGermanyAnna Fali RENEWAL
Emily E MaletItalyOnyama Limba UNQUALIFIED
Maria O OstroskyFranceStephen Shaw NEGOTIATION
Francesco Z ButtJapanOnyama Limba NEGOTIATION
Faith Y OldroydJapanAsiya Javayant NEGOTIATION
Ricardo F CaudyUnited KingdomElwin Sharvill NEGOTIATION
Jennifer Q GarufiAustraliaAmy Elsner RENEWAL
Juan Y GarufiGermanyAsiya Javayant NEW
Izzy X BriddickJapanAsiya Javayant PROPOSAL
James A InouyeCanadaXuxue Feng RENEWAL
Morrow P AlbaresFranceElwin Sharvill NEW
Stacey U SaylorsItalyElwin Sharvill NEW
Aditya H DilliardCanadaAnna Fali UNQUALIFIED
Arvin B MaletIndiaStephen Shaw RENEWAL
Kaitlin P CaldareraIndiaAmy Elsner NEGOTIATION
Maisha F NestleArgentinaXuxue Feng PROPOSAL
Johnson P SlusarskiSpainElwin Sharvill UNQUALIFIED
Smith F FigeroaUnited KingdomStephen Shaw PROPOSAL
Jones Z AmigonGermanyAmy Elsner NEGOTIATION
Johnson M AlbaresUnited KingdomAmy Elsner NEGOTIATION

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