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
Ricardo V NestleFranceAmy Elsner PROPOSAL
Alejandro Q PoquetteBrazilOnyama Limba PROPOSAL
Julie Y SlusarskiCanadaBernardo Dominic QUALIFIED
Silvio E VocelkaGermanyIvan Magalhaes QUALIFIED
Maisha S RulapaughItalyAnna Fali NEW
Octavia O FlosiItalyElwin Sharvill RENEWAL
Munro G KuskoGermanyAsiya Javayant NEW
Jeanfrancois O VenereJapanAsiya Javayant RENEWAL
Clifford B CaldareraAustraliaIvan Magalhaes RENEWAL
Silvio C BologniaIndiaAmy Elsner NEGOTIATION
Juan J SergiArgentinaAnna Fali UNQUALIFIED
Jefferson Z SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Deepesh Z RulapaughGermanyElwin Sharvill PROPOSAL
Munro H RutaSpainAsiya Javayant NEGOTIATION
Jefferson M VenereSpainOnyama Limba NEW
Ricardo N OldroydJapanElwin Sharvill UNQUALIFIED
Stacey T GarufiFranceXuxue Feng RENEWAL
Maisha E DilliardAustraliaAnna Fali RENEWAL
Johnson H AmigonUnited KingdomAnna Fali NEW
Kaitlin N PoquetteBrazilAnna Fali UNQUALIFIED
Izzy I CaldareraBrazilAsiya Javayant NEW
Alejandro C ButtItalyBernardo Dominic UNQUALIFIED
Leon P VenereJapanIoni Bowcher PROPOSAL
Emily D AmigonAustraliaXuxue Feng RENEWAL
Morrow R SlusarskiGermanyIvan Magalhaes RENEWAL
Jennifer O RutaItalyAsiya Javayant PROPOSAL
Rodrigues R VenereSpainStephen Shaw QUALIFIED
Octavia Z NickaFranceElwin Sharvill NEW
Tony E FlosiUnited KingdomAmy Elsner NEGOTIATION
Greenwood E CaldareraRussiaIvan Magalhaes NEW
Kaitlin K ButtFranceIvan Magalhaes UNQUALIFIED
Ivar O MarrierSpainAmy Elsner QUALIFIED
Emily A DilliardRussiaAsiya Javayant NEW
Ricardo G KuskoGermanyStephen Shaw NEGOTIATION
Ricardo N DoeJapanStephen Shaw QUALIFIED
Faith I FerenczGermanyIvan Magalhaes UNQUALIFIED
Rodrigues H PoquetteAustraliaStephen Shaw NEW
Jeanfrancois L TollnerJapanAnna Fali QUALIFIED
Mujtaba W DilliardAustraliaStephen Shaw RENEWAL
Julie R CampainIndiaIvan Magalhaes QUALIFIED
Morrow M MarrierBrazilAmy Elsner NEGOTIATION
Ivar C RulapaughSpainElwin Sharvill QUALIFIED
Morrow N FlosiSpainBernardo Dominic PROPOSAL
David X DarakjyBrazilStephen Shaw QUALIFIED
Wickens O BowleyArgentinaAmy Elsner PROPOSAL
Jones A InouyeUnited KingdomAsiya Javayant RENEWAL
Ivar O StockhamIndiaAmy Elsner NEW
Murillo S AmigonGermanyAsiya Javayant RENEWAL
Leja Z SergiFranceAnna Fali QUALIFIED
Maria O KuskoRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aika P AmigonGermanyAsiya Javayant UNQUALIFIED
Mujtaba K SlusarskiItalyOnyama Limba UNQUALIFIED
Salvatore Q FerenczRussiaAmy Elsner QUALIFIED
Tony T CaudyJapanIvan Magalhaes RENEWAL
Mayumi F VocelkaUnited KingdomOnyama Limba RENEWAL
Antonio S MarrierUnited KingdomAmy Elsner NEGOTIATION
Alejandro C MacleadCanadaOnyama Limba RENEWAL
Mujtaba J MacleadSpainOnyama Limba NEGOTIATION
Morrow L InouyeCanadaAmy Elsner NEW
Smith H KolmetzAustraliaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo T CaldareraAustralia2026-10-13Chapman, Ross E Esq NEGOTIATION20Ioni Bowcher
1001Ashley P VenereCanada2026-09-29Dorl, James J Esq QUALIFIED73Elwin Sharvill
1002Sinclair N IturbideUnited Kingdom2026-10-03Chanay, Jeffrey A Esq PROPOSAL59Anna Fali
1003Chavez R PerinBrazil2026-10-07Rousseaux, Michael Esq UNQUALIFIED10Amy Elsner
1004Maria I AlbaresCanada2026-10-13Morlong Associates NEGOTIATION2Bernardo Dominic
1005Munro E StockhamArgentina2026-09-27Rangoni Of Florence PROPOSAL68Asiya Javayant
1006Chavez O WaycottIndia2026-10-02Commercial Press PROPOSAL5Ioni Bowcher
1007Jones H MorascaGermany2026-10-14King, Christopher A Esq QUALIFIED1Onyama Limba
1008Misaki S SchemmerArgentina2026-10-08Feiner Bros NEW31Xuxue Feng
1009Stacey T RoysterBrazil2026-10-07Truhlar And Truhlar Attys QUALIFIED58Anna Fali
1010Kadeem C InouyeAustralia2026-10-02Rangoni Of Florence UNQUALIFIED58Anna Fali
1011Darci Y RimArgentina2026-10-13Rousseaux, Michael Esq NEW21Xuxue Feng
1012Deepesh Z FlosiSpain2026-10-03Benton, John B Jr NEW86Ivan Magalhaes
1013Tony Y FlosiCanada2026-10-19Dorl, James J Esq QUALIFIED57Xuxue Feng
1014Jefferson M MarrierBrazil2026-10-09Chemel, James L Cpa NEGOTIATION55Anna Fali
1015Antonio A BologniaRussia2026-09-29Feiner Bros RENEWAL21Amy Elsner
1016Octavia J RimAustralia2026-10-17Morlong Associates NEW57Onyama Limba
1017Julie M VocelkaIndia2026-10-20King, Christopher A Esq NEW58Stephen Shaw
1018David W AlbaresArgentina2026-09-21Printing Dimensions PROPOSAL0Ivan Magalhaes
1019Tony X NestleUnited Kingdom2026-09-21Morlong Associates UNQUALIFIED93Ioni Bowcher
1020Julie Q FigeroaBrazil2026-10-01Rangoni Of Florence UNQUALIFIED89Amy Elsner
1021Sinclair C FollerGermany2026-09-24Feiner Bros RENEWAL48Bernardo Dominic
1022Octavia T FollerItaly2026-09-29Morlong Associates NEGOTIATION31Onyama Limba
1023Aruna B DoeGermany2026-10-08Chanay, Jeffrey A Esq NEW80Anna Fali
1024Munro J GauchoFrance2026-10-05Benton, John B Jr NEW30Asiya Javayant
1025Izzy S PoquetteIndia2026-09-26Truhlar And Truhlar Attys RENEWAL97Ivan Magalhaes
1026Mayumi B FlosiBrazil2026-10-10Feiner Bros PROPOSAL94Asiya Javayant
1027Rodrigues A WieserIndia2026-10-15Dorl, James J Esq NEGOTIATION51Asiya Javayant
1028Silvio U SchemmerJapan2026-10-17Benton, John B Jr NEW44Onyama Limba
1029Kadeem M FollerSpain2026-10-11Commercial Press UNQUALIFIED48Xuxue Feng
1030James V OldroydJapan2026-10-05Chemel, James L Cpa QUALIFIED6Amy Elsner
1031Jennifer G RutaCanada2026-10-14Feiner Bros RENEWAL46Xuxue Feng
1032Antonio H VocelkaSpain2026-10-13Feiner Bros QUALIFIED10Xuxue Feng
1033Darci U KolmetzSpain2026-10-07Chanay, Jeffrey A Esq NEW65Amy Elsner
1034Izzy N RutaUnited Kingdom2026-09-29Chemel, James L Cpa QUALIFIED43Asiya Javayant
1035Aditya D BowleyAustralia2026-10-08Chanay, Jeffrey A Esq QUALIFIED39Anna Fali
1036Isabel V FigeroaSpain2026-10-15Chapman, Ross E Esq UNQUALIFIED21Xuxue Feng
1037Morrow G PaprockiRussia2026-09-22Rangoni Of Florence NEW43Ivan Magalhaes
1038Jones V SlusarskiSpain2026-10-09Rousseaux, Michael Esq PROPOSAL80Onyama Limba
1039Stacey U FlosiIndia2026-10-16Buckley Miller Wright PROPOSAL12Stephen Shaw
1040Munro U MaletBrazil2026-09-27Truhlar And Truhlar Attys NEW25Bernardo Dominic
1041Greenwood U GarufiCanada2026-10-16Dorl, James J Esq NEGOTIATION32Anna Fali
1042Emily F MorascaFrance2026-10-15Dorl, James J Esq PROPOSAL73Stephen Shaw
1043Sinclair X BowleyAustralia2026-10-07Chapman, Ross E Esq QUALIFIED60Onyama Limba
1044Juan S MorascaItaly2026-10-01Chapman, Ross E Esq NEGOTIATION78Anna Fali
1045Cody O WieserIndia2026-09-29Dorl, James J Esq QUALIFIED56Ivan Magalhaes
1046Salvatore K CaldareraGermany2026-10-08Buckley Miller Wright PROPOSAL8Anna Fali
1047Faith Z MorascaJapan2026-10-12Commercial Press RENEWAL76Ioni Bowcher
1048Greenwood J KuskoBrazil2026-10-10Morlong Associates UNQUALIFIED65Bernardo Dominic
1049Salvatore R RutaItaly2026-10-15Benton, John B Jr RENEWAL2Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Octavia L RoysterIndiaBernardo Dominic NEW
Stacey J CaldareraRussiaAnna Fali RENEWAL
Darci L RutaArgentinaElwin Sharvill RENEWAL
Maisha U KuskoAustraliaOnyama Limba QUALIFIED
Aruna V SlusarskiBrazilElwin Sharvill NEGOTIATION
Julie X FerenczIndiaIvan Magalhaes QUALIFIED
Jennifer M SlusarskiArgentinaAnna Fali NEGOTIATION
Izzy T StensethBrazilStephen Shaw NEGOTIATION
Clifford X GarufiSpainAmy Elsner QUALIFIED
Mayumi Z FollerUnited KingdomAmy Elsner RENEWAL
Emily N TollnerArgentinaIoni Bowcher RENEWAL
Leon R PaprockiItalyIoni Bowcher NEW
Izzy W GillianSpainIvan Magalhaes RENEWAL
Jones U GauchoJapanOnyama Limba NEW
Maria W AmigonRussiaOnyama Limba NEW
Aditya U WaycottUnited KingdomIvan Magalhaes QUALIFIED
Leon L GlickUnited KingdomAmy Elsner RENEWAL
Emily F MarrierUnited KingdomAmy Elsner RENEWAL
Aditya X RutaJapanAsiya Javayant UNQUALIFIED
Tony Q SergiIndiaOnyama Limba RENEWAL
Ivar F CaudyFranceAnna Fali QUALIFIED
Julie G CaudySpainXuxue Feng PROPOSAL
Jeanfrancois Z MarrierFranceStephen Shaw QUALIFIED
Aditya G WieserBrazilAnna Fali PROPOSAL
Claire K SergiAustraliaBernardo Dominic NEGOTIATION
Mayumi P NickaFranceOnyama Limba RENEWAL
Isabel E OstroskyItalyElwin Sharvill UNQUALIFIED
Chavez W TollnerBrazilBernardo Dominic QUALIFIED
Leja F StensethSpainXuxue Feng PROPOSAL
Octavia C MarrierAustraliaBernardo Dominic QUALIFIED
Jennifer K CampainBrazilOnyama Limba UNQUALIFIED
Silvio F BologniaCanadaBernardo Dominic NEGOTIATION
Misaki C StockhamJapanElwin Sharvill UNQUALIFIED
Izzy Q TollnerIndiaXuxue Feng NEW
Johnson C WhobreyFranceIoni Bowcher RENEWAL
Salvatore S ButtIndiaOnyama Limba NEW
Silvio N OstroskyRussiaStephen Shaw NEW
Alejandro P WaycottGermanyAmy Elsner PROPOSAL
Faith P PoquetteRussiaBernardo Dominic NEW
Ashley A FigeroaIndiaXuxue Feng NEGOTIATION
Costa C FollerGermanyXuxue Feng NEW
Jefferson N SaylorsCanadaStephen Shaw UNQUALIFIED
Maria K RimJapanXuxue Feng PROPOSAL
Octavia G StensethFranceAmy Elsner RENEWAL
Stacey M RoysterJapanAmy Elsner PROPOSAL
Kaitlin T GarufiJapanBernardo Dominic RENEWAL
Aditya O InouyeIndiaAnna Fali QUALIFIED
Clifford N DarakjyAustraliaAsiya Javayant QUALIFIED
Francesco Y FigeroaAustraliaElwin Sharvill NEGOTIATION
Izzy F BowleyJapanIoni Bowcher PROPOSAL
Frozen Columns
Name
Arvin O Wieser
Maria G Vocelka
Misaki G Butt
Costa W Paprocki
Kaitlin B Malet
Faith W Inouye
Mayumi C Perin
Darci U Amigon
Morrow U Caudy
Clifford L Tollner
Jefferson N Oldroyd
Adams R Poquette
Jeanfrancois S Iturbide
Octavia Z Wieser
Arvin C Campain
Mujtaba Y Campain
Claire V Nicka
Isabel K Campain
Tony D Flosi
Leon H Vocelka
Johnson T Poquette
Greenwood H Morasca
Arvin D Dilliard
Johnson I Garufi
Leon H Royster
Faith M Amigon
Adams C Royster
Faith I Malet
Silvio T Malet
Emily H Marrier
Johnson C Caldarera
Faith Y Wieser
Aika J Ruta
Isabel M Gillian
Murillo V Bowley
Deepesh D Wieser
Julie P Rim
Ricardo N Caudy
Octavia L Amigon
Nicolas L Kusko
Francesco J Bowley
Munro D Wieser
Arvin V Garufi
Aruna V Butt
Octavia V Stenseth
Francesco F Royster
Clifford X Glick
Deepesh I Inouye
Octavia I Figeroa
Wickens A Marrier
IdCountryDate
1000United Kingdom2026-09-23
1001Spain2026-09-29
1002Canada2026-09-23
1003United Kingdom2026-10-16
1004Russia2026-09-27
1005Japan2026-09-28
1006United Kingdom2026-10-01
1007Brazil2026-10-02
1008United Kingdom2026-10-16
1009India2026-10-03
1010India2026-09-27
1011Brazil2026-09-30
1012Canada2026-09-24
1013Japan2026-10-09
1014Brazil2026-10-04
1015Spain2026-09-26
1016France2026-09-29
1017Italy2026-10-02
1018France2026-10-09
1019Russia2026-09-30
1020Russia2026-09-25
1021Germany2026-09-24
1022Argentina2026-09-24
1023Germany2026-09-26
1024France2026-10-11
1025Spain2026-10-17
1026Germany2026-10-11
1027Japan2026-09-27
1028France2026-09-27
1029Canada2026-10-05
1030Japan2026-10-08
1031Australia2026-09-22
1032Italy2026-09-27
1033Australia2026-10-02
1034India2026-10-13
1035Italy2026-09-21
1036Russia2026-10-13
1037Canada2026-10-13
1038India2026-10-01
1039France2026-09-24
1040India2026-09-28
1041France2026-10-14
1042Germany2026-09-30
1043Brazil2026-10-17
1044Australia2026-10-14
1045United Kingdom2026-10-04
1046Brazil2026-10-16
1047India2026-10-01
1048Russia2026-10-05
1049Germany2026-10-20

