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
Julie W NickaIndiaElwin Sharvill NEW
Aditya N OldroydBrazilIoni Bowcher NEW
Costa H SlusarskiItalyAnna Fali NEW
Izzy X StockhamGermanyStephen Shaw UNQUALIFIED
Deepesh K AmigonJapanAmy Elsner UNQUALIFIED
David P PerinAustraliaXuxue Feng NEW
Izzy T ShinkoSpainElwin Sharvill NEW
Murillo O DoeFranceAnna Fali PROPOSAL
Isabel Z DilliardUnited KingdomIoni Bowcher RENEWAL
Francesco A RutaItalyStephen Shaw NEGOTIATION
Leon D FigeroaRussiaAnna Fali QUALIFIED
Salvatore B BowleyArgentinaAnna Fali NEW
Smith Z FerenczAustraliaIoni Bowcher NEGOTIATION
Clifford T MarrierIndiaOnyama Limba RENEWAL
Izzy F SaylorsIndiaAnna Fali PROPOSAL
Maria T BriddickItalyIvan Magalhaes UNQUALIFIED
Leja H CaudyItalyElwin Sharvill PROPOSAL
Mayumi S RimCanadaElwin Sharvill NEGOTIATION
Murillo Q ButtGermanyIvan Magalhaes RENEWAL
Jennifer W MaletAustraliaBernardo Dominic PROPOSAL
Alejandro B BriddickIndiaAmy Elsner QUALIFIED
Ivar Q ShinkoJapanIvan Magalhaes RENEWAL
Costa Z BologniaGermanyOnyama Limba UNQUALIFIED
Ivar D DoeItalyAsiya Javayant NEW
Jennifer D ShinkoArgentinaBernardo Dominic RENEWAL
Faith S SergiCanadaStephen Shaw RENEWAL
Smith Y BriddickArgentinaAnna Fali PROPOSAL
Johnson G IturbideGermanyAsiya Javayant NEGOTIATION
Aruna F MaletArgentinaAmy Elsner QUALIFIED
Misaki Y GauchoBrazilAnna Fali QUALIFIED
Darci W WieserRussiaElwin Sharvill RENEWAL
Morrow C WieserItalyAsiya Javayant NEGOTIATION
Sinclair E AmigonAustraliaBernardo Dominic PROPOSAL
Nicolas R SaylorsArgentinaBernardo Dominic UNQUALIFIED
James Y VenereCanadaAmy Elsner PROPOSAL
Morrow Z NickaBrazilIoni Bowcher PROPOSAL
Alejandro E SergiGermanyAmy Elsner NEW
Silvio S BowleyIndiaXuxue Feng UNQUALIFIED
Aditya Q RutaBrazilBernardo Dominic NEGOTIATION
Cody W IturbideGermanyBernardo Dominic PROPOSAL
Aika Y GillianJapanAmy Elsner NEW
Cody Q InouyeGermanyIoni Bowcher QUALIFIED
Izzy M AlbaresCanadaAmy Elsner QUALIFIED
Leja K MorascaJapanAsiya Javayant UNQUALIFIED
Leja R CaldareraBrazilAsiya Javayant NEGOTIATION
Kaitlin Z CampainItalyBernardo Dominic QUALIFIED
Rodrigues A RutaFranceIoni Bowcher RENEWAL
Emily U WaycottJapanStephen Shaw RENEWAL
Julie S GillianFranceXuxue Feng NEW
Darci H KuskoArgentinaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin F InouyeAustraliaBernardo Dominic NEW
Greenwood H SchemmerJapanIoni Bowcher RENEWAL
Jefferson R OstroskySpainStephen Shaw UNQUALIFIED
Morrow E GauchoCanadaStephen Shaw QUALIFIED
Leja T InouyeUnited KingdomBernardo Dominic NEW
Costa C FigeroaJapanElwin Sharvill RENEWAL
Deepesh V CaudySpainIvan Magalhaes NEW
Juan F PerinGermanyAmy Elsner PROPOSAL
Kaitlin F StockhamJapanStephen Shaw QUALIFIED
Ashley R CaldareraIndiaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci X WhobreyAustralia2025-08-03Rangoni Of Florence UNQUALIFIED57Onyama Limba
1001Salvatore A SergiAustralia2025-07-20Chapman, Ross E Esq UNQUALIFIED47Asiya Javayant
1002Jeanfrancois H WhobreyFrance2025-07-11Chemel, James L Cpa UNQUALIFIED61Onyama Limba
1003Juan W PoquetteFrance2025-07-27Morlong Associates PROPOSAL59Ioni Bowcher
1004Maisha S WaycottCanada2025-07-14King, Christopher A Esq QUALIFIED87Asiya Javayant
1005Tony L PaprockiBrazil2025-07-06Chemel, James L Cpa NEW48Ioni Bowcher
1006Clifford Y BologniaCanada2025-07-18Morlong Associates UNQUALIFIED89Ivan Magalhaes
1007Jones G RulapaughFrance2025-07-13Rangoni Of Florence QUALIFIED80Xuxue Feng
1008Johnson K VocelkaItaly2025-08-03Buckley Miller Wright NEW7Onyama Limba
1009Stacey M ShinkoUnited Kingdom2025-07-29Truhlar And Truhlar Attys NEW53Ivan Magalhaes
1010Kaitlin Y GauchoArgentina2025-07-24Feltz Printing Service RENEWAL48Ivan Magalhaes
1011Silvio M WieserArgentina2025-07-18Dorl, James J Esq UNQUALIFIED7Onyama Limba
1012Leja Y BriddickRussia2025-07-18Truhlar And Truhlar Attys NEGOTIATION86Amy Elsner
1013Silvio W FlosiAustralia2025-07-14Printing Dimensions QUALIFIED67Onyama Limba
1014Aditya F KuskoArgentina2025-07-19Morlong Associates UNQUALIFIED64Onyama Limba
1015Nicolas G RimJapan2025-07-15Morlong Associates NEGOTIATION28Ioni Bowcher
1016Smith T MorascaIndia2025-08-03Morlong Associates PROPOSAL79Onyama Limba
1017James I BologniaJapan2025-07-23Chanay, Jeffrey A Esq PROPOSAL75Asiya Javayant
1018Darci L FigeroaItaly2025-07-30Feltz Printing Service NEW66Onyama Limba
1019Kadeem W DilliardSpain2025-07-29King, Christopher A Esq NEGOTIATION97Elwin Sharvill
1020Ashley V GlickUnited Kingdom2025-07-11Rousseaux, Michael Esq NEW75Xuxue Feng
1021Arvin I DilliardAustralia2025-07-29Feiner Bros NEW60Ioni Bowcher
1022Sinclair X GauchoBrazil2025-07-21Rangoni Of Florence PROPOSAL49Bernardo Dominic
1023Clifford U RimAustralia2025-07-24Chapman, Ross E Esq PROPOSAL53Stephen Shaw
1024Adams S StockhamItaly2025-07-15Dorl, James J Esq RENEWAL9Anna Fali
1025Cody D AmigonIndia2025-07-13Dorl, James J Esq QUALIFIED20Ioni Bowcher
1026Aditya E RoysterAustralia2025-07-23Feltz Printing Service QUALIFIED27Xuxue Feng
1027Izzy F WhobreySpain2025-07-17Rousseaux, Michael Esq QUALIFIED75Bernardo Dominic
1028Rodrigues L WaycottFrance2025-07-16King, Christopher A Esq NEGOTIATION10Anna Fali
1029Leja A IturbideBrazil2025-07-10Commercial Press QUALIFIED83Asiya Javayant
1030Mayumi P VenereBrazil2025-07-05Morlong Associates NEW60Ioni Bowcher
1031Sinclair O PoquetteIndia2025-07-21Benton, John B Jr QUALIFIED84Stephen Shaw
1032Clifford R DarakjySpain2025-07-26Morlong Associates QUALIFIED11Onyama Limba
1033Greenwood M DilliardUnited Kingdom2025-07-31Chanay, Jeffrey A Esq UNQUALIFIED20Ivan Magalhaes
1034Emily G PoquetteBrazil2025-08-02Morlong Associates PROPOSAL99Xuxue Feng
1035Faith N MaletJapan2025-07-12Chanay, Jeffrey A Esq RENEWAL97Elwin Sharvill
1036Misaki F StockhamFrance2025-07-29Printing Dimensions RENEWAL19Asiya Javayant
1037Rodrigues I DilliardCanada2025-07-15Feltz Printing Service RENEWAL87Ioni Bowcher
1038Jennifer R RulapaughFrance2025-07-24Feltz Printing Service QUALIFIED92Ivan Magalhaes
1039Johnson Q AlbaresUnited Kingdom2025-08-03Chemel, James L Cpa RENEWAL6Anna Fali
1040Stacey S RulapaughSpain2025-07-21Chanay, Jeffrey A Esq RENEWAL8Xuxue Feng
1041Greenwood F AmigonFrance2025-07-31Dorl, James J Esq UNQUALIFIED22Asiya Javayant
1042Alejandro F VocelkaCanada2025-08-01Dorl, James J Esq NEGOTIATION22Onyama Limba
1043Stacey J PaprockiUnited Kingdom2025-07-08Feiner Bros NEGOTIATION4Elwin Sharvill
1044Francesco C TollnerAustralia2025-07-20Feiner Bros NEGOTIATION47Ivan Magalhaes
1045Aditya P DarakjyIndia2025-07-28Chapman, Ross E Esq NEW92Xuxue Feng
1046Misaki A GarufiCanada2025-07-16Feltz Printing Service NEGOTIATION78Stephen Shaw
1047Antonio U GillianUnited Kingdom2025-07-05Printing Dimensions NEW67Elwin Sharvill
1048Johnson O RimFrance2025-07-27Commercial Press RENEWAL32Amy Elsner
1049Izzy K FlosiArgentina2025-07-15Rangoni Of Florence QUALIFIED97Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David V ButtUnited KingdomIvan Magalhaes PROPOSAL
Deepesh W FollerJapanBernardo Dominic UNQUALIFIED
Jeanfrancois X NickaBrazilOnyama Limba QUALIFIED
David D CampainSpainXuxue Feng NEW
Mayumi P RulapaughIndiaAsiya Javayant NEW
Aruna K OldroydItalyAsiya Javayant NEW
Johnson W BriddickGermanyIoni Bowcher RENEWAL
Mujtaba M FerenczArgentinaAmy Elsner NEW
Kadeem M MaletCanadaBernardo Dominic PROPOSAL
Isabel L CampainArgentinaIoni Bowcher PROPOSAL
Wickens E OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois I DilliardArgentinaElwin Sharvill PROPOSAL
Rodrigues K FerenczItalyAnna Fali QUALIFIED
Ivar K RutaIndiaAnna Fali UNQUALIFIED
Mayumi N RulapaughJapanIoni Bowcher NEGOTIATION
Rodrigues J GauchoJapanAnna Fali UNQUALIFIED
Munro L TollnerCanadaAnna Fali NEW
Clifford Y KolmetzBrazilOnyama Limba NEGOTIATION
Maisha X FerenczArgentinaAnna Fali PROPOSAL
Aika Q IturbideCanadaAmy Elsner UNQUALIFIED
Stacey U RutaAustraliaElwin Sharvill NEGOTIATION
Jones V FigeroaIndiaIoni Bowcher QUALIFIED
Silvio F StensethArgentinaXuxue Feng NEGOTIATION
Ashley L RutaBrazilIvan Magalhaes QUALIFIED
Salvatore U PaprockiRussiaAnna Fali QUALIFIED
Salvatore C SchemmerRussiaElwin Sharvill UNQUALIFIED
Morrow D SchemmerCanadaOnyama Limba PROPOSAL
Johnson M SergiJapanBernardo Dominic UNQUALIFIED
Emily W ShinkoAustraliaAmy Elsner QUALIFIED
Aika Q KolmetzBrazilXuxue Feng NEGOTIATION
Jefferson G PoquetteGermanyOnyama Limba UNQUALIFIED
Ivar O NestleUnited KingdomIoni Bowcher NEGOTIATION
Octavia Q RoysterUnited KingdomOnyama Limba QUALIFIED
Munro B SchemmerArgentinaIvan Magalhaes RENEWAL
Clifford I RutaGermanyAnna Fali NEW
Smith H FollerSpainAnna Fali NEW
Maisha O SchemmerRussiaElwin Sharvill QUALIFIED
James S ShinkoCanadaAmy Elsner NEW
Misaki D RimArgentinaAnna Fali UNQUALIFIED
Maisha W NestleBrazilAnna Fali RENEWAL
Arvin O AlbaresUnited KingdomXuxue Feng NEGOTIATION
Ricardo G FollerIndiaIvan Magalhaes PROPOSAL
Maria M NickaBrazilAnna Fali QUALIFIED
James M MorascaArgentinaIvan Magalhaes RENEWAL
Jones Q RoysterAustraliaIvan Magalhaes NEW
Ashley S AlbaresIndiaElwin Sharvill NEGOTIATION
Alejandro I OldroydCanadaXuxue Feng RENEWAL
Isabel P ButtArgentinaAmy Elsner UNQUALIFIED
David H FigeroaRussiaIvan Magalhaes UNQUALIFIED
Mayumi U OstroskyJapanAnna Fali NEW
Frozen Columns
Name
Sinclair K Vocelka
Misaki P Maclead
Leja H Tollner
Juan A Doe
Murillo S Tollner
Deepesh E Briddick
Alejandro B Figeroa
Leon D Briddick
Murillo X Nicka
Arvin H Ruta
Adams M Maclead
Smith N Bolognia
Aditya K Malet
Mujtaba I Slusarski
Nicolas L Chui
Leon K Doe
Maria U Caldarera
Johnson W Venere
Ricardo N Amigon
Silvio U Poquette
Maria M Inouye
Mujtaba E Poquette
Arvin Y Marrier
Cody K Rim
Alejandro S Bolognia
Julie F Bowley
Munro B Rim
Jefferson U Ostrosky
Greenwood F Amigon
Silvio F Iturbide
Cody K Stockham
Leon R Darakjy
Leon P Chui
Kadeem O Waycott
Jones G Malet
Ashley B Oldroyd
Aruna D Rim
Adams N Saylors
Adams E Campain
David S Nicka
Jones E Nicka
Juan M Waycott
Jeanfrancois Y Ruta
Deepesh A Ferencz
Tony I Malet
Johnson Y Campain
Maria N Saylors
Misaki N Ostrosky
Cody C Ferencz
Izzy N Gaucho
IdCountryDate
1000Argentina2025-07-26
1001Canada2025-07-14
1002India2025-07-21
1003Argentina2025-08-01
1004Australia2025-07-30
1005India2025-07-14
1006Russia2025-07-20
1007Russia2025-07-16
1008India2025-07-16
1009Japan2025-07-28
1010France2025-07-19
1011Brazil2025-07-07
1012Australia2025-07-13
1013France2025-07-24
1014Japan2025-07-30
1015Argentina2025-07-13
1016France2025-07-16
1017Canada2025-07-28
1018Germany2025-08-02
1019Brazil2025-07-08
1020Spain2025-07-10
1021France2025-07-11
1022Australia2025-07-19
1023India2025-07-31
1024France2025-07-11
1025Australia2025-07-10
1026Spain2025-07-18
1027United Kingdom2025-08-03
1028Canada2025-07-16
1029India2025-07-26
1030Australia2025-07-21
1031Australia2025-08-01
1032Canada2025-07-25
1033Germany2025-07-25
1034Germany2025-07-28
1035Canada2025-07-21
1036Spain2025-07-19
1037India2025-07-14
1038Germany2025-07-20
1039Canada2025-08-01
1040France2025-07-06
1041Brazil2025-07-16
1042Russia2025-07-08
1043France2025-07-10
1044Canada2025-07-17
1045Argentina2025-07-16
1046Italy2025-07-15
1047Russia2025-07-10
1048Italy2025-07-06
1049United Kingdom2025-07-16

