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 N CaudyUnited KingdomBernardo Dominic NEGOTIATION
Mayumi C StockhamIndiaBernardo Dominic UNQUALIFIED
Greenwood S SlusarskiItalyIoni Bowcher UNQUALIFIED
Darci R GauchoArgentinaIvan Magalhaes QUALIFIED
Jennifer G GlickAustraliaAsiya Javayant QUALIFIED
Darci U WieserRussiaAmy Elsner UNQUALIFIED
James S StockhamAustraliaIoni Bowcher NEW
Darci D KolmetzBrazilBernardo Dominic NEGOTIATION
Francesco Q AlbaresIndiaAmy Elsner NEGOTIATION
Aditya H DilliardSpainIvan Magalhaes RENEWAL
Cody X VocelkaBrazilIoni Bowcher PROPOSAL
Aika V MacleadUnited KingdomIoni Bowcher NEGOTIATION
Jones U WieserJapanOnyama Limba NEGOTIATION
Juan X InouyeBrazilIvan Magalhaes QUALIFIED
Jefferson Y GillianJapanStephen Shaw QUALIFIED
Juan O ButtJapanOnyama Limba NEGOTIATION
Leja P InouyeRussiaAnna Fali NEGOTIATION
Octavia Z FerenczArgentinaStephen Shaw RENEWAL
Faith V WhobreyArgentinaElwin Sharvill UNQUALIFIED
Ricardo L WhobreyJapanXuxue Feng UNQUALIFIED
Jones H GillianUnited KingdomBernardo Dominic RENEWAL
Leja R GlickGermanyXuxue Feng QUALIFIED
David K GillianArgentinaStephen Shaw RENEWAL
Ashley W MacleadSpainBernardo Dominic RENEWAL
Rodrigues A InouyeItalyIvan Magalhaes NEW
Aditya G MorascaCanadaAmy Elsner QUALIFIED
Mujtaba Y BowleyItalyIoni Bowcher QUALIFIED
Deepesh I RutaUnited KingdomElwin Sharvill PROPOSAL
Silvio M DoeSpainAnna Fali NEGOTIATION
David A NickaGermanyAnna Fali UNQUALIFIED
Mayumi H GillianJapanElwin Sharvill RENEWAL
Morrow Y ChuiRussiaAmy Elsner NEGOTIATION
Aditya C SlusarskiRussiaAnna Fali RENEWAL
Mujtaba I WhobreyRussiaElwin Sharvill NEGOTIATION
Ivar U FollerSpainIvan Magalhaes UNQUALIFIED
Arvin M DilliardSpainStephen Shaw NEGOTIATION
Deepesh R RulapaughSpainAmy Elsner NEGOTIATION
Murillo Y VenereJapanStephen Shaw NEGOTIATION
Ricardo T MaletJapanAmy Elsner RENEWAL
Murillo P MaletJapanAnna Fali NEGOTIATION
Juan U SaylorsCanadaIvan Magalhaes UNQUALIFIED
Deepesh R AmigonSpainXuxue Feng NEW
Tony Y MacleadUnited KingdomIvan Magalhaes QUALIFIED
Munro B RoysterArgentinaAsiya Javayant UNQUALIFIED
Smith T MorascaBrazilAsiya Javayant RENEWAL
Adams U ShinkoSpainBernardo Dominic PROPOSAL
Jeanfrancois I VocelkaSpainIvan Magalhaes PROPOSAL
Maria A OstroskyFranceXuxue Feng NEW
Alejandro O GlickGermanyStephen Shaw RENEWAL
Kadeem P StockhamSpainIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Misaki F OldroydGermanyElwin Sharvill RENEWAL
Adams X InouyeRussiaXuxue Feng UNQUALIFIED
Aika T RoysterCanadaAmy Elsner RENEWAL
Deepesh S NickaJapanElwin Sharvill PROPOSAL
Salvatore K BologniaUnited KingdomStephen Shaw RENEWAL
Leon C ShinkoArgentinaAmy Elsner NEW
Smith M PerinUnited KingdomAmy Elsner NEW
David H NickaCanadaOnyama Limba QUALIFIED
Stacey C DarakjyArgentinaAnna Fali UNQUALIFIED
Chavez H BowleySpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow U FollerJapan2026-09-23Feiner Bros UNQUALIFIED50Ioni Bowcher
1001Munro U MacleadItaly2026-09-20Buckley Miller Wright RENEWAL72Bernardo Dominic
1002Cody V FlosiRussia2026-09-11Commercial Press RENEWAL74Anna Fali
1003Johnson V AmigonJapan2026-09-16Chanay, Jeffrey A Esq NEW86Ioni Bowcher
1004Ricardo Q OstroskyBrazil2026-09-21Feiner Bros UNQUALIFIED27Ioni Bowcher
1005Claire G SergiArgentina2026-09-27Benton, John B Jr PROPOSAL24Bernardo Dominic
1006Juan I MacleadSpain2026-09-09Truhlar And Truhlar Attys RENEWAL7Elwin Sharvill
1007Jones T OstroskyCanada2026-09-09King, Christopher A Esq NEGOTIATION55Ioni Bowcher
1008Deepesh T KuskoBrazil2026-10-03Commercial Press PROPOSAL80Asiya Javayant
1009James O SchemmerCanada2026-09-19Chemel, James L Cpa PROPOSAL73Elwin Sharvill
1010Francesco V DilliardFrance2026-09-12Chemel, James L Cpa NEW20Stephen Shaw
1011James C NickaIndia2026-09-09Truhlar And Truhlar Attys RENEWAL41Amy Elsner
1012Nicolas B ButtArgentina2026-09-22Dorl, James J Esq UNQUALIFIED8Xuxue Feng
1013Johnson I InouyeSpain2026-09-08Truhlar And Truhlar Attys NEGOTIATION19Anna Fali
1014Izzy Q PaprockiCanada2026-09-24Morlong Associates NEGOTIATION46Asiya Javayant
1015Kaitlin O PerinBrazil2026-10-05Dorl, James J Esq PROPOSAL63Bernardo Dominic
1016Deepesh F DilliardSpain2026-09-20King, Christopher A Esq NEW22Stephen Shaw
1017Darci N InouyeAustralia2026-09-25Truhlar And Truhlar Attys QUALIFIED61Anna Fali
1018Darci Z PoquetteFrance2026-09-25Truhlar And Truhlar Attys RENEWAL65Onyama Limba
1019Cody E WaycottArgentina2026-09-29Feiner Bros PROPOSAL47Ivan Magalhaes
1020Isabel U KuskoFrance2026-09-07Commercial Press UNQUALIFIED97Xuxue Feng
1021Mayumi K CaudyFrance2026-09-17Rangoni Of Florence UNQUALIFIED14Onyama Limba
1022Darci A FollerUnited Kingdom2026-09-22Printing Dimensions NEW4Asiya Javayant
1023Jones P DoeRussia2026-10-01King, Christopher A Esq QUALIFIED85Xuxue Feng
1024Costa D CampainCanada2026-10-04Chanay, Jeffrey A Esq NEGOTIATION39Anna Fali
1025Jones K WhobreyRussia2026-10-03Feltz Printing Service NEW27Ivan Magalhaes
1026Salvatore Y PoquetteRussia2026-09-13Rousseaux, Michael Esq UNQUALIFIED71Xuxue Feng
1027Aika H CaldareraGermany2026-09-11Rangoni Of Florence RENEWAL43Onyama Limba
1028Munro W OldroydFrance2026-09-08Dorl, James J Esq PROPOSAL61Ivan Magalhaes
1029Salvatore E KolmetzIndia2026-09-27Printing Dimensions QUALIFIED76Stephen Shaw
1030Nicolas W CaudyItaly2026-09-08Benton, John B Jr PROPOSAL67Ioni Bowcher
1031Aika X RimCanada2026-09-15Benton, John B Jr PROPOSAL50Bernardo Dominic
1032Aika T RoysterJapan2026-09-21Morlong Associates RENEWAL71Amy Elsner
1033Maria N SlusarskiAustralia2026-09-06Truhlar And Truhlar Attys NEGOTIATION29Anna Fali
1034Aika J OldroydGermany2026-09-27Feiner Bros RENEWAL95Bernardo Dominic
1035Aruna N AlbaresUnited Kingdom2026-09-10Printing Dimensions RENEWAL72Stephen Shaw
1036Kaitlin L CampainJapan2026-09-13Chemel, James L Cpa QUALIFIED17Onyama Limba
1037Ricardo I GlickIndia2026-09-30Feiner Bros UNQUALIFIED54Elwin Sharvill
1038Clifford R CampainSpain2026-09-08Morlong Associates NEW18Elwin Sharvill
1039Misaki M SchemmerRussia2026-09-30Chanay, Jeffrey A Esq PROPOSAL49Ioni Bowcher
1040Adams V DilliardBrazil2026-10-03Chemel, James L Cpa NEW5Ivan Magalhaes
1041Nicolas Q CaldareraUnited Kingdom2026-09-16Dorl, James J Esq UNQUALIFIED67Elwin Sharvill
1042Jennifer S IturbideGermany2026-09-19Commercial Press NEGOTIATION91Ioni Bowcher
1043Stacey U SaylorsFrance2026-09-11Chapman, Ross E Esq NEW62Stephen Shaw
1044Chavez R MaletJapan2026-09-07Buckley Miller Wright QUALIFIED24Anna Fali
1045Aruna A VenereJapan2026-09-27Benton, John B Jr NEW24Elwin Sharvill
1046Alejandro F KolmetzArgentina2026-09-27Chemel, James L Cpa NEGOTIATION85Stephen Shaw
1047Faith C CaldareraSpain2026-09-12Feltz Printing Service QUALIFIED43Stephen Shaw
1048Octavia A BriddickArgentina2026-10-01Dorl, James J Esq NEW37Ivan Magalhaes
1049Mayumi S GlickRussia2026-09-11Commercial Press UNQUALIFIED48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow Z VocelkaRussiaIvan Magalhaes QUALIFIED
Alejandro P DilliardIndiaAsiya Javayant UNQUALIFIED
Costa B BowleyFranceAmy Elsner PROPOSAL
Faith J OstroskyUnited KingdomAmy Elsner RENEWAL
Alejandro L PerinBrazilElwin Sharvill QUALIFIED
Alejandro D SaylorsUnited KingdomIvan Magalhaes RENEWAL
Kadeem N DarakjyArgentinaAnna Fali NEW
Claire O RutaJapanIoni Bowcher NEW
Greenwood P ChuiRussiaAnna Fali RENEWAL
Aditya E FlosiArgentinaIoni Bowcher NEW
Aruna N SlusarskiRussiaAsiya Javayant QUALIFIED
Darci Y VenereUnited KingdomElwin Sharvill QUALIFIED
Leon E PaprockiIndiaElwin Sharvill RENEWAL
Aika J TollnerBrazilIvan Magalhaes PROPOSAL
Francesco B BriddickCanadaIoni Bowcher NEGOTIATION
Julie G DilliardGermanyElwin Sharvill RENEWAL
Jefferson X BowleyCanadaXuxue Feng NEW
Maria A DilliardSpainOnyama Limba PROPOSAL
Morrow P CampainBrazilIvan Magalhaes UNQUALIFIED
Chavez H StockhamArgentinaElwin Sharvill QUALIFIED
Julie D IturbideItalyIvan Magalhaes QUALIFIED
Julie T WhobreyJapanElwin Sharvill PROPOSAL
Silvio U BriddickUnited KingdomAsiya Javayant QUALIFIED
Ricardo Q WhobreyArgentinaXuxue Feng PROPOSAL
Ricardo N NickaUnited KingdomOnyama Limba QUALIFIED
Francesco T OstroskySpainAnna Fali QUALIFIED
Juan X ButtSpainAmy Elsner NEGOTIATION
Francesco T BriddickAustraliaStephen Shaw RENEWAL
Johnson R PerinFranceAnna Fali NEGOTIATION
Deepesh L KuskoCanadaAmy Elsner PROPOSAL
Salvatore P CaldareraFranceAsiya Javayant NEGOTIATION
Alejandro S RulapaughArgentinaAnna Fali NEGOTIATION
Ivar N SlusarskiJapanXuxue Feng UNQUALIFIED
Isabel I StensethSpainAmy Elsner UNQUALIFIED
Alejandro M GarufiGermanyStephen Shaw QUALIFIED
Clifford F MaletSpainStephen Shaw PROPOSAL
Sinclair Z MaletIndiaAsiya Javayant QUALIFIED
Sinclair X CaldareraAustraliaXuxue Feng RENEWAL
Rodrigues H StensethBrazilIvan Magalhaes UNQUALIFIED
Rodrigues S BologniaBrazilAmy Elsner UNQUALIFIED
Jones R AmigonFranceOnyama Limba NEGOTIATION
Wickens R MaletIndiaStephen Shaw PROPOSAL
Tony A BowleySpainXuxue Feng NEW
Greenwood E TollnerCanadaBernardo Dominic QUALIFIED
Johnson H MorascaBrazilStephen Shaw RENEWAL
Emily B SlusarskiJapanAsiya Javayant NEW
Alejandro O DarakjySpainStephen Shaw UNQUALIFIED
Francesco B MorascaRussiaBernardo Dominic NEW
Aika G CaudyGermanyElwin Sharvill RENEWAL
Mayumi L BriddickArgentinaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Emily N Poquette
Silvio X Figeroa
Johnson N Vocelka
Jefferson O Garufi
Adams W Rim
Salvatore J Sergi
Juan S Wieser
Rodrigues H Caldarera
David A Bolognia
Ricardo U Poquette
Costa X Slusarski
Murillo G Dilliard
Aruna R Butt
Octavia T Bolognia
Jones A Paprocki
Smith B Wieser
Jeanfrancois X Perin
Adams C Malet
Juan K Wieser
Faith Z Saylors
Maisha W Slusarski
Izzy G Inouye
Octavia V Shinko
Maria N Paprocki
Silvio Q Caudy
Silvio J Iturbide
Wickens Q Schemmer
Maisha G Ferencz
Emily S Gillian
David K Kusko
Kadeem X Garufi
Antonio I Slusarski
Silvio B Foller
Stacey E Darakjy
Johnson K Poquette
Munro X Wieser
Leon B Ferencz
Costa F Ruta
Sinclair U Nicka
Nicolas P Gillian
Faith Y Caudy
Aditya O Bolognia
Maisha C Morasca
Sinclair F Bowley
Johnson Z Shinko
Adams Q Shinko
Misaki G Kolmetz
Mayumi N Iturbide
Arvin K Malet
Ricardo T Perin
IdCountryDate
1000Canada2026-10-04
1001Italy2026-09-27
1002Argentina2026-09-09
1003India2026-09-16
1004France2026-09-26
1005Russia2026-09-26
1006Russia2026-09-28
1007France2026-09-12
1008Italy2026-09-21
1009Canada2026-09-25
1010France2026-09-29
1011Italy2026-09-30
1012France2026-09-17
1013France2026-10-04
1014Argentina2026-09-22
1015Spain2026-09-24
1016Russia2026-09-15
1017Germany2026-09-10
1018Japan2026-09-18
1019Russia2026-09-18
1020France2026-09-24
1021India2026-09-09
1022Australia2026-09-28
1023Germany2026-09-26
1024Russia2026-09-07
1025Japan2026-09-24
1026Italy2026-09-06
1027Brazil2026-09-13
1028Germany2026-09-24
1029Argentina2026-10-04
1030Germany2026-09-08
1031Brazil2026-09-26
1032India2026-09-27
1033Spain2026-09-30
1034Argentina2026-09-19
1035Spain2026-09-29
1036Spain2026-10-03
1037Australia2026-09-28
1038France2026-10-05
1039Spain2026-09-16
1040Argentina2026-10-04
1041Brazil2026-09-11
1042Australia2026-09-07
1043Brazil2026-10-05
1044Argentina2026-09-27
1045United Kingdom2026-09-30
1046Brazil2026-09-10
1047France2026-09-14
1048Brazil2026-10-05
1049France2026-09-16