On-Demand Data

NameIdCountryDate
Adams H Nicka1000Japan2026-09-21
Aruna Z Marrier1001Russia2026-10-09
Murillo L Darakjy1002Spain2026-09-26
Tony N Chui1003France2026-09-23
Isabel J Darakjy1004United Kingdom2026-10-01
Ivar M Maclead1005France2026-10-19
Sinclair J Foller1006France2026-09-21
Adams A Ostrosky1007Brazil2026-10-16
Munro J Ostrosky1008Australia2026-09-25
Arvin Y Caudy1009France2026-10-17
Stacey H Paprocki1010United Kingdom2026-10-16
Ivar H Glick1011Argentina2026-10-13
Aruna T Caudy1012Argentina2026-09-24
Tony A Briddick1013Argentina2026-10-12
Julie D Kusko1014Japan2026-10-19
Maria I Shinko1015Italy2026-10-16
Jennifer H Morasca1016India2026-10-07
Mujtaba U Caudy1017Russia2026-09-30
Leon S Albares1018Argentina2026-10-04
Kadeem D Slusarski1019Canada2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo D RutaCanadaOnyama Limba PROPOSAL
Ashley E SchemmerCanadaBernardo Dominic NEW
Isabel L GlickIndiaStephen Shaw UNQUALIFIED
Arvin C SergiUnited KingdomAsiya Javayant NEGOTIATION
Deepesh W AlbaresGermanyAmy Elsner UNQUALIFIED
Arvin O KolmetzBrazilIvan Magalhaes NEGOTIATION
Murillo S AmigonCanadaAmy Elsner NEW
Aika J ChuiSpainStephen Shaw QUALIFIED
Faith E CaldareraGermanyXuxue Feng NEW
Jones L GlickRussiaXuxue Feng QUALIFIED
Octavia B ButtRussiaAmy Elsner RENEWAL
Chavez I FigeroaAustraliaAmy Elsner UNQUALIFIED
Jefferson R TollnerUnited KingdomAnna Fali QUALIFIED
Julie V ChuiUnited KingdomAnna Fali QUALIFIED
Costa C MorascaBrazilXuxue Feng PROPOSAL
Stacey C RimUnited KingdomElwin Sharvill PROPOSAL
Jefferson M FigeroaIndiaAmy Elsner NEGOTIATION
Mujtaba L GauchoCanadaIvan Magalhaes QUALIFIED
Jennifer K ButtIndiaIoni Bowcher NEGOTIATION
Mujtaba B CaudyItalyStephen Shaw RENEWAL
Ivar R ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Johnson L BologniaAustraliaBernardo Dominic PROPOSAL
Misaki V RutaJapanAsiya Javayant RENEWAL
Kaitlin H BowleyIndiaIoni Bowcher UNQUALIFIED
Jones U GillianFranceElwin Sharvill QUALIFIED
Julie C MarrierArgentinaStephen Shaw RENEWAL
Munro E WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Octavia U TollnerFranceAmy Elsner RENEWAL
Darci K BriddickCanadaAnna Fali QUALIFIED
Salvatore T StensethArgentinaOnyama Limba RENEWAL
Mayumi L BologniaFranceOnyama Limba NEW
Misaki O GillianGermanyIoni Bowcher RENEWAL
Juan B StensethIndiaOnyama Limba NEW
Mujtaba P NickaUnited KingdomStephen Shaw NEGOTIATION
Chavez Y ShinkoSpainAmy Elsner UNQUALIFIED
Alejandro V ButtCanadaAsiya Javayant UNQUALIFIED
Jennifer A SergiItalyStephen Shaw NEGOTIATION
Munro D MorascaGermanyAnna Fali UNQUALIFIED
Izzy E SchemmerJapanXuxue Feng UNQUALIFIED
Darci F FlosiItalyXuxue Feng NEW

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