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
Morrow F NickaRussiaStephen Shaw QUALIFIED
Murillo C WaycottSpainAsiya Javayant UNQUALIFIED
Adams C OstroskyCanadaIoni Bowcher NEGOTIATION
Morrow Y CaldareraBrazilAmy Elsner QUALIFIED
Aruna C KuskoFranceXuxue Feng NEGOTIATION
Murillo P MarrierItalyAsiya Javayant NEGOTIATION
Leja N PoquetteItalyOnyama Limba UNQUALIFIED
Julie D WieserGermanyAmy Elsner UNQUALIFIED
Julie A NestleBrazilElwin Sharvill NEW
Clifford S SergiCanadaBernardo Dominic NEGOTIATION
Rodrigues X BowleyFranceIvan Magalhaes QUALIFIED
Alejandro N BriddickArgentinaIoni Bowcher PROPOSAL
David A DilliardAustraliaIvan Magalhaes QUALIFIED
Kadeem A RulapaughArgentinaAmy Elsner RENEWAL
Aika Q WieserAustraliaAmy Elsner NEW
Ivar Z OldroydRussiaOnyama Limba NEGOTIATION
Jeanfrancois Y MorascaArgentinaXuxue Feng NEW
Jeanfrancois U FigeroaItalyAsiya Javayant QUALIFIED
Silvio O DoeItalyAnna Fali PROPOSAL
Stacey S MaletBrazilIvan Magalhaes RENEWAL
Jefferson Q CaldareraCanadaAmy Elsner NEGOTIATION
Costa Z BriddickFranceIvan Magalhaes PROPOSAL
David T FerenczCanadaOnyama Limba UNQUALIFIED
Jefferson L IturbideArgentinaElwin Sharvill PROPOSAL
Jones C CaudySpainStephen Shaw QUALIFIED
Adams X PerinRussiaIvan Magalhaes PROPOSAL
Nicolas C MacleadJapanAmy Elsner PROPOSAL
Maria T SaylorsItalyIvan Magalhaes UNQUALIFIED
Faith H FerenczFranceAnna Fali NEGOTIATION
Stacey Q MarrierBrazilIoni Bowcher QUALIFIED
Clifford L OldroydGermanyOnyama Limba NEGOTIATION
Darci A MaletFranceAnna Fali NEW
Emily P GlickIndiaOnyama Limba NEW
Sinclair W NestleItalyIvan Magalhaes UNQUALIFIED
Costa I GillianFranceElwin Sharvill PROPOSAL
Chavez R BowleyFranceAnna Fali UNQUALIFIED
Jennifer I SlusarskiSpainBernardo Dominic NEGOTIATION
Chavez M NestleGermanyXuxue Feng QUALIFIED
Julie T FlosiIndiaBernardo Dominic PROPOSAL
Chavez D WaycottCanadaAmy Elsner NEW
James W RimArgentinaIvan Magalhaes UNQUALIFIED
Wickens D GlickAustraliaAnna Fali PROPOSAL
Aika F FollerSpainIvan Magalhaes NEW
Munro Q FigeroaIndiaAnna Fali NEW
Salvatore E OstroskySpainAsiya Javayant QUALIFIED
Leon J InouyeItalyAmy Elsner UNQUALIFIED
Ricardo C MaletRussiaIvan Magalhaes NEW
Darci E OldroydCanadaXuxue Feng NEW
Munro H OldroydBrazilIoni Bowcher UNQUALIFIED
Tony I BowleyItalyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey D CaldareraGermanyAsiya Javayant NEGOTIATION
Jefferson H MarrierUnited KingdomAnna Fali NEW
Greenwood O SaylorsUnited KingdomElwin Sharvill NEW
Clifford O GarufiRussiaBernardo Dominic PROPOSAL
Aika B CaudyGermanyStephen Shaw UNQUALIFIED
Mayumi X ChuiAustraliaStephen Shaw PROPOSAL
Silvio T OldroydItalyIvan Magalhaes QUALIFIED
Leja W RutaUnited KingdomXuxue Feng QUALIFIED
Costa L GillianArgentinaAmy Elsner NEW
Ricardo O GauchoUnited KingdomXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire F MaletBrazil2026-08-25King, Christopher A Esq PROPOSAL19Xuxue Feng
1001Ricardo W TollnerCanada2026-08-25Morlong Associates RENEWAL20Asiya Javayant
1002Ivar I TollnerSpain2026-09-12King, Christopher A Esq NEGOTIATION40Ivan Magalhaes
1003Kaitlin A ButtCanada2026-08-22Feiner Bros NEW2Xuxue Feng
1004Antonio C MaletAustralia2026-09-20Feltz Printing Service PROPOSAL48Elwin Sharvill
1005Munro D RimItaly2026-08-29Feltz Printing Service NEW5Ivan Magalhaes
1006Deepesh M FigeroaRussia2026-08-23Chemel, James L Cpa PROPOSAL93Bernardo Dominic
1007Sinclair K DilliardItaly2026-08-23Dorl, James J Esq PROPOSAL52Xuxue Feng
1008Claire L DarakjyUnited Kingdom2026-09-07Chapman, Ross E Esq PROPOSAL31Stephen Shaw
1009Emily A OldroydSpain2026-09-04Benton, John B Jr QUALIFIED99Asiya Javayant
1010Antonio A BowleyCanada2026-09-16Rousseaux, Michael Esq PROPOSAL25Anna Fali
1011Juan I ChuiJapan2026-09-17Feiner Bros NEGOTIATION12Asiya Javayant
1012Misaki F NickaCanada2026-09-08Rangoni Of Florence PROPOSAL62Bernardo Dominic
1013Alejandro T OstroskyAustralia2026-09-13Chemel, James L Cpa NEGOTIATION57Amy Elsner
1014Johnson G GarufiItaly2026-08-31Morlong Associates UNQUALIFIED28Stephen Shaw
1015Arvin H WhobreySpain2026-09-14Truhlar And Truhlar Attys NEW90Xuxue Feng
1016Ashley L FigeroaFrance2026-09-06Chanay, Jeffrey A Esq NEGOTIATION62Anna Fali
1017Leon W BologniaIndia2026-09-07Buckley Miller Wright NEGOTIATION94Xuxue Feng
1018Ivar U PerinUnited Kingdom2026-09-04Truhlar And Truhlar Attys UNQUALIFIED94Asiya Javayant
1019Maria V BowleyFrance2026-09-10Printing Dimensions UNQUALIFIED71Stephen Shaw
1020Rodrigues W CaldareraFrance2026-09-13Feltz Printing Service NEW8Asiya Javayant
1021Munro C MaletFrance2026-09-20Chapman, Ross E Esq NEGOTIATION23Elwin Sharvill
1022Juan N SlusarskiBrazil2026-09-07King, Christopher A Esq NEW38Anna Fali
1023Maria P KuskoAustralia2026-09-09Rousseaux, Michael Esq QUALIFIED15Ivan Magalhaes
1024Kadeem E CampainFrance2026-09-09Feltz Printing Service NEGOTIATION71Anna Fali
1025Mujtaba R DoeRussia2026-08-22Chapman, Ross E Esq QUALIFIED70Onyama Limba
1026Clifford M MacleadArgentina2026-08-25Commercial Press NEGOTIATION8Xuxue Feng
1027Ashley M WaycottRussia2026-08-28Rangoni Of Florence NEW44Anna Fali
1028Maria M WhobreyAustralia2026-09-14Morlong Associates QUALIFIED2Xuxue Feng
1029Johnson H DoeJapan2026-09-16Printing Dimensions NEW51Ioni Bowcher
1030Octavia X RoysterJapan2026-08-29Chemel, James L Cpa NEW53Anna Fali
1031David X RutaFrance2026-08-23King, Christopher A Esq UNQUALIFIED48Anna Fali
1032Cody H WieserGermany2026-09-04Rangoni Of Florence NEGOTIATION44Ioni Bowcher
1033Darci Y DoeGermany2026-09-02Benton, John B Jr RENEWAL35Onyama Limba
1034Stacey O IturbideGermany2026-08-30Chanay, Jeffrey A Esq QUALIFIED88Elwin Sharvill
1035Deepesh M PaprockiArgentina2026-09-20Commercial Press UNQUALIFIED66Ioni Bowcher
1036Munro U BologniaUnited Kingdom2026-09-05Printing Dimensions PROPOSAL68Elwin Sharvill
1037Jones C MarrierCanada2026-08-22Buckley Miller Wright UNQUALIFIED66Anna Fali
1038Faith D NickaIndia2026-09-01Dorl, James J Esq NEW90Stephen Shaw
1039Wickens S FollerBrazil2026-09-09Chanay, Jeffrey A Esq UNQUALIFIED28Amy Elsner
1040Jeanfrancois C MacleadSpain2026-08-29Printing Dimensions PROPOSAL91Asiya Javayant
1041Wickens D MacleadRussia2026-09-18Printing Dimensions NEGOTIATION33Bernardo Dominic
1042Munro N AlbaresArgentina2026-09-10Printing Dimensions QUALIFIED86Amy Elsner
1043Jeanfrancois L ChuiJapan2026-09-14Chapman, Ross E Esq UNQUALIFIED21Onyama Limba
1044Aditya S FerenczUnited Kingdom2026-09-16Chanay, Jeffrey A Esq UNQUALIFIED5Xuxue Feng
1045Aika G NestleBrazil2026-09-03Morlong Associates NEW28Ioni Bowcher
1046James K GarufiAustralia2026-09-02Chapman, Ross E Esq NEGOTIATION82Elwin Sharvill
1047Alejandro Q AlbaresArgentina2026-08-23Commercial Press NEW32Amy Elsner
1048Ashley R RutaGermany2026-09-06Commercial Press RENEWAL24Amy Elsner
1049Costa G MacleadItaly2026-08-22Commercial Press UNQUALIFIED38Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan T IturbideAustraliaIoni Bowcher NEGOTIATION
Murillo C ButtArgentinaElwin Sharvill QUALIFIED
Isabel U KolmetzSpainOnyama Limba PROPOSAL
Munro E ShinkoArgentinaStephen Shaw UNQUALIFIED
Stacey G SergiItalyBernardo Dominic NEW
Rodrigues U MaletUnited KingdomOnyama Limba RENEWAL
Salvatore K OldroydUnited KingdomAmy Elsner NEW
Izzy C MorascaIndiaAnna Fali RENEWAL
Ivar N KolmetzAustraliaIoni Bowcher NEW
Darci Z OstroskyFranceOnyama Limba UNQUALIFIED
Kaitlin H RoysterFranceBernardo Dominic UNQUALIFIED
Clifford C RutaFranceAnna Fali NEW
David P CampainBrazilAsiya Javayant UNQUALIFIED
Stacey U PoquetteJapanElwin Sharvill QUALIFIED
Faith D InouyeItalyAnna Fali RENEWAL
Costa K MorascaIndiaOnyama Limba NEW
Clifford Y CaudyArgentinaAmy Elsner RENEWAL
Faith W RutaArgentinaOnyama Limba NEW
Morrow Q NickaCanadaBernardo Dominic QUALIFIED
Alejandro D StensethBrazilStephen Shaw QUALIFIED
Kadeem Y OldroydRussiaIoni Bowcher NEGOTIATION
Johnson O CaldareraRussiaIvan Magalhaes PROPOSAL
Izzy G BowleyUnited KingdomIvan Magalhaes NEW
Arvin K RimArgentinaAmy Elsner QUALIFIED
David U MaletGermanyElwin Sharvill PROPOSAL
Cody I PaprockiCanadaAmy Elsner RENEWAL
Kadeem S IturbideJapanAnna Fali NEGOTIATION
Izzy U CaudyCanadaAsiya Javayant UNQUALIFIED
Sinclair A FlosiIndiaStephen Shaw PROPOSAL
Isabel A GlickItalyBernardo Dominic UNQUALIFIED
Greenwood S DarakjyUnited KingdomAmy Elsner PROPOSAL
Smith X SergiJapanAmy Elsner UNQUALIFIED
Ivar I DoeIndiaBernardo Dominic QUALIFIED
Antonio Z BowleyJapanAmy Elsner UNQUALIFIED
Ashley R BriddickGermanyXuxue Feng RENEWAL
Darci O StockhamIndiaIoni Bowcher RENEWAL
Antonio C SergiJapanXuxue Feng UNQUALIFIED
Smith S OstroskyAustraliaOnyama Limba RENEWAL
Wickens G AlbaresCanadaOnyama Limba QUALIFIED
Murillo S StockhamBrazilBernardo Dominic PROPOSAL
Maisha B NestleUnited KingdomBernardo Dominic NEGOTIATION
Sinclair N FlosiRussiaAsiya Javayant NEGOTIATION
Arvin D GauchoJapanOnyama Limba NEW
Chavez D ButtSpainAsiya Javayant NEW
Antonio N RulapaughUnited KingdomAmy Elsner PROPOSAL
Stacey I ButtSpainIvan Magalhaes PROPOSAL
Ivar P VenereArgentinaIvan Magalhaes NEGOTIATION
Leja Z FigeroaAustraliaStephen Shaw RENEWAL
Darci T NickaItalyBernardo Dominic NEGOTIATION
Izzy S BriddickGermanyXuxue Feng NEW
Frozen Columns
Name
Juan E Sergi
Kaitlin W Ferencz
Arvin G Bolognia
Morrow F Bolognia
Smith T Doe
Aruna A Stenseth
Cody L Ruta
Murillo U Ferencz
Isabel F Gaucho
Francesco F Schemmer
Leja S Garufi
Tony G Butt
Ashley U Gillian
Leon B Ferencz
Emily P Schemmer
Octavia X Butt
Izzy M Stockham
Rodrigues O Darakjy
Chavez B Darakjy
Arvin Q Dilliard
Jeanfrancois N Tollner
Maisha Q Albares
Chavez V Malet
Aruna U Rulapaugh
Johnson K Butt
Emily N Doe
Greenwood Y Albares
Francesco J Chui
Nicolas N Bolognia
Antonio Z Maclead
Jeanfrancois Z Inouye
Stacey A Amigon
Morrow M Shinko
Mayumi S Kusko
Rodrigues O Venere
Stacey Q Tollner
Mujtaba Q Doe
Deepesh W Amigon
Maisha A Malet
Ashley Z Shinko
Izzy P Venere
Johnson A Marrier
Francesco L Stenseth
Aditya Z Ostrosky
Clifford B Ferencz
Jeanfrancois G Sergi
Jones H Nestle
Faith V Caldarera
Greenwood E Gaucho
Murillo U Ostrosky
IdCountryDate
1000Japan2026-09-14
1001Germany2026-09-01
1002India2026-09-20
1003Russia2026-09-03
1004France2026-09-19
1005Russia2026-08-26
1006Germany2026-09-03
1007Australia2026-09-04
1008Canada2026-08-25
1009Canada2026-09-12
1010Argentina2026-09-04
1011Argentina2026-09-10
1012United Kingdom2026-09-01
1013Japan2026-08-27
1014India2026-09-20
1015Russia2026-09-07
1016Spain2026-09-15
1017Canada2026-09-04
1018Australia2026-09-11
1019Germany2026-09-20
1020Canada2026-09-01
1021Argentina2026-08-25
1022United Kingdom2026-09-20
1023Australia2026-09-19
1024Australia2026-08-28
1025Italy2026-08-26
1026Italy2026-08-28
1027Spain2026-09-15
1028India2026-09-17
1029Japan2026-08-27
1030Canada2026-09-14
1031Italy2026-08-26
1032Germany2026-09-09
1033India2026-09-04
1034Russia2026-09-16
1035United Kingdom2026-09-03
1036India2026-08-22
1037Germany2026-09-07
1038Argentina2026-09-02
1039Brazil2026-09-10
1040Russia2026-09-12
1041United Kingdom2026-08-30
1042Italy2026-09-03
1043Italy2026-09-01
1044Japan2026-09-02
1045France2026-09-12
1046Japan2026-09-19
1047United Kingdom2026-09-14
1048Germany2026-08-24
1049United Kingdom2026-09-18

