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
David O BologniaUnited KingdomOnyama Limba NEGOTIATION
Claire U BologniaGermanyIoni Bowcher RENEWAL
James D SlusarskiFranceBernardo Dominic QUALIFIED
Smith W RoysterArgentinaAmy Elsner NEGOTIATION
Misaki Q ButtRussiaIoni Bowcher NEW
Alejandro B MarrierArgentinaIvan Magalhaes NEGOTIATION
Octavia C VocelkaCanadaAmy Elsner UNQUALIFIED
Jones O FlosiFranceElwin Sharvill RENEWAL
Jones P FerenczIndiaOnyama Limba RENEWAL
Munro C FollerBrazilStephen Shaw RENEWAL
Deepesh H PoquetteIndiaAmy Elsner PROPOSAL
Maisha R WaycottItalyBernardo Dominic UNQUALIFIED
James D CampainFranceXuxue Feng PROPOSAL
Deepesh V IturbideRussiaIvan Magalhaes NEW
Jennifer A ChuiUnited KingdomElwin Sharvill NEW
Maisha Q MarrierBrazilElwin Sharvill RENEWAL
Jefferson M IturbideJapanAmy Elsner NEGOTIATION
Silvio J KuskoGermanyAmy Elsner RENEWAL
Jennifer T VenereFranceAnna Fali PROPOSAL
Ivar J RulapaughGermanyXuxue Feng PROPOSAL
Misaki Q BologniaCanadaElwin Sharvill PROPOSAL
Salvatore D RulapaughItalyStephen Shaw QUALIFIED
Mayumi A RoysterCanadaElwin Sharvill UNQUALIFIED
Izzy L PaprockiIndiaAmy Elsner NEGOTIATION
Ivar S RimBrazilIoni Bowcher NEW
Jones T CaldareraFranceOnyama Limba PROPOSAL
Maisha H BowleySpainStephen Shaw RENEWAL
Jefferson D OstroskyFranceAsiya Javayant UNQUALIFIED
Jennifer Y PoquetteSpainBernardo Dominic NEGOTIATION
Darci A MacleadGermanyBernardo Dominic RENEWAL
Munro A SergiJapanElwin Sharvill QUALIFIED
Ivar W BowleyGermanyBernardo Dominic RENEWAL
Johnson Q CaldareraRussiaIvan Magalhaes NEW
Misaki G GauchoRussiaIoni Bowcher NEGOTIATION
Salvatore E NickaGermanyIvan Magalhaes RENEWAL
Deepesh K StensethGermanyAnna Fali RENEWAL
Sinclair H GauchoUnited KingdomElwin Sharvill QUALIFIED
Claire A FigeroaSpainBernardo Dominic NEGOTIATION
Deepesh T RutaSpainBernardo Dominic NEGOTIATION
Ashley J FerenczIndiaOnyama Limba NEW
Ricardo H OstroskyRussiaElwin Sharvill UNQUALIFIED
Chavez Q BologniaGermanyAmy Elsner RENEWAL
Emily N MarrierItalyAmy Elsner RENEWAL
Aika X RulapaughAustraliaIoni Bowcher QUALIFIED
Leon M CaldareraJapanBernardo Dominic NEGOTIATION
Alejandro X OldroydArgentinaXuxue Feng NEGOTIATION
Emily B MacleadFranceBernardo Dominic PROPOSAL
Kadeem L SergiAustraliaXuxue Feng RENEWAL
Mujtaba I WaycottRussiaStephen Shaw UNQUALIFIED
Izzy U FerenczCanadaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez O WhobreyIndiaAnna Fali RENEWAL
Misaki P PoquetteJapanIvan Magalhaes NEGOTIATION
Jones C ButtAustraliaXuxue Feng RENEWAL
Maria M GlickCanadaOnyama Limba NEGOTIATION
Nicolas F SergiFranceElwin Sharvill NEW
Faith U MarrierArgentinaAsiya Javayant PROPOSAL
David C MorascaIndiaBernardo Dominic QUALIFIED
Salvatore Y MacleadUnited KingdomBernardo Dominic PROPOSAL
Claire R SlusarskiArgentinaAnna Fali NEGOTIATION
Costa O WieserGermanyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues E DoeCanada2025-08-02Feiner Bros NEGOTIATION72Asiya Javayant
1001Munro B PoquetteArgentina2025-08-11Benton, John B Jr NEW77Elwin Sharvill
1002Alejandro T RulapaughArgentina2025-07-20Chemel, James L Cpa UNQUALIFIED51Stephen Shaw
1003Aika G InouyeJapan2025-08-01Rousseaux, Michael Esq PROPOSAL86Asiya Javayant
1004Mayumi Z FerenczFrance2025-08-10Truhlar And Truhlar Attys NEGOTIATION66Asiya Javayant
1005Juan X OldroydIndia2025-07-23King, Christopher A Esq RENEWAL2Elwin Sharvill
1006Antonio C GauchoUnited Kingdom2025-07-21Truhlar And Truhlar Attys RENEWAL67Amy Elsner
1007Maria T OldroydFrance2025-08-05Commercial Press PROPOSAL78Xuxue Feng
1008Maria I PoquetteArgentina2025-08-01Dorl, James J Esq PROPOSAL79Xuxue Feng
1009David S DilliardCanada2025-07-29Benton, John B Jr RENEWAL24Bernardo Dominic
1010Clifford I OstroskyIndia2025-07-30Chemel, James L Cpa RENEWAL54Onyama Limba
1011Arvin Q BowleyRussia2025-07-18Chemel, James L Cpa UNQUALIFIED73Elwin Sharvill
1012Jones V DarakjyItaly2025-07-26Truhlar And Truhlar Attys RENEWAL18Elwin Sharvill
1013Salvatore I BologniaSpain2025-08-09Rangoni Of Florence UNQUALIFIED16Anna Fali
1014Leon A FlosiAustralia2025-08-09Commercial Press QUALIFIED19Onyama Limba
1015Jones M SergiGermany2025-07-24Chapman, Ross E Esq NEW28Asiya Javayant
1016Jones N RutaUnited Kingdom2025-08-09Chemel, James L Cpa QUALIFIED5Ioni Bowcher
1017Johnson K WaycottAustralia2025-08-07Rangoni Of Florence NEW31Elwin Sharvill
1018Jefferson V SaylorsBrazil2025-08-13King, Christopher A Esq QUALIFIED32Stephen Shaw
1019Munro J FerenczUnited Kingdom2025-08-07Dorl, James J Esq UNQUALIFIED87Anna Fali
1020Darci U PaprockiIndia2025-07-27King, Christopher A Esq NEGOTIATION80Amy Elsner
1021Tony Z ShinkoIndia2025-07-21Commercial Press PROPOSAL23Stephen Shaw
1022Octavia F CaudyArgentina2025-07-27Truhlar And Truhlar Attys NEW4Onyama Limba
1023Aruna N SergiItaly2025-07-26Rangoni Of Florence RENEWAL36Bernardo Dominic
1024Chavez B ChuiAustralia2025-08-05Feltz Printing Service QUALIFIED76Onyama Limba
1025Isabel A GauchoBrazil2025-07-24Feltz Printing Service QUALIFIED0Anna Fali
1026Tony F RutaCanada2025-08-09Rangoni Of Florence NEW76Stephen Shaw
1027Julie P PerinSpain2025-07-17Rangoni Of Florence PROPOSAL95Amy Elsner
1028Greenwood Z RulapaughIndia2025-08-06Benton, John B Jr UNQUALIFIED49Amy Elsner
1029Salvatore U OldroydFrance2025-07-27Chemel, James L Cpa UNQUALIFIED81Ioni Bowcher
1030Mayumi A IturbideRussia2025-07-24Rousseaux, Michael Esq PROPOSAL14Anna Fali
1031Darci L NestleItaly2025-07-25Chapman, Ross E Esq QUALIFIED95Elwin Sharvill
1032Alejandro W AlbaresGermany2025-07-29Dorl, James J Esq UNQUALIFIED11Ivan Magalhaes
1033Maisha P MorascaJapan2025-08-03Printing Dimensions PROPOSAL65Stephen Shaw
1034Sinclair Q MaletArgentina2025-07-21Commercial Press RENEWAL71Onyama Limba
1035David A ChuiBrazil2025-07-29Dorl, James J Esq QUALIFIED82Amy Elsner
1036Leon P OldroydIndia2025-07-29Chemel, James L Cpa NEGOTIATION60Onyama Limba
1037Aditya N WhobreyJapan2025-07-20Printing Dimensions PROPOSAL17Onyama Limba
1038Nicolas T WaycottAustralia2025-07-27Rangoni Of Florence PROPOSAL21Asiya Javayant
1039Ashley W RimSpain2025-08-09Feiner Bros PROPOSAL73Elwin Sharvill
1040Octavia M MacleadSpain2025-07-26Chemel, James L Cpa UNQUALIFIED85Anna Fali
1041Clifford L BologniaGermany2025-08-09Truhlar And Truhlar Attys NEGOTIATION76Ivan Magalhaes
1042Julie B GillianGermany2025-07-19Benton, John B Jr NEGOTIATION26Anna Fali
1043Isabel O AmigonGermany2025-07-16Rousseaux, Michael Esq NEGOTIATION18Asiya Javayant
1044Johnson C PerinItaly2025-07-28Chapman, Ross E Esq NEGOTIATION71Xuxue Feng
1045Ricardo N SlusarskiItaly2025-08-01Commercial Press PROPOSAL87Amy Elsner
1046Francesco A RimSpain2025-07-26Chemel, James L Cpa RENEWAL4Anna Fali
1047Izzy W GlickAustralia2025-08-03Feltz Printing Service QUALIFIED17Amy Elsner
1048Clifford B GlickAustralia2025-07-19Dorl, James J Esq NEGOTIATION5Asiya Javayant
1049Maria P PoquetteGermany2025-07-31Feltz Printing Service PROPOSAL42Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Z SchemmerAustraliaStephen Shaw NEW
Greenwood F RutaBrazilAnna Fali NEW
James U WaycottBrazilAnna Fali QUALIFIED
Greenwood C MacleadRussiaAnna Fali NEW
Kaitlin N OldroydJapanElwin Sharvill QUALIFIED
Darci T SergiAustraliaAsiya Javayant NEW
Misaki A NickaBrazilOnyama Limba RENEWAL
Faith U RimCanadaElwin Sharvill UNQUALIFIED
Faith A MacleadJapanAnna Fali RENEWAL
Smith P FlosiRussiaAnna Fali QUALIFIED
Greenwood B RimJapanElwin Sharvill QUALIFIED
Ashley N OldroydSpainAmy Elsner NEW
Smith A DoeRussiaAsiya Javayant RENEWAL
Costa A AmigonSpainElwin Sharvill NEW
Alejandro N OstroskyBrazilXuxue Feng QUALIFIED
Wickens C WaycottRussiaIvan Magalhaes NEW
Smith G MorascaIndiaIvan Magalhaes RENEWAL
Antonio W IturbideAustraliaXuxue Feng RENEWAL
Deepesh W CaudyCanadaElwin Sharvill PROPOSAL
James X SaylorsArgentinaBernardo Dominic QUALIFIED
Misaki W BologniaAustraliaAmy Elsner PROPOSAL
Maria I VocelkaUnited KingdomBernardo Dominic QUALIFIED
Jones V AlbaresGermanyAnna Fali UNQUALIFIED
Leon P ButtGermanyOnyama Limba UNQUALIFIED
Maria G PaprockiSpainElwin Sharvill RENEWAL
Jones Y OstroskyFranceElwin Sharvill RENEWAL
Maria J CaudyUnited KingdomOnyama Limba UNQUALIFIED
Ricardo Z FigeroaArgentinaAnna Fali PROPOSAL
Ashley L BologniaItalyIoni Bowcher NEW
Leon P FerenczArgentinaAnna Fali PROPOSAL
Julie S IturbideArgentinaStephen Shaw NEW
Alejandro S ShinkoSpainBernardo Dominic RENEWAL
Arvin W GarufiIndiaIoni Bowcher NEGOTIATION
Rodrigues T BriddickAustraliaBernardo Dominic NEGOTIATION
Ricardo A PaprockiJapanAnna Fali RENEWAL
Tony U RimFranceIoni Bowcher PROPOSAL
Faith E PerinBrazilAsiya Javayant NEGOTIATION
Smith Q OstroskyJapanAnna Fali QUALIFIED
Emily J WhobreyArgentinaAsiya Javayant RENEWAL
Smith A MorascaFranceStephen Shaw RENEWAL
Faith T WhobreyItalyAnna Fali QUALIFIED
Francesco Y ChuiRussiaOnyama Limba QUALIFIED
Nicolas X VenereArgentinaStephen Shaw NEGOTIATION
Claire I InouyeUnited KingdomOnyama Limba NEGOTIATION
Kaitlin L PerinAustraliaStephen Shaw RENEWAL
Costa U BologniaItalyAnna Fali QUALIFIED
Claire B BologniaSpainStephen Shaw QUALIFIED
Deepesh P CaldareraJapanAsiya Javayant QUALIFIED
Deepesh N RimFranceElwin Sharvill NEGOTIATION
Francesco Z RimRussiaBernardo Dominic QUALIFIED
Frozen Columns
Name
Cody V Garufi
Johnson O Saylors
Smith M Malet
David J Figeroa
Adams H Bowley
Mayumi B Schemmer
Maria T Caudy
Mujtaba U Caldarera
Jeanfrancois F Slusarski
Leja O Venere
Mayumi G Wieser
Jones M Stockham
Leja G Nestle
Francesco P Poquette
Alejandro E Butt
Izzy G Malet
Kadeem K Bowley
Jeanfrancois E Paprocki
Leja U Rim
Antonio C Ferencz
Wickens G Sergi
Francesco N Venere
Smith H Perin
Mujtaba S Morasca
Jones O Chui
Isabel R Glick
Maisha O Tollner
Nicolas N Oldroyd
Jones S Doe
Kaitlin Q Ostrosky
Murillo V Vocelka
Jeanfrancois L Schemmer
Salvatore U Stenseth
Maria M Maclead
Isabel Q Schemmer
Mayumi G Wieser
Smith I Paprocki
Antonio D Inouye
Arvin D Briddick
Kadeem W Saylors
Faith G Stockham
Rodrigues O Royster
Aruna T Chui
Clifford I Caldarera
Antonio Q Maclead
Juan E Ferencz
Jones P Caudy
Deepesh T Waycott
Murillo S Darakjy
Nicolas R Amigon
IdCountryDate
1000Italy2025-08-10
1001Argentina2025-07-15
1002Germany2025-07-19
1003Italy2025-07-23
1004India2025-08-12
1005France2025-08-09
1006Canada2025-08-04
1007Germany2025-07-22
1008Spain2025-08-12
1009Argentina2025-08-04
1010France2025-07-24
1011Australia2025-08-13
1012Japan2025-08-12
1013Brazil2025-07-19
1014Japan2025-07-21
1015India2025-07-22
1016Brazil2025-08-04
1017United Kingdom2025-08-09
1018Japan2025-07-25
1019Japan2025-07-22
1020Argentina2025-08-13
1021Brazil2025-07-21
1022Spain2025-07-27
1023United Kingdom2025-08-08
1024Canada2025-07-26
1025Argentina2025-07-18
1026Germany2025-08-04
1027Canada2025-08-04
1028France2025-07-21
1029United Kingdom2025-07-18
1030India2025-08-02
1031India2025-08-04
1032Germany2025-08-03
1033Canada2025-08-02
1034Germany2025-07-25
1035Japan2025-08-04
1036Japan2025-08-02
1037United Kingdom2025-08-03
1038India2025-08-06
1039France2025-08-11
1040Australia2025-08-05
1041Brazil2025-07-28
1042Argentina2025-07-22
1043Canada2025-07-25
1044Argentina2025-08-04
1045Spain2025-08-03
1046Italy2025-07-17
1047Canada2025-08-08
1048Australia2025-08-06
1049Japan2025-07-16

