Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
James C DilliardAustraliaStephen Shaw RENEWAL
Rodrigues K RimCanadaStephen Shaw NEGOTIATION
Julie T RulapaughJapanIvan Magalhaes RENEWAL
Deepesh S GarufiItalyXuxue Feng PROPOSAL
Julie Z BowleyItalyXuxue Feng UNQUALIFIED
Kaitlin M GauchoRussiaBernardo Dominic UNQUALIFIED
Izzy P PaprockiAustraliaXuxue Feng QUALIFIED
Maria N MaletSpainIoni Bowcher NEW
Francesco K KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Francesco X TollnerBrazilAmy Elsner RENEWAL
Wickens Y SchemmerSpainXuxue Feng QUALIFIED
Murillo Z FigeroaUnited KingdomAnna Fali UNQUALIFIED
Aruna V MaletSpainBernardo Dominic QUALIFIED
Costa Z AlbaresGermanyXuxue Feng UNQUALIFIED
Clifford H IturbideFranceStephen Shaw UNQUALIFIED
Izzy H MarrierRussiaAnna Fali RENEWAL
Ashley B GillianUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin F RutaItalyAsiya Javayant UNQUALIFIED
Aika I SaylorsCanadaStephen Shaw NEW
Greenwood J StockhamJapanAmy Elsner NEW
Greenwood R StockhamCanadaAmy Elsner NEW
James C FigeroaJapanElwin Sharvill NEW
Faith U KuskoRussiaXuxue Feng PROPOSAL
Greenwood M FerenczItalyAnna Fali QUALIFIED
Francesco G RutaUnited KingdomStephen Shaw NEW
Ivar N ShinkoItalyIvan Magalhaes QUALIFIED
Antonio P MorascaArgentinaXuxue Feng QUALIFIED
Greenwood O KolmetzRussiaXuxue Feng RENEWAL
Jefferson E BologniaBrazilBernardo Dominic NEW
Aditya W CampainRussiaAsiya Javayant NEW
Jones J WieserCanadaIoni Bowcher NEW
Adams Q StockhamSpainAsiya Javayant QUALIFIED
Misaki Z BowleyBrazilAsiya Javayant QUALIFIED
Leon R CaldareraJapanXuxue Feng NEW
Adams V CaudyGermanyIvan Magalhaes PROPOSAL
Aika V RimSpainAmy Elsner RENEWAL
Octavia H SergiRussiaOnyama Limba NEW
Cody Y FollerSpainBernardo Dominic NEGOTIATION
Jefferson B VenereJapanOnyama Limba UNQUALIFIED
Jeanfrancois C VenereFranceStephen Shaw PROPOSAL
Mayumi Y FollerArgentinaElwin Sharvill PROPOSAL
Clifford U RutaBrazilIoni Bowcher RENEWAL
Smith X ShinkoJapanAsiya Javayant PROPOSAL
Izzy F VocelkaGermanyIoni Bowcher NEW
Greenwood Z AlbaresGermanyStephen Shaw QUALIFIED
Arvin G GauchoRussiaStephen Shaw PROPOSAL
Maisha X MaletSpainXuxue Feng PROPOSAL
Deepesh P DarakjyFranceAsiya Javayant PROPOSAL
Wickens E CaudyFranceStephen Shaw NEW
Julie F SergiAustraliaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow S FerenczGermanyBernardo Dominic RENEWAL
Tony Q FollerArgentinaXuxue Feng NEGOTIATION
Adams Z MacleadArgentinaIvan Magalhaes QUALIFIED
Claire X PerinCanadaIoni Bowcher PROPOSAL
Deepesh F MacleadGermanyIoni Bowcher UNQUALIFIED
Juan Z MacleadFranceBernardo Dominic RENEWAL
Claire S AmigonUnited KingdomStephen Shaw QUALIFIED
Smith A CaudyRussiaAsiya Javayant NEGOTIATION
Rodrigues C RimArgentinaStephen Shaw NEW
Chavez I OldroydFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo T OstroskyBrazil2025-07-20Commercial Press QUALIFIED5Asiya Javayant
1001Greenwood N AlbaresRussia2025-08-11King, Christopher A Esq RENEWAL24Stephen Shaw
1002Johnson Q SchemmerRussia2025-07-16Chapman, Ross E Esq RENEWAL96Anna Fali
1003Emily F IturbideCanada2025-08-10Feiner Bros NEW33Onyama Limba
1004Deepesh Z SaylorsBrazil2025-07-18Rangoni Of Florence NEGOTIATION21Ivan Magalhaes
1005Maisha I ShinkoUnited Kingdom2025-07-13Rangoni Of Florence QUALIFIED19Asiya Javayant
1006Chavez C BologniaAustralia2025-08-10Printing Dimensions QUALIFIED55Ivan Magalhaes
1007Julie D OstroskyGermany2025-07-18Feltz Printing Service NEW14Xuxue Feng
1008Emily E FigeroaBrazil2025-07-19Benton, John B Jr NEGOTIATION83Stephen Shaw
1009Costa B IturbideFrance2025-08-07Morlong Associates QUALIFIED96Onyama Limba
1010Murillo V SaylorsIndia2025-07-14Benton, John B Jr NEW95Xuxue Feng
1011Julie B DilliardSpain2025-07-20Morlong Associates NEW76Anna Fali
1012Tony O DarakjyGermany2025-08-09King, Christopher A Esq UNQUALIFIED6Asiya Javayant
1013Mayumi S TollnerItaly2025-07-20Chapman, Ross E Esq RENEWAL55Amy Elsner
1014Darci G RimBrazil2025-08-06Buckley Miller Wright NEGOTIATION37Ioni Bowcher
1015Emily Y ButtAustralia2025-07-25Chapman, Ross E Esq RENEWAL81Bernardo Dominic
1016Murillo K CampainFrance2025-07-14Printing Dimensions QUALIFIED91Anna Fali
1017Jefferson D InouyeItaly2025-07-16Commercial Press QUALIFIED3Amy Elsner
1018Maisha S StockhamJapan2025-07-28King, Christopher A Esq RENEWAL23Amy Elsner
1019Julie H GarufiItaly2025-07-24Buckley Miller Wright RENEWAL94Ivan Magalhaes
1020Kadeem D NickaRussia2025-08-03Dorl, James J Esq PROPOSAL80Ioni Bowcher
1021Clifford W OldroydFrance2025-07-23Truhlar And Truhlar Attys QUALIFIED64Stephen Shaw
1022Greenwood E StensethGermany2025-08-07Dorl, James J Esq PROPOSAL97Onyama Limba
1023James I OstroskyGermany2025-08-06Dorl, James J Esq RENEWAL51Bernardo Dominic
1024Francesco S DarakjyIndia2025-07-17Chemel, James L Cpa NEGOTIATION23Ivan Magalhaes
1025Ashley W CaldareraSpain2025-08-05Buckley Miller Wright QUALIFIED10Xuxue Feng
1026Octavia R MaletRussia2025-07-15Feltz Printing Service PROPOSAL25Ioni Bowcher
1027Aika W StensethUnited Kingdom2025-08-07Commercial Press UNQUALIFIED67Ivan Magalhaes
1028Maisha L FlosiBrazil2025-07-24Truhlar And Truhlar Attys PROPOSAL31Ioni Bowcher
1029Aditya G SchemmerUnited Kingdom2025-07-21Feltz Printing Service NEW81Onyama Limba
1030Jennifer J ButtAustralia2025-07-25Feiner Bros UNQUALIFIED52Asiya Javayant
1031Rodrigues Q RulapaughFrance2025-07-20Chapman, Ross E Esq UNQUALIFIED42Ivan Magalhaes
1032Octavia R VocelkaBrazil2025-08-04Truhlar And Truhlar Attys NEW96Stephen Shaw
1033Darci Q PoquetteArgentina2025-07-15Chapman, Ross E Esq RENEWAL57Elwin Sharvill
1034Ivar G CaudyItaly2025-08-04Chemel, James L Cpa RENEWAL1Stephen Shaw
1035Jeanfrancois S MacleadIndia2025-07-28Truhlar And Truhlar Attys RENEWAL14Bernardo Dominic
1036Kaitlin Y GauchoRussia2025-07-14King, Christopher A Esq NEW33Ivan Magalhaes
1037Murillo L MorascaBrazil2025-07-24Morlong Associates NEW70Ivan Magalhaes
1038Ricardo O SergiIndia2025-07-27Printing Dimensions UNQUALIFIED52Onyama Limba
1039Jones H CampainSpain2025-07-30Feiner Bros RENEWAL90Bernardo Dominic
1040Sinclair R ShinkoGermany2025-07-22Chanay, Jeffrey A Esq NEGOTIATION56Ivan Magalhaes
1041Rodrigues K SergiBrazil2025-07-31Benton, John B Jr QUALIFIED12Ivan Magalhaes
1042Chavez B NickaGermany2025-08-03Feiner Bros RENEWAL91Anna Fali
1043Munro K VocelkaArgentina2025-07-28Feiner Bros NEW52Bernardo Dominic
1044Jeanfrancois F BriddickBrazil2025-07-18Morlong Associates UNQUALIFIED84Asiya Javayant
1045Munro O CaudyItaly2025-08-02Rousseaux, Michael Esq NEW42Onyama Limba
1046Emily Q MarrierGermany2025-08-06Commercial Press RENEWAL43Elwin Sharvill
1047Greenwood O MacleadGermany2025-07-13King, Christopher A Esq RENEWAL73Xuxue Feng
1048Jones C IturbideArgentina2025-07-23Chanay, Jeffrey A Esq RENEWAL25Asiya Javayant
1049Julie F KuskoCanada2025-07-13Dorl, James J Esq NEGOTIATION6Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones H DilliardFranceIoni Bowcher PROPOSAL
Aditya A MarrierRussiaXuxue Feng NEGOTIATION
Aditya X MarrierCanadaAnna Fali NEW
Faith P PerinRussiaIvan Magalhaes RENEWAL
Jennifer T DarakjyItalyOnyama Limba NEGOTIATION
Smith K WhobreySpainAnna Fali QUALIFIED
Tony B PerinFranceStephen Shaw NEGOTIATION
Francesco G ChuiFranceAsiya Javayant NEGOTIATION
Ivar G GlickFranceAmy Elsner NEW
Julie D VocelkaAustraliaElwin Sharvill PROPOSAL
Costa P FerenczCanadaBernardo Dominic RENEWAL
Aditya X VocelkaJapanElwin Sharvill UNQUALIFIED
Arvin N RutaAustraliaAnna Fali UNQUALIFIED
Aruna B AmigonItalyAnna Fali NEGOTIATION
Morrow S StensethSpainBernardo Dominic UNQUALIFIED
Sinclair S PoquetteBrazilBernardo Dominic UNQUALIFIED
Wickens E SaylorsSpainIoni Bowcher PROPOSAL
Morrow K NickaJapanAnna Fali NEW
Morrow K DoeUnited KingdomAnna Fali NEW
Tony U OstroskyFranceXuxue Feng NEGOTIATION
David K MarrierUnited KingdomOnyama Limba NEW
Jefferson W SergiArgentinaAmy Elsner NEW
Juan A WhobreyUnited KingdomAmy Elsner NEGOTIATION
Maisha U FollerJapanIvan Magalhaes RENEWAL
Silvio L RoysterAustraliaAmy Elsner NEGOTIATION
Emily Z WieserRussiaOnyama Limba NEGOTIATION
Ricardo O DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Leon U SaylorsFranceStephen Shaw NEGOTIATION
Aika N MaletBrazilStephen Shaw QUALIFIED
Arvin E PaprockiCanadaStephen Shaw NEW
Darci A TollnerCanadaBernardo Dominic PROPOSAL
Murillo U NickaAustraliaAnna Fali NEGOTIATION
Antonio O MorascaBrazilElwin Sharvill UNQUALIFIED
Mujtaba W FerenczIndiaAsiya Javayant QUALIFIED
Aika N BriddickAustraliaIvan Magalhaes QUALIFIED
Tony R FerenczRussiaIvan Magalhaes RENEWAL
Emily C RoysterItalyOnyama Limba UNQUALIFIED
Tony Q SaylorsIndiaXuxue Feng NEW
Rodrigues P NickaItalyAsiya Javayant QUALIFIED
Isabel W InouyeRussiaAsiya Javayant NEW
Ivar K RutaGermanyOnyama Limba PROPOSAL
Clifford P FerenczRussiaAmy Elsner QUALIFIED
Leon S DarakjySpainIvan Magalhaes NEW
Ivar J StockhamIndiaAnna Fali RENEWAL
Ricardo Q GillianItalyIvan Magalhaes NEGOTIATION
Ashley S CaldareraGermanyStephen Shaw NEW
Mujtaba S WaycottIndiaOnyama Limba PROPOSAL
Costa O DarakjyGermanyElwin Sharvill NEW
Darci Q WaycottBrazilBernardo Dominic RENEWAL
Maria Q PaprockiJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Claire E Maclead
Morrow H Ruta
Emily I Gillian
Aruna G Flosi
Rodrigues V Amigon
Stacey R Gaucho
Jones R Paprocki
Mayumi E Royster
Claire X Amigon
Aika R Malet
Mayumi A Maclead
Maria F Iturbide
Adams M Whobrey
David Q Maclead
Nicolas X Venere
Aika D Caldarera
Izzy A Malet
Alejandro N Kusko
Murillo Q Shinko
Costa X Rim
Rodrigues M Wieser
Kadeem N Paprocki
Francesco Q Morasca
Maisha Q Rulapaugh
Arvin Y Venere
Chavez A Whobrey
Morrow A Garufi
Jones V Royster
Stacey Z Darakjy
Izzy I Whobrey
Arvin P Tollner
Munro P Briddick
Faith X Malet
Salvatore Z Tollner
Johnson L Oldroyd
Octavia R Bolognia
Munro N Waycott
Munro U Foller
Stacey W Saylors
Isabel P Schemmer
Salvatore P Whobrey
Jeanfrancois W Paprocki
Misaki F Kolmetz
Jefferson H Gaucho
Deepesh L Butt
Julie S Kolmetz
Chavez Q Tollner
Octavia G Caldarera
Francesco P Butt
Jefferson F Schemmer
IdCountryDate
1000Brazil2025-08-01
1001Australia2025-07-27
1002Australia2025-08-07
1003United Kingdom2025-07-23
1004Spain2025-07-27
1005Germany2025-07-30
1006Russia2025-08-04
1007Germany2025-07-30
1008Spain2025-07-21
1009Germany2025-07-21
1010France2025-08-07
1011United Kingdom2025-07-18
1012Brazil2025-07-31
1013Italy2025-07-13
1014Brazil2025-08-04
1015Brazil2025-07-30
1016Germany2025-07-13
1017Spain2025-08-10
1018Australia2025-07-29
1019Spain2025-07-29
1020India2025-07-18
1021Brazil2025-08-05
1022Japan2025-07-23
1023Brazil2025-08-11
1024Australia2025-07-31
1025United Kingdom2025-08-08
1026Brazil2025-07-17
1027Japan2025-07-23
1028Brazil2025-07-21
1029Germany2025-07-22
1030Brazil2025-07-25
1031Germany2025-08-06
1032Germany2025-07-24
1033Russia2025-07-22
1034Italy2025-07-25
1035Japan2025-07-17
1036Argentina2025-07-31
1037Australia2025-07-24
1038Italy2025-07-30
1039France2025-07-22
1040Argentina2025-08-03
1041Argentina2025-07-29
1042Canada2025-08-07
1043United Kingdom2025-07-31
1044Spain2025-07-24
1045Brazil2025-08-06
1046Germany2025-07-26
1047Australia2025-07-29
1048Canada2025-07-13
1049United Kingdom2025-07-18