On-Demand Data

NameIdCountryDate
Tony B Bowley1000United Kingdom2026-08-24
Maria H Glick1001Brazil2026-08-31
David U Tollner1002Japan2026-09-15
Rodrigues L Inouye1003Russia2026-08-24
Morrow N Perin1004India2026-08-31
Chavez J Dilliard1005India2026-08-22
Darci H Royster1006Russia2026-09-07
Ricardo F Rim1007India2026-09-14
Silvio X Iturbide1008Germany2026-09-16
Nicolas D Waycott1009Argentina2026-08-26
Claire Y Foller1010Germany2026-08-31
Costa A Rim1011France2026-09-14
Julie F Perin1012Russia2026-09-01
Izzy M Perin1013Japan2026-09-07
Mujtaba Z Doe1014Japan2026-08-28
Antonio E Waycott1015Australia2026-09-03
Isabel S Iturbide1016Brazil2026-08-26
Nicolas H Caudy1017India2026-09-08
Francesco P Morasca1018Brazil2026-09-19
Jefferson T Royster1019Germany2026-09-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie I CaudyArgentinaIoni Bowcher PROPOSAL
Claire L OstroskyItalyAnna Fali RENEWAL
Chavez Q DoeUnited KingdomXuxue Feng RENEWAL
Claire U KuskoUnited KingdomIvan Magalhaes NEW
Antonio L DoeItalyAsiya Javayant NEW
Claire X IturbideBrazilAnna Fali QUALIFIED
Ricardo W BriddickItalyAmy Elsner NEGOTIATION
James L BowleyUnited KingdomStephen Shaw QUALIFIED
Aruna R NickaCanadaOnyama Limba NEW
Costa P PoquetteArgentinaStephen Shaw NEGOTIATION
Maisha E TollnerItalyElwin Sharvill QUALIFIED
Deepesh C OldroydItalyStephen Shaw UNQUALIFIED
Leja W PaprockiUnited KingdomElwin Sharvill PROPOSAL
Francesco S StensethCanadaIvan Magalhaes PROPOSAL
Francesco W ChuiUnited KingdomIvan Magalhaes RENEWAL
Claire Z BologniaUnited KingdomAnna Fali PROPOSAL
Stacey I ChuiIndiaOnyama Limba QUALIFIED
Juan K SaylorsBrazilAmy Elsner RENEWAL
David I OstroskyItalyAsiya Javayant PROPOSAL
Stacey U CaldareraArgentinaAnna Fali NEW
Izzy D SaylorsItalyIvan Magalhaes RENEWAL
Salvatore T GarufiItalyAnna Fali NEW
Deepesh L InouyeJapanBernardo Dominic PROPOSAL
Octavia A TollnerRussiaAnna Fali PROPOSAL
Tony W VocelkaGermanyBernardo Dominic QUALIFIED
Isabel I AlbaresAustraliaAnna Fali UNQUALIFIED
Ivar V RoysterAustraliaIvan Magalhaes NEGOTIATION
Clifford M SergiJapanIoni Bowcher NEGOTIATION
Isabel A DoeItalyBernardo Dominic NEW
Leon S NestleRussiaOnyama Limba UNQUALIFIED
Aruna O AlbaresAustraliaIoni Bowcher NEGOTIATION
Ricardo X RimCanadaElwin Sharvill PROPOSAL
Stacey B WhobreyAustraliaAnna Fali PROPOSAL
Aika I ChuiArgentinaElwin Sharvill NEW
Chavez Q ButtItalyElwin Sharvill UNQUALIFIED
Jeanfrancois Q KolmetzItalyStephen Shaw RENEWAL
Sinclair Q WhobreyCanadaAmy Elsner NEW
Cody D PaprockiItalyIvan Magalhaes QUALIFIED
Kadeem V BowleyFranceOnyama Limba QUALIFIED
Salvatore O MaletJapanIvan Magalhaes QUALIFIED

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