On-Demand Data

NameIdCountryDate
Deepesh K Darakjy1000India2025-08-11
Alejandro K Campain1001France2025-08-06
Costa O Doe1002Australia2025-07-26
Chavez I Stenseth1003India2025-07-19
Aika Y Flosi1004Italy2025-08-09
Costa H Morasca1005France2025-08-05
Sinclair K Campain1006Germany2025-07-28
Deepesh T Kusko1007Canada2025-07-27
Mayumi M Morasca1008Germany2025-08-12
Mayumi Q Vocelka1009Australia2025-08-01
Maria N Whobrey1010Argentina2025-07-31
Ricardo J Caldarera1011Russia2025-07-17
Jennifer P Poquette1012Argentina2025-07-23
Johnson A Bolognia1013Germany2025-08-06
Ashley G Kolmetz1014India2025-07-15
Isabel Y Royster1015Canada2025-07-31
David X Shinko1016Canada2025-07-18
Julie I Morasca1017Canada2025-08-12
Clifford M Nicka1018France2025-08-13
Izzy F Malet1019France2025-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford F StockhamArgentinaStephen Shaw QUALIFIED
Claire S VenereItalyAsiya Javayant NEW
Octavia R InouyeJapanAsiya Javayant NEW
Julie D RutaUnited KingdomXuxue Feng UNQUALIFIED
Leja A MacleadRussiaAsiya Javayant UNQUALIFIED
Ashley T RutaIndiaStephen Shaw NEW
Adams U BowleyCanadaElwin Sharvill PROPOSAL
James V BologniaIndiaOnyama Limba NEGOTIATION
Emily Q AmigonCanadaIoni Bowcher NEW
Sinclair E MaletJapanIoni Bowcher NEW
Kadeem D CampainUnited KingdomAsiya Javayant NEW
Morrow W NestleCanadaElwin Sharvill QUALIFIED
Aruna Z VenereCanadaOnyama Limba PROPOSAL
Aika Z ShinkoArgentinaAsiya Javayant NEW
Kaitlin P PoquetteAustraliaAnna Fali RENEWAL
Kaitlin D PaprockiIndiaAsiya Javayant RENEWAL
Antonio S StensethArgentinaAnna Fali NEGOTIATION
Tony M ShinkoFranceAmy Elsner RENEWAL
Murillo U SlusarskiJapanXuxue Feng UNQUALIFIED
James X MaletUnited KingdomXuxue Feng PROPOSAL
Smith L RoysterAustraliaIoni Bowcher NEGOTIATION
Mayumi U FerenczSpainXuxue Feng RENEWAL
Kadeem X DarakjyArgentinaBernardo Dominic NEW
Silvio J InouyeFranceStephen Shaw PROPOSAL
Tony Y MaletFranceBernardo Dominic NEGOTIATION
Kaitlin Y RimIndiaIvan Magalhaes QUALIFIED
Leon Q VenereJapanStephen Shaw NEW
Alejandro M GauchoUnited KingdomOnyama Limba RENEWAL
Arvin L NestleCanadaIoni Bowcher QUALIFIED
Claire B DoeBrazilBernardo Dominic PROPOSAL
Aditya D IturbideBrazilXuxue Feng PROPOSAL
Greenwood D InouyeItalyStephen Shaw UNQUALIFIED
Aika Z KolmetzSpainAmy Elsner PROPOSAL
Jeanfrancois Y AlbaresGermanyStephen Shaw NEGOTIATION
Mujtaba W NestleItalyElwin Sharvill PROPOSAL
Mayumi I GauchoArgentinaXuxue Feng UNQUALIFIED
Stacey K FigeroaAustraliaAsiya Javayant RENEWAL
Mayumi O RutaFranceStephen Shaw QUALIFIED
Nicolas A SlusarskiBrazilAmy Elsner RENEWAL
Murillo T NickaJapanStephen Shaw 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>