On-Demand Data

NameIdCountryDate
Deepesh W Rulapaugh1000Argentina2025-07-25
Misaki D Morasca1001Russia2025-08-06
Misaki U Chui1002France2025-08-06
Juan E Whobrey1003United Kingdom2025-07-23
Nicolas C Morasca1004India2025-07-30
Johnson S Ferencz1005India2025-08-05
Chavez J Waycott1006Australia2025-07-29
Adams A Iturbide1007Spain2025-08-02
Antonio G Glick1008United Kingdom2025-07-26
Ricardo J Briddick1009Germany2025-07-20
Clifford T Ruta1010France2025-07-27
Costa N Stockham1011Russia2025-08-10
Kadeem J Inouye1012Australia2025-08-02
Sinclair X Foller1013United Kingdom2025-07-28
Costa D Figeroa1014Italy2025-07-13
Morrow A Maclead1015United Kingdom2025-07-15
Aika G Wieser1016Australia2025-07-28
Aruna W Malet1017Russia2025-07-20
Faith Q Briddick1018Russia2025-07-15
Rodrigues N Tollner1019Italy2025-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams Q MaletBrazilElwin Sharvill PROPOSAL
Johnson D ShinkoSpainBernardo Dominic PROPOSAL
Greenwood H BriddickRussiaAnna Fali UNQUALIFIED
Octavia A VenereRussiaOnyama Limba PROPOSAL
James Q MarrierItalyXuxue Feng RENEWAL
Clifford J SchemmerJapanAnna Fali NEGOTIATION
Cody P OldroydAustraliaIvan Magalhaes NEGOTIATION
Salvatore D SergiRussiaOnyama Limba NEW
Nicolas L MorascaGermanyIoni Bowcher PROPOSAL
Ivar H MaletFranceAmy Elsner UNQUALIFIED
Cody H BologniaGermanyElwin Sharvill UNQUALIFIED
Izzy Q RimArgentinaStephen Shaw RENEWAL
Julie Z MaletBrazilAnna Fali NEW
Jefferson T TollnerArgentinaStephen Shaw RENEWAL
Tony I ChuiUnited KingdomStephen Shaw QUALIFIED
Nicolas A RoysterFranceAmy Elsner RENEWAL
Ricardo P DoeCanadaXuxue Feng RENEWAL
Claire K PaprockiItalyAnna Fali QUALIFIED
Arvin S AlbaresArgentinaIvan Magalhaes NEGOTIATION
Jennifer L NestleSpainBernardo Dominic QUALIFIED
David P RoysterItalyElwin Sharvill UNQUALIFIED
David D AlbaresIndiaIoni Bowcher NEW
Johnson W VocelkaRussiaIvan Magalhaes UNQUALIFIED
Aika X SchemmerSpainAmy Elsner NEW
Rodrigues A SaylorsItalyStephen Shaw QUALIFIED
Antonio P StensethArgentinaAsiya Javayant QUALIFIED
Smith P PerinAustraliaOnyama Limba NEGOTIATION
Costa I SlusarskiSpainAsiya Javayant UNQUALIFIED
Faith J FlosiJapanElwin Sharvill RENEWAL
Nicolas N InouyeCanadaAnna Fali NEW
Juan O SergiJapanAsiya Javayant PROPOSAL
Stacey B WaycottAustraliaStephen Shaw NEW
Leja V GillianFranceIvan Magalhaes NEGOTIATION
Chavez B CaldareraCanadaAnna Fali NEW
Maria X PoquetteGermanyAnna Fali NEGOTIATION
Arvin R PaprockiItalyIvan Magalhaes NEW
Jefferson I VocelkaUnited KingdomAsiya Javayant QUALIFIED
Nicolas T ShinkoRussiaIoni Bowcher PROPOSAL
Nicolas H VocelkaAustraliaAmy Elsner NEGOTIATION
Darci R BologniaUnited KingdomOnyama Limba 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>