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
Francesco B CaudyBrazilIoni Bowcher PROPOSAL
Chavez N RimCanadaIoni Bowcher NEW
James W WieserRussiaAnna Fali QUALIFIED
Emily M VocelkaGermanyBernardo Dominic NEGOTIATION
Morrow L OstroskyRussiaIvan Magalhaes UNQUALIFIED
Darci U TollnerCanadaElwin Sharvill UNQUALIFIED
Isabel Q StockhamGermanyIvan Magalhaes RENEWAL
Wickens L FollerFranceAsiya Javayant RENEWAL
Costa A NestleItalyBernardo Dominic UNQUALIFIED
Murillo Z NickaSpainXuxue Feng RENEWAL
Kaitlin E RoysterItalyIoni Bowcher NEGOTIATION
Kadeem O WhobreyItalyXuxue Feng QUALIFIED
Jennifer N CampainItalyIvan Magalhaes PROPOSAL
Juan F StensethFranceOnyama Limba RENEWAL
Kaitlin K SlusarskiItalyAmy Elsner NEW
Kadeem I GarufiGermanyAnna Fali NEGOTIATION
Claire C GauchoJapanElwin Sharvill UNQUALIFIED
James J RulapaughGermanyIvan Magalhaes UNQUALIFIED
Ashley B StockhamFranceAnna Fali RENEWAL
Faith B ChuiIndiaElwin Sharvill PROPOSAL
Aruna O BowleyArgentinaOnyama Limba RENEWAL
Clifford Z GillianSpainElwin Sharvill RENEWAL
Costa X GlickItalyElwin Sharvill RENEWAL
Salvatore U IturbideJapanIoni Bowcher NEGOTIATION
Adams G WaycottSpainIvan Magalhaes QUALIFIED
Emily Z WaycottBrazilIvan Magalhaes UNQUALIFIED
James Q GauchoItalyAmy Elsner PROPOSAL
Leja O RoysterRussiaOnyama Limba NEW
Johnson C NestleBrazilAmy Elsner NEGOTIATION
Aditya N FollerGermanyOnyama Limba RENEWAL
Morrow K GillianFranceOnyama Limba NEW
Sinclair W CampainBrazilElwin Sharvill RENEWAL
Silvio M SergiGermanyElwin Sharvill QUALIFIED
Juan B IturbideSpainAsiya Javayant PROPOSAL
Greenwood E StockhamArgentinaBernardo Dominic RENEWAL
Maisha S WaycottGermanyStephen Shaw PROPOSAL
Maria U WhobreyArgentinaElwin Sharvill RENEWAL
Kaitlin L RutaGermanyElwin Sharvill QUALIFIED
Mujtaba L VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Silvio H TollnerArgentinaXuxue Feng NEW
Juan L ButtCanadaOnyama Limba NEW
Jennifer B FlosiBrazilElwin Sharvill PROPOSAL
Costa X GlickIndiaIvan Magalhaes NEW
Kaitlin P TollnerBrazilAmy Elsner RENEWAL
Jones J NickaFranceXuxue Feng UNQUALIFIED
Leon E KuskoCanadaBernardo Dominic UNQUALIFIED
Mayumi T MarrierSpainBernardo Dominic QUALIFIED
Alejandro F MaletJapanOnyama Limba NEGOTIATION
Ivar E BologniaIndiaIoni Bowcher NEGOTIATION
Deepesh O BriddickRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa Z RutaItalyXuxue Feng NEW
Ricardo W SlusarskiBrazilOnyama Limba NEW
Morrow C CaldareraAustraliaXuxue Feng NEGOTIATION
Jennifer I ChuiCanadaXuxue Feng QUALIFIED
Greenwood C KolmetzIndiaOnyama Limba QUALIFIED
Isabel P RoysterSpainXuxue Feng UNQUALIFIED
Jeanfrancois H SaylorsItalyOnyama Limba QUALIFIED
Maria Z PaprockiFranceXuxue Feng NEGOTIATION
James V InouyeUnited KingdomAsiya Javayant RENEWAL
Maisha E MaletRussiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan X TollnerCanada2026-09-12Rangoni Of Florence RENEWAL25Bernardo Dominic
1001Smith G ButtCanada2026-09-15Rangoni Of Florence QUALIFIED63Bernardo Dominic
1002Deepesh P MarrierFrance2026-09-21Benton, John B Jr NEW63Bernardo Dominic
1003Silvio N RimItaly2026-08-31Truhlar And Truhlar Attys NEGOTIATION23Bernardo Dominic
1004Kaitlin Z RimArgentina2026-09-08Chemel, James L Cpa UNQUALIFIED62Amy Elsner
1005Isabel K OldroydCanada2026-09-06Buckley Miller Wright NEGOTIATION4Ivan Magalhaes
1006Jeanfrancois U ChuiFrance2026-09-11Truhlar And Truhlar Attys UNQUALIFIED92Onyama Limba
1007Jefferson J RutaIndia2026-08-30Dorl, James J Esq NEGOTIATION39Ioni Bowcher
1008Aika O MaletArgentina2026-09-22Printing Dimensions PROPOSAL39Elwin Sharvill
1009Leon R GauchoIndia2026-09-22King, Christopher A Esq NEW46Asiya Javayant
1010Maria K RutaSpain2026-09-08Benton, John B Jr RENEWAL16Onyama Limba
1011Smith H DoeIndia2026-08-27Dorl, James J Esq UNQUALIFIED36Ivan Magalhaes
1012Maisha F MarrierRussia2026-09-11King, Christopher A Esq UNQUALIFIED89Asiya Javayant
1013Isabel H ButtItaly2026-09-01Morlong Associates PROPOSAL26Ioni Bowcher
1014Salvatore T WieserCanada2026-09-04Morlong Associates PROPOSAL9Onyama Limba
1015Rodrigues L RoysterArgentina2026-09-13Chanay, Jeffrey A Esq RENEWAL96Anna Fali
1016Octavia G MaletArgentina2026-09-02Feiner Bros NEW21Bernardo Dominic
1017Jones G CampainAustralia2026-09-02Chapman, Ross E Esq NEW60Amy Elsner
1018Aditya H IturbideGermany2026-09-14Feltz Printing Service PROPOSAL97Xuxue Feng
1019Salvatore T CampainJapan2026-09-05Rangoni Of Florence QUALIFIED57Stephen Shaw
1020Jeanfrancois I ChuiRussia2026-09-11King, Christopher A Esq QUALIFIED10Ioni Bowcher
1021Silvio C ButtCanada2026-09-08Chemel, James L Cpa PROPOSAL95Asiya Javayant
1022Nicolas Y FerenczJapan2026-09-13Rousseaux, Michael Esq RENEWAL80Amy Elsner
1023Kaitlin T CaudySpain2026-08-28Benton, John B Jr NEGOTIATION52Ivan Magalhaes
1024Jefferson I RulapaughRussia2026-09-14Dorl, James J Esq PROPOSAL6Bernardo Dominic
1025Cody K OldroydItaly2026-09-17Feltz Printing Service PROPOSAL73Ivan Magalhaes
1026Mujtaba W VenereJapan2026-09-08Feiner Bros NEW64Amy Elsner
1027Stacey N StensethSpain2026-09-19Truhlar And Truhlar Attys NEW23Anna Fali
1028Cody T PaprockiGermany2026-09-21Morlong Associates UNQUALIFIED43Stephen Shaw
1029Emily F GillianFrance2026-09-01Feltz Printing Service NEGOTIATION0Ioni Bowcher
1030Maria K SlusarskiFrance2026-09-11Truhlar And Truhlar Attys NEW12Stephen Shaw
1031Stacey F StensethAustralia2026-09-15King, Christopher A Esq RENEWAL18Onyama Limba
1032Tony E WhobreyAustralia2026-08-29Printing Dimensions RENEWAL32Ioni Bowcher
1033Misaki D InouyeArgentina2026-09-12Dorl, James J Esq NEW98Bernardo Dominic
1034Nicolas Z BriddickIndia2026-09-07Morlong Associates NEGOTIATION86Asiya Javayant
1035Leon Z MorascaAustralia2026-09-22Chanay, Jeffrey A Esq NEW62Onyama Limba
1036Maisha D WhobreySpain2026-09-11Rangoni Of Florence PROPOSAL62Onyama Limba
1037Smith S FlosiJapan2026-09-19Rangoni Of Florence PROPOSAL60Elwin Sharvill
1038Wickens W RimIndia2026-09-15Commercial Press NEGOTIATION69Ivan Magalhaes
1039Arvin I MorascaBrazil2026-09-05Rousseaux, Michael Esq QUALIFIED69Asiya Javayant
1040Greenwood D SergiIndia2026-09-18Feiner Bros UNQUALIFIED23Onyama Limba
1041Ashley X CaudyItaly2026-09-17Printing Dimensions PROPOSAL53Elwin Sharvill
1042Ricardo V AmigonBrazil2026-08-26Buckley Miller Wright NEW8Anna Fali
1043Alejandro W InouyeUnited Kingdom2026-09-03Buckley Miller Wright UNQUALIFIED33Elwin Sharvill
1044Jennifer O WieserUnited Kingdom2026-08-25Truhlar And Truhlar Attys QUALIFIED35Amy Elsner
1045Aika S MaletJapan2026-09-08Chapman, Ross E Esq RENEWAL19Amy Elsner
1046Ricardo P MorascaCanada2026-09-20Truhlar And Truhlar Attys NEW98Asiya Javayant
1047Adams I PoquetteBrazil2026-09-09Rangoni Of Florence NEW1Xuxue Feng
1048Aika G MacleadBrazil2026-09-06Chanay, Jeffrey A Esq UNQUALIFIED25Bernardo Dominic
1049Leja B WhobreyJapan2026-09-18Commercial Press UNQUALIFIED73Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Adams X DarakjyItalyIvan Magalhaes NEW
Faith N PoquetteIndiaOnyama Limba UNQUALIFIED
Smith T OldroydJapanStephen Shaw RENEWAL
James F RulapaughJapanStephen Shaw QUALIFIED
Salvatore Z SaylorsAustraliaXuxue Feng PROPOSAL
Smith W FigeroaArgentinaIoni Bowcher QUALIFIED
Greenwood C GillianJapanBernardo Dominic RENEWAL
Costa Z CaldareraRussiaElwin Sharvill NEGOTIATION
Clifford F BologniaItalyAsiya Javayant RENEWAL
Francesco Q ChuiBrazilAnna Fali NEGOTIATION
Maria S SlusarskiIndiaElwin Sharvill QUALIFIED
Mayumi D DarakjyUnited KingdomIoni Bowcher NEW
Francesco Z TollnerCanadaOnyama Limba NEW
Morrow R AmigonUnited KingdomBernardo Dominic NEW
Sinclair A MarrierSpainBernardo Dominic UNQUALIFIED
Nicolas F WhobreyRussiaAnna Fali PROPOSAL
Kaitlin F BologniaCanadaAnna Fali RENEWAL
Jeanfrancois W TollnerCanadaStephen Shaw QUALIFIED
Antonio F StensethBrazilAnna Fali QUALIFIED
Juan F DoeUnited KingdomStephen Shaw NEW
Francesco D ButtJapanBernardo Dominic NEW
Kaitlin I AmigonRussiaIoni Bowcher QUALIFIED
Murillo K GillianIndiaXuxue Feng QUALIFIED
Cody K FerenczIndiaOnyama Limba UNQUALIFIED
Clifford G MorascaRussiaAsiya Javayant UNQUALIFIED
Cody I ShinkoCanadaAmy Elsner NEW
Antonio E DoeBrazilAnna Fali RENEWAL
Ivar G FollerCanadaBernardo Dominic UNQUALIFIED
Smith V FigeroaJapanAmy Elsner NEGOTIATION
Stacey F TollnerBrazilAmy Elsner NEGOTIATION
Aditya W SchemmerIndiaStephen Shaw PROPOSAL
Maria A GarufiSpainAnna Fali NEGOTIATION
Aruna K RulapaughFranceStephen Shaw NEGOTIATION
Maria D StockhamCanadaAnna Fali NEGOTIATION
Francesco J OldroydRussiaBernardo Dominic PROPOSAL
Wickens R NickaSpainAmy Elsner NEGOTIATION
Leon B IturbideCanadaOnyama Limba NEW
Kaitlin J CaudyUnited KingdomStephen Shaw NEGOTIATION
Octavia J DarakjyFranceBernardo Dominic NEGOTIATION
Greenwood Z SchemmerJapanStephen Shaw RENEWAL
Mayumi T MorascaJapanIvan Magalhaes UNQUALIFIED
Jones B WaycottSpainXuxue Feng NEW
Greenwood B GauchoGermanyIoni Bowcher UNQUALIFIED
Emily H FerenczBrazilBernardo Dominic NEW
Cody R WaycottItalyOnyama Limba UNQUALIFIED
Francesco L CampainUnited KingdomIvan Magalhaes QUALIFIED
Antonio Z SchemmerIndiaElwin Sharvill PROPOSAL
Clifford L MaletJapanElwin Sharvill RENEWAL
David M MorascaGermanyOnyama Limba UNQUALIFIED
Jefferson T DarakjyIndiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Kaitlin F Amigon
Smith C Rim
Costa N Ferencz
Jones P Malet
Emily L Albares
David P Inouye
Deepesh H Slusarski
Darci N Waycott
Tony S Whobrey
Johnson T Wieser
Arvin H Shinko
Ricardo L Paprocki
Murillo D Oldroyd
Antonio E Stockham
Octavia N Schemmer
Sinclair W Tollner
Arvin Z Inouye
Kaitlin T Bolognia
Ivar B Royster
Jefferson S Tollner
Chavez M Chui
Ivar Q Amigon
Claire E Schemmer
Leon P Kolmetz
Tony R Sergi
Jefferson T Kolmetz
Rodrigues X Inouye
Salvatore I Bowley
Adams T Briddick
Salvatore K Caudy
Julie N Chui
Adams B Ostrosky
Octavia S Nicka
Leja O Saylors
Antonio P Royster
Silvio N Tollner
Nicolas P Campain
Cody A Wieser
Johnson F Marrier
Aditya M Slusarski
Misaki A Glick
Isabel Q Gillian
Cody A Ruta
Arvin R Glick
Antonio C Slusarski
Juan M Bowley
Julie E Bowley
Greenwood G Rulapaugh
Kaitlin C Ferencz
Maisha G Doe
IdCountryDate
1000Germany2026-09-18
1001United Kingdom2026-08-27
1002France2026-08-30
1003Spain2026-08-26
1004Spain2026-09-02
1005India2026-08-29
1006Canada2026-08-31
1007Russia2026-09-21
1008United Kingdom2026-08-29
1009Germany2026-09-02
1010India2026-09-18
1011Spain2026-09-14
1012Germany2026-09-20
1013Spain2026-08-26
1014Canada2026-09-13
1015Germany2026-09-17
1016Canada2026-09-21
1017Germany2026-09-13
1018India2026-08-27
1019Canada2026-09-10
1020United Kingdom2026-09-20
1021Brazil2026-09-11
1022Brazil2026-08-30
1023Japan2026-09-09
1024Japan2026-09-19
1025Spain2026-09-20
1026United Kingdom2026-09-14
1027Spain2026-08-28
1028Russia2026-09-15
1029Germany2026-09-21
1030India2026-09-23
1031Canada2026-09-02
1032Argentina2026-09-19
1033India2026-09-09
1034Japan2026-08-30
1035Argentina2026-09-04
1036Australia2026-09-16
1037Brazil2026-08-29
1038Spain2026-09-09
1039India2026-09-11
1040Australia2026-09-18
1041Russia2026-09-14
1042Russia2026-09-16
1043United Kingdom2026-09-01
1044Canada2026-09-20
1045Argentina2026-09-05
1046Japan2026-09-04
1047France2026-08-28
1048Argentina2026-09-01
1049Russia2026-08-27

