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
Sinclair I ChuiSpainAnna Fali NEGOTIATION
Nicolas K ButtItalyStephen Shaw NEGOTIATION
Mayumi A FollerArgentinaOnyama Limba RENEWAL
Claire V BowleyUnited KingdomStephen Shaw NEGOTIATION
Greenwood N AlbaresIndiaIoni Bowcher QUALIFIED
Morrow C SaylorsIndiaBernardo Dominic NEW
Sinclair I IturbideGermanyIvan Magalhaes NEGOTIATION
Emily E RulapaughArgentinaIoni Bowcher UNQUALIFIED
Maria T FlosiJapanXuxue Feng NEGOTIATION
Mayumi J TollnerItalyBernardo Dominic NEGOTIATION
Ashley T GillianCanadaXuxue Feng RENEWAL
Francesco Q AlbaresJapanOnyama Limba NEW
Munro K GillianItalyIoni Bowcher PROPOSAL
Francesco W OldroydSpainBernardo Dominic PROPOSAL
Ivar J MaletItalyElwin Sharvill RENEWAL
Johnson A KolmetzUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas K SchemmerAustraliaOnyama Limba PROPOSAL
Cody Y FerenczUnited KingdomAnna Fali QUALIFIED
Stacey C RutaItalyStephen Shaw NEGOTIATION
Francesco K ShinkoArgentinaBernardo Dominic NEW
Adams Y KolmetzArgentinaBernardo Dominic PROPOSAL
James A StockhamItalyAnna Fali PROPOSAL
Rodrigues E MorascaJapanXuxue Feng QUALIFIED
Smith A OstroskyJapanAsiya Javayant PROPOSAL
Nicolas G ButtGermanyOnyama Limba NEW
Wickens R KolmetzItalyBernardo Dominic NEGOTIATION
Clifford D WaycottIndiaBernardo Dominic PROPOSAL
Maisha K OldroydItalyStephen Shaw NEGOTIATION
Maisha A FigeroaArgentinaIvan Magalhaes PROPOSAL
Antonio G CampainBrazilElwin Sharvill NEW
Darci K WaycottGermanyStephen Shaw NEW
Darci F GillianUnited KingdomAsiya Javayant NEW
Jennifer H IturbideRussiaAnna Fali UNQUALIFIED
Faith G VenereArgentinaIvan Magalhaes NEW
Isabel S FigeroaRussiaIvan Magalhaes PROPOSAL
Claire V ShinkoArgentinaIoni Bowcher NEGOTIATION
Ivar M IturbideSpainAsiya Javayant PROPOSAL
Arvin T MacleadGermanyAmy Elsner NEGOTIATION
Aruna T WieserIndiaOnyama Limba QUALIFIED
Darci N WaycottFranceAnna Fali NEGOTIATION
Nicolas E MarrierAustraliaXuxue Feng NEW
Maria C GlickIndiaStephen Shaw NEGOTIATION
Ashley F DoeBrazilIvan Magalhaes QUALIFIED
Izzy O RutaGermanyAsiya Javayant RENEWAL
Cody Z PoquetteGermanyAnna Fali NEGOTIATION
Kaitlin G PerinFranceBernardo Dominic QUALIFIED
Kadeem Q BowleyUnited KingdomStephen Shaw PROPOSAL
Costa X GarufiBrazilXuxue Feng NEGOTIATION
Ashley A CaldareraAustraliaBernardo Dominic UNQUALIFIED
Aika F SchemmerRussiaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Izzy A MarrierRussiaXuxue Feng QUALIFIED
Jeanfrancois Q KolmetzArgentinaAsiya Javayant NEW
Antonio C NestleUnited KingdomElwin Sharvill UNQUALIFIED
Jennifer T TollnerFranceXuxue Feng PROPOSAL
Murillo V DoeBrazilOnyama Limba NEW
Julie K VenereIndiaAnna Fali NEW
Arvin T CampainUnited KingdomIoni Bowcher UNQUALIFIED
Claire F TollnerCanadaAsiya Javayant QUALIFIED
Salvatore Y ButtSpainOnyama Limba RENEWAL
Kaitlin L AlbaresArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore S RulapaughJapan2025-07-29Benton, John B Jr NEGOTIATION69Onyama Limba
1001Sinclair W AmigonCanada2025-08-09King, Christopher A Esq PROPOSAL41Onyama Limba
1002Kaitlin E DoeFrance2025-08-13Rangoni Of Florence NEW52Asiya Javayant
1003Rodrigues H KolmetzCanada2025-07-26Benton, John B Jr NEGOTIATION93Xuxue Feng
1004Costa U ButtRussia2025-08-10Chapman, Ross E Esq QUALIFIED34Onyama Limba
1005Tony S SergiIndia2025-07-26Chanay, Jeffrey A Esq UNQUALIFIED51Elwin Sharvill
1006Misaki T MacleadUnited Kingdom2025-08-03Morlong Associates NEGOTIATION93Asiya Javayant
1007Misaki S CampainBrazil2025-07-25Chapman, Ross E Esq NEW14Onyama Limba
1008Octavia W StensethJapan2025-08-06Morlong Associates UNQUALIFIED14Xuxue Feng
1009Jeanfrancois J InouyeItaly2025-08-04Benton, John B Jr QUALIFIED78Onyama Limba
1010Chavez C SlusarskiCanada2025-07-25Dorl, James J Esq UNQUALIFIED94Onyama Limba
1011Aika A PoquetteBrazil2025-08-06Truhlar And Truhlar Attys QUALIFIED11Amy Elsner
1012Izzy C VenereJapan2025-08-05Dorl, James J Esq RENEWAL3Asiya Javayant
1013Costa S WieserSpain2025-07-27Truhlar And Truhlar Attys QUALIFIED1Amy Elsner
1014Aditya S GillianFrance2025-08-01Rousseaux, Michael Esq NEGOTIATION87Elwin Sharvill
1015Jefferson P DilliardRussia2025-08-09Feiner Bros NEGOTIATION20Bernardo Dominic
1016Munro U MaletJapan2025-08-06Printing Dimensions RENEWAL88Asiya Javayant
1017Maisha K WaycottSpain2025-08-08Printing Dimensions QUALIFIED47Xuxue Feng
1018Jennifer S MaletIndia2025-07-17King, Christopher A Esq PROPOSAL73Xuxue Feng
1019Mayumi Q ShinkoFrance2025-07-28Chapman, Ross E Esq NEGOTIATION23Xuxue Feng
1020Kadeem A CampainBrazil2025-07-19Buckley Miller Wright RENEWAL65Ioni Bowcher
1021Cody N PaprockiUnited Kingdom2025-07-30Commercial Press NEW22Ioni Bowcher
1022Sinclair H MaletRussia2025-08-01Benton, John B Jr UNQUALIFIED81Xuxue Feng
1023Clifford I RutaBrazil2025-07-19Dorl, James J Esq UNQUALIFIED72Onyama Limba
1024Kaitlin K BologniaBrazil2025-08-07Feiner Bros PROPOSAL61Onyama Limba
1025Ivar O FigeroaCanada2025-07-29Printing Dimensions UNQUALIFIED31Xuxue Feng
1026Izzy N FlosiFrance2025-07-24Rangoni Of Florence QUALIFIED78Stephen Shaw
1027Juan I TollnerBrazil2025-07-23Buckley Miller Wright QUALIFIED45Onyama Limba
1028Smith J FigeroaIndia2025-08-09Chapman, Ross E Esq RENEWAL41Elwin Sharvill
1029Julie F VenereArgentina2025-07-30Morlong Associates UNQUALIFIED49Elwin Sharvill
1030Kadeem U MaletItaly2025-08-11Buckley Miller Wright UNQUALIFIED54Ivan Magalhaes
1031Morrow Z RulapaughItaly2025-08-03Feltz Printing Service NEGOTIATION32Stephen Shaw
1032Silvio E BriddickSpain2025-08-02Chemel, James L Cpa UNQUALIFIED73Anna Fali
1033Misaki R MarrierUnited Kingdom2025-08-11Feiner Bros NEW9Bernardo Dominic
1034Misaki Y DilliardJapan2025-08-07Buckley Miller Wright PROPOSAL25Amy Elsner
1035Clifford Y AmigonAustralia2025-07-15Morlong Associates QUALIFIED98Amy Elsner
1036David T FigeroaItaly2025-07-26Morlong Associates NEGOTIATION79Bernardo Dominic
1037Wickens R IturbideFrance2025-07-19Chemel, James L Cpa NEW76Ioni Bowcher
1038Maisha I CaudyItaly2025-08-10Commercial Press NEGOTIATION81Amy Elsner
1039Julie K PerinJapan2025-07-19Chemel, James L Cpa NEW76Anna Fali
1040Costa Z RutaAustralia2025-08-06Rousseaux, Michael Esq UNQUALIFIED21Onyama Limba
1041Chavez I PaprockiIndia2025-08-13Chanay, Jeffrey A Esq QUALIFIED93Onyama Limba
1042Rodrigues H OldroydRussia2025-08-09Buckley Miller Wright UNQUALIFIED15Elwin Sharvill
1043Aruna L RutaGermany2025-07-15Chanay, Jeffrey A Esq PROPOSAL21Asiya Javayant
1044Leja R StensethIndia2025-08-05Feltz Printing Service NEW35Asiya Javayant
1045Juan U VenereBrazil2025-08-03Buckley Miller Wright UNQUALIFIED75Stephen Shaw
1046Mujtaba V AlbaresAustralia2025-08-01Feiner Bros PROPOSAL3Elwin Sharvill
1047Claire Y CaudyRussia2025-07-31King, Christopher A Esq UNQUALIFIED92Ioni Bowcher
1048Rodrigues E NestleFrance2025-07-21Truhlar And Truhlar Attys NEW67Ivan Magalhaes
1049Alejandro T WaycottGermany2025-08-09Buckley Miller Wright NEW94Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James B BologniaCanadaStephen Shaw PROPOSAL
Jones A DarakjyAustraliaElwin Sharvill RENEWAL
Jefferson K MaletItalyIvan Magalhaes QUALIFIED
David E VenereJapanElwin Sharvill QUALIFIED
Rodrigues B NestleIndiaIvan Magalhaes NEGOTIATION
Aika D FigeroaSpainAmy Elsner NEW
Octavia Z CaldareraJapanIoni Bowcher NEGOTIATION
Aruna K ButtBrazilAmy Elsner UNQUALIFIED
Aika O VenereIndiaBernardo Dominic UNQUALIFIED
Cody P MaletJapanIvan Magalhaes NEW
Chavez N PaprockiArgentinaOnyama Limba UNQUALIFIED
Isabel I OldroydCanadaIvan Magalhaes UNQUALIFIED
Aika S GillianArgentinaXuxue Feng UNQUALIFIED
Silvio A FlosiCanadaOnyama Limba RENEWAL
Aika V RoysterGermanyXuxue Feng QUALIFIED
Deepesh G InouyeFranceIoni Bowcher RENEWAL
Ivar R RoysterItalyXuxue Feng UNQUALIFIED
David F PerinFranceAnna Fali QUALIFIED
Mujtaba O ShinkoItalyXuxue Feng NEW
Ashley L KolmetzItalyAsiya Javayant NEW
Johnson K FollerArgentinaXuxue Feng NEGOTIATION
Ricardo K MaletJapanIoni Bowcher RENEWAL
Misaki I ButtFranceAnna Fali UNQUALIFIED
Munro R RulapaughUnited KingdomStephen Shaw NEW
Salvatore I GlickSpainIvan Magalhaes UNQUALIFIED
Rodrigues M GauchoArgentinaAmy Elsner UNQUALIFIED
Nicolas Z GauchoItalyXuxue Feng PROPOSAL
Stacey T ChuiUnited KingdomBernardo Dominic QUALIFIED
Silvio M VenereSpainIvan Magalhaes UNQUALIFIED
Emily C KolmetzUnited KingdomOnyama Limba NEGOTIATION
Murillo F ShinkoItalyAmy Elsner PROPOSAL
Rodrigues I MorascaGermanyStephen Shaw PROPOSAL
Claire U DilliardFranceXuxue Feng NEW
Wickens F MaletIndiaAsiya Javayant NEGOTIATION
Munro W IturbideRussiaElwin Sharvill NEW
James N InouyeUnited KingdomBernardo Dominic PROPOSAL
Faith Y MaletFranceOnyama Limba RENEWAL
Costa M DilliardGermanyOnyama Limba NEGOTIATION
Morrow V CampainArgentinaStephen Shaw UNQUALIFIED
Isabel G WaycottIndiaXuxue Feng UNQUALIFIED
Leon V CaudySpainIvan Magalhaes PROPOSAL
Emily F CaldareraArgentinaAnna Fali QUALIFIED
Silvio B PaprockiItalyStephen Shaw PROPOSAL
Leon H OstroskyRussiaIvan Magalhaes NEW
Isabel V TollnerAustraliaElwin Sharvill RENEWAL
Alejandro N FollerRussiaElwin Sharvill RENEWAL
Chavez D StensethCanadaAnna Fali RENEWAL
Morrow M KolmetzFranceStephen Shaw NEW
Clifford A MarrierUnited KingdomOnyama Limba NEGOTIATION
Octavia V KuskoSpainAmy Elsner NEW
Frozen Columns
Name
Chavez J Malet
Darci A Gaucho
Costa K Caudy
Johnson H Doe
James E Venere
Darci T Schemmer
Greenwood X Dilliard
Jennifer Y Doe
Stacey K Tollner
Greenwood D Kolmetz
Ivar R Gaucho
Maisha Z Slusarski
Juan W Venere
Jeanfrancois W Stockham
Morrow D Inouye
Leja P Ferencz
Munro Y Caldarera
James Q Schemmer
Emily R Shinko
Faith N Butt
Silvio D Shinko
Stacey L Foller
Greenwood T Foller
Smith Z Rulapaugh
Antonio Q Kolmetz
James L Ferencz
Cody P Caudy
Antonio I Slusarski
Maria V Schemmer
James H Vocelka
Kaitlin W Nestle
Ashley U Wieser
Ricardo F Dilliard
Ricardo K Ferencz
Wickens M Albares
Aditya P Kolmetz
Francesco V Rulapaugh
Misaki Q Perin
Ivar K Vocelka
Maria X Iturbide
David K Marrier
Maisha X Kusko
Julie N Ruta
Stacey Y Malet
Wickens T Bolognia
Salvatore Y Bowley
Mayumi B Saylors
Alejandro W Rim
Alejandro Q Caudy
Chavez M Kusko
IdCountryDate
1000France2025-07-26
1001United Kingdom2025-08-05
1002France2025-07-15
1003Canada2025-07-23
1004Italy2025-07-20
1005Germany2025-08-04
1006Spain2025-08-01
1007Germany2025-07-15
1008Spain2025-07-24
1009Argentina2025-08-02
1010United Kingdom2025-07-22
1011France2025-07-24
1012Brazil2025-08-08
1013Brazil2025-07-21
1014Russia2025-08-09
1015Italy2025-07-23
1016Japan2025-07-22
1017Spain2025-07-17
1018Canada2025-07-31
1019Italy2025-08-13
1020United Kingdom2025-07-31
1021Brazil2025-07-31
1022France2025-08-04
1023Canada2025-08-08
1024Spain2025-07-17
1025Canada2025-07-27
1026India2025-07-29
1027India2025-08-03
1028India2025-07-24
1029Canada2025-07-25
1030Germany2025-07-31
1031Argentina2025-08-12
1032Japan2025-08-10
1033India2025-07-29
1034Russia2025-07-30
1035Germany2025-08-01
1036Germany2025-08-10
1037France2025-08-09
1038Australia2025-08-10
1039Canada2025-07-26
1040Argentina2025-08-13
1041Germany2025-08-08
1042Argentina2025-07-22
1043Argentina2025-07-31
1044Russia2025-08-04
1045Spain2025-08-08
1046France2025-08-01
1047France2025-08-09
1048Russia2025-07-19
1049France2025-07-15