On-Demand Data

NameIdCountryDate
Mayumi L Gaucho1000Germany2026-10-01
Emily B Gaucho1001Italy2026-09-15
Aika U Saylors1002France2026-09-29
Adams I Malet1003Brazil2026-09-08
Aika T Kusko1004Brazil2026-10-02
Jeanfrancois O Garufi1005Brazil2026-09-16
Claire B Waycott1006Australia2026-10-04
Wickens M Ruta1007India2026-10-04
Ricardo I Stockham1008Germany2026-10-04
Smith A Sergi1009Italy2026-09-10
Jones A Flosi1010Brazil2026-09-09
Juan G Ferencz1011United Kingdom2026-10-02
Cody X Shinko1012Italy2026-10-04
Salvatore M Bolognia1013Russia2026-09-17
Ivar B Nestle1014Italy2026-10-04
Julie O Dilliard1015Canada2026-10-03
Silvio N Caldarera1016Argentina2026-09-29
Aika V Nicka1017Brazil2026-09-11
Cody O Malet1018Canada2026-09-23
Francesco V Gillian1019Japan2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika L WieserRussiaAnna Fali NEW
Mayumi Y NickaCanadaAmy Elsner RENEWAL
Mujtaba B TollnerFranceElwin Sharvill PROPOSAL
Murillo M PerinCanadaAsiya Javayant UNQUALIFIED
Cody J FlosiAustraliaIvan Magalhaes QUALIFIED
Silvio C SchemmerCanadaBernardo Dominic NEW
Maisha O WieserAustraliaAmy Elsner RENEWAL
Maria N SlusarskiJapanOnyama Limba NEW
Mayumi N AmigonRussiaIoni Bowcher RENEWAL
Alejandro V MorascaSpainXuxue Feng PROPOSAL
Aruna S FigeroaArgentinaBernardo Dominic RENEWAL
Smith L SlusarskiFranceElwin Sharvill NEGOTIATION
Mayumi P GarufiAustraliaElwin Sharvill NEW
Jennifer Y WaycottArgentinaIoni Bowcher NEW
Aditya X PerinItalyAmy Elsner QUALIFIED
Misaki N InouyeGermanyAnna Fali QUALIFIED
Jefferson S StensethArgentinaAmy Elsner PROPOSAL
Aika D ShinkoCanadaBernardo Dominic UNQUALIFIED
Julie W MacleadRussiaIoni Bowcher NEW
Izzy M ButtUnited KingdomElwin Sharvill PROPOSAL
Silvio X PerinBrazilElwin Sharvill PROPOSAL
Claire P DoeCanadaElwin Sharvill UNQUALIFIED
Leon V CaldareraUnited KingdomAsiya Javayant QUALIFIED
Faith U InouyeFranceAnna Fali RENEWAL
Antonio Z GarufiUnited KingdomBernardo Dominic RENEWAL
Octavia T DoeFranceAsiya Javayant QUALIFIED
Maria U PerinGermanyIoni Bowcher NEGOTIATION
Misaki G BriddickArgentinaAmy Elsner NEGOTIATION
Mayumi S AmigonJapanAnna Fali NEGOTIATION
Ashley H SaylorsAustraliaStephen Shaw UNQUALIFIED
Aditya J WhobreyRussiaBernardo Dominic NEGOTIATION
Morrow D FerenczIndiaAsiya Javayant NEW
Clifford W MaletGermanyIoni Bowcher QUALIFIED
Munro T MaletBrazilOnyama Limba QUALIFIED
Julie G MaletBrazilStephen Shaw RENEWAL
Claire B WhobreyJapanIoni Bowcher QUALIFIED
Ashley D ShinkoBrazilAmy Elsner PROPOSAL
Alejandro W FollerRussiaBernardo Dominic UNQUALIFIED
Mayumi A StensethFranceBernardo Dominic PROPOSAL
Murillo E FlosiFranceAmy Elsner 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>