On-Demand Data

NameIdCountryDate
Darci X Tollner1000Argentina2026-08-28
Mujtaba A Iturbide1001Germany2026-09-07
Arvin J Tollner1002Japan2026-08-26
Stacey G Amigon1003France2026-08-26
Nicolas G Nestle1004Spain2026-08-25
Ashley H Albares1005Australia2026-09-10
Aditya G Darakjy1006India2026-09-13
Greenwood O Schemmer1007Canada2026-09-16
Ashley P Venere1008Spain2026-09-04
Izzy V Doe1009Russia2026-09-10
Greenwood H Caudy1010Germany2026-09-18
Jeanfrancois E Gaucho1011United Kingdom2026-09-22
Isabel X Rulapaugh1012Germany2026-09-21
Nicolas T Butt1013Russia2026-09-10
Sinclair D Malet1014Spain2026-09-19
Maisha Z Royster1015Australia2026-09-16
Costa O Oldroyd1016Spain2026-09-23
Jeanfrancois S Stockham1017Japan2026-09-20
Nicolas F Sergi1018Canada2026-08-27
Salvatore K Nicka1019Argentina2026-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi S WaycottArgentinaBernardo Dominic NEGOTIATION
Misaki A OstroskyBrazilStephen Shaw RENEWAL
Izzy N SchemmerIndiaStephen Shaw NEW
Morrow K FigeroaBrazilBernardo Dominic PROPOSAL
Mayumi U FerenczIndiaIoni Bowcher QUALIFIED
Misaki T FerenczRussiaBernardo Dominic NEW
Salvatore C BriddickUnited KingdomAsiya Javayant PROPOSAL
Maria O SlusarskiGermanyAsiya Javayant NEGOTIATION
Morrow S PoquetteBrazilAnna Fali QUALIFIED
Aditya T InouyeCanadaStephen Shaw NEGOTIATION
Ricardo I WhobreyGermanyIvan Magalhaes NEGOTIATION
Arvin F RoysterJapanBernardo Dominic UNQUALIFIED
Ricardo P GillianCanadaAmy Elsner NEW
Alejandro B NestleItalyAnna Fali NEW
Leja A FollerGermanyElwin Sharvill QUALIFIED
Nicolas X KolmetzAustraliaBernardo Dominic UNQUALIFIED
Aruna J OstroskyItalyAnna Fali QUALIFIED
Clifford Z BriddickUnited KingdomAmy Elsner QUALIFIED
Aditya D RimGermanyXuxue Feng UNQUALIFIED
Misaki V AlbaresFranceAnna Fali RENEWAL
Kadeem R IturbideRussiaXuxue Feng NEW
Francesco S NickaItalyStephen Shaw UNQUALIFIED
Costa I FigeroaCanadaElwin Sharvill NEW
Alejandro U WaycottRussiaAsiya Javayant NEGOTIATION
Octavia J AlbaresCanadaBernardo Dominic NEGOTIATION
Mayumi J CaudyJapanBernardo Dominic PROPOSAL
Adams E VenereBrazilBernardo Dominic NEW
Isabel S SaylorsJapanXuxue Feng UNQUALIFIED
Tony E GauchoIndiaIoni Bowcher QUALIFIED
Julie I ShinkoBrazilIoni Bowcher RENEWAL
Octavia J SaylorsRussiaStephen Shaw RENEWAL
Isabel P GarufiGermanyIoni Bowcher PROPOSAL
Mujtaba U BriddickArgentinaElwin Sharvill RENEWAL
Greenwood P StockhamAustraliaElwin Sharvill RENEWAL
Wickens F InouyeAustraliaElwin Sharvill NEGOTIATION
Wickens F DilliardUnited KingdomXuxue Feng NEGOTIATION
Wickens Q ChuiBrazilElwin Sharvill PROPOSAL
Claire L RulapaughSpainAmy Elsner QUALIFIED
Leja T TollnerAustraliaElwin Sharvill RENEWAL
Smith N VenereIndiaStephen Shaw PROPOSAL

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