On-Demand Data

NameIdCountryDate
Greenwood I Tollner1000Canada2025-08-07
Maria S Doe1001Australia2025-07-25
Munro U Maclead1002France2025-08-10
Maria S Marrier1003Germany2025-08-04
Claire Y Flosi1004Australia2025-08-08
Morrow J Nicka1005Brazil2025-08-12
Leja R Bolognia1006Australia2025-07-21
Jeanfrancois F Dilliard1007France2025-08-04
Leja B Ferencz1008France2025-07-15
Misaki W Stockham1009Germany2025-07-22
Mayumi T Garufi1010Japan2025-08-08
Salvatore B Flosi1011Brazil2025-08-11
Mayumi V Caldarera1012Argentina2025-08-07
Ricardo U Vocelka1013Brazil2025-07-20
Chavez W Gaucho1014Australia2025-08-01
Julie B Marrier1015Italy2025-07-24
Aika Y Venere1016Germany2025-08-11
Leja I Saylors1017Germany2025-08-02
Darci L Marrier1018Japan2025-07-26
Sinclair O Ruta1019Spain2025-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens W ShinkoCanadaIoni Bowcher NEGOTIATION
Morrow E RoysterJapanAnna Fali PROPOSAL
David M TollnerFranceAmy Elsner PROPOSAL
Isabel S CampainRussiaElwin Sharvill RENEWAL
Juan V CaldareraSpainElwin Sharvill RENEWAL
Deepesh L GauchoCanadaXuxue Feng QUALIFIED
Emily E KuskoArgentinaOnyama Limba UNQUALIFIED
Stacey Q OldroydFranceAsiya Javayant UNQUALIFIED
Rodrigues P GillianFranceElwin Sharvill PROPOSAL
Kadeem B ButtArgentinaAsiya Javayant UNQUALIFIED
Claire W MarrierCanadaIvan Magalhaes QUALIFIED
Leon D InouyeBrazilBernardo Dominic NEGOTIATION
Jefferson L TollnerGermanyOnyama Limba PROPOSAL
Nicolas N RoysterRussiaIoni Bowcher NEW
James D SergiGermanyOnyama Limba UNQUALIFIED
Deepesh B VocelkaIndiaElwin Sharvill PROPOSAL
David O FerenczIndiaAnna Fali RENEWAL
Smith U RulapaughArgentinaBernardo Dominic PROPOSAL
Munro U ButtAustraliaElwin Sharvill PROPOSAL
Izzy H KolmetzArgentinaIoni Bowcher PROPOSAL
Chavez D FigeroaSpainAmy Elsner NEGOTIATION
Jones Y KuskoItalyAmy Elsner NEW
Kaitlin A NestleJapanIvan Magalhaes RENEWAL
Darci Z DarakjyAustraliaXuxue Feng QUALIFIED
Aika R DoeBrazilXuxue Feng QUALIFIED
Salvatore I BowleyCanadaAsiya Javayant UNQUALIFIED
James M WaycottItalyAsiya Javayant RENEWAL
Clifford X NickaGermanyAnna Fali RENEWAL
Antonio Z DoeFranceBernardo Dominic RENEWAL
Ricardo T KolmetzAustraliaIvan Magalhaes PROPOSAL
David E PerinArgentinaElwin Sharvill UNQUALIFIED
Silvio P SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Francesco T SchemmerAustraliaAsiya Javayant RENEWAL
Silvio A GarufiUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois P KuskoRussiaAmy Elsner RENEWAL
Adams C RutaIndiaElwin Sharvill PROPOSAL
Isabel M StensethBrazilAnna Fali NEGOTIATION
Jones N GauchoCanadaBernardo Dominic UNQUALIFIED
Costa S BowleyAustraliaAsiya Javayant NEGOTIATION
Mujtaba Q StensethJapanAnna Fali RENEWAL

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