On-Demand Data

NameIdCountryDate
Clifford V Flosi1000United Kingdom2025-07-21
Faith N Nestle1001Argentina2025-07-24
Claire H Inouye1002Spain2025-07-13
Kaitlin O Campain1003Argentina2025-07-19
Izzy M Campain1004India2025-07-21
Jennifer Q Venere1005France2025-07-28
Johnson P Amigon1006Canada2025-07-30
Julie Q Kusko1007Russia2025-07-29
Tony S Gillian1008Australia2025-08-02
Chavez Z Wieser1009Spain2025-07-25
Rodrigues N Vocelka1010Spain2025-07-13
Maria D Kusko1011Japan2025-07-31
Ricardo H Nicka1012Brazil2025-07-08
Tony N Rulapaugh1013United Kingdom2025-07-11
Alejandro B Bowley1014France2025-07-30
Adams L Gillian1015Russia2025-07-14
Julie G Amigon1016Brazil2025-07-12
Ricardo P Rim1017France2025-07-17
Smith W Nicka1018Spain2025-07-15
Adams U Caldarera1019France2025-07-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin L MarrierArgentinaBernardo Dominic NEW
Ivar X StensethAustraliaIvan Magalhaes QUALIFIED
Alejandro W CaudyBrazilElwin Sharvill NEW
Ashley R DarakjyBrazilIoni Bowcher RENEWAL
Mujtaba A MorascaItalyBernardo Dominic UNQUALIFIED
Greenwood P BologniaBrazilAsiya Javayant NEGOTIATION
Wickens L GillianRussiaElwin Sharvill NEW
Salvatore D InouyeItalyAsiya Javayant QUALIFIED
Arvin R FollerIndiaAsiya Javayant RENEWAL
Arvin V MorascaUnited KingdomStephen Shaw QUALIFIED
Ashley O RutaCanadaElwin Sharvill PROPOSAL
Emily V WaycottFranceElwin Sharvill PROPOSAL
Ivar W FlosiArgentinaAmy Elsner UNQUALIFIED
Jefferson B GlickFranceStephen Shaw QUALIFIED
Ashley V StensethFranceElwin Sharvill PROPOSAL
Isabel Z StockhamGermanyXuxue Feng UNQUALIFIED
Octavia V AmigonUnited KingdomAmy Elsner QUALIFIED
Aditya S WieserUnited KingdomAsiya Javayant UNQUALIFIED
Darci K FollerIndiaIvan Magalhaes NEGOTIATION
James P ShinkoRussiaXuxue Feng PROPOSAL
Stacey I RoysterItalyBernardo Dominic PROPOSAL
Kadeem P BowleyArgentinaElwin Sharvill RENEWAL
Isabel M VocelkaIndiaBernardo Dominic UNQUALIFIED
David C GlickAustraliaXuxue Feng QUALIFIED
Johnson H BriddickCanadaIoni Bowcher RENEWAL
Isabel G IturbideBrazilElwin Sharvill PROPOSAL
Clifford W SaylorsUnited KingdomStephen Shaw PROPOSAL
Jones F DilliardArgentinaElwin Sharvill UNQUALIFIED
David B SergiBrazilOnyama Limba NEGOTIATION
Leon M IturbideGermanyOnyama Limba NEGOTIATION
Costa I MaletAustraliaIvan Magalhaes QUALIFIED
Antonio S CaudyFranceAmy Elsner RENEWAL
Sinclair J FigeroaItalyElwin Sharvill PROPOSAL
Ivar R ButtGermanyIoni Bowcher NEW
Faith Z PerinRussiaBernardo Dominic NEW
Ivar Z FlosiJapanIvan Magalhaes UNQUALIFIED
James U ChuiJapanAnna Fali NEGOTIATION
Kadeem V SchemmerBrazilBernardo Dominic RENEWAL
Maisha M PoquetteGermanyXuxue Feng UNQUALIFIED
Wickens E BriddickGermanyIvan Magalhaes 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>