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
Clifford Y WhobreyCanadaElwin Sharvill PROPOSAL
Aditya M GauchoBrazilAnna Fali RENEWAL
Johnson J GarufiItalyAnna Fali NEW
Emily N SaylorsFranceOnyama Limba NEGOTIATION
Misaki K PoquetteJapanStephen Shaw UNQUALIFIED
Alejandro B ShinkoArgentinaAmy Elsner NEGOTIATION
Jones I MaletBrazilIvan Magalhaes PROPOSAL
Aditya M BologniaRussiaXuxue Feng NEGOTIATION
Ivar C FigeroaJapanIoni Bowcher NEGOTIATION
Julie Q AmigonRussiaXuxue Feng PROPOSAL
Emily D CampainItalyAmy Elsner UNQUALIFIED
Stacey M AlbaresSpainBernardo Dominic NEGOTIATION
David F BriddickAustraliaIoni Bowcher QUALIFIED
Cody V FigeroaJapanOnyama Limba NEGOTIATION
Murillo Z SaylorsSpainBernardo Dominic NEW
Misaki X GillianGermanyBernardo Dominic NEGOTIATION
Kadeem M RutaJapanOnyama Limba QUALIFIED
Cody V DarakjyGermanyStephen Shaw NEW
Aruna U RoysterItalyXuxue Feng QUALIFIED
Cody Z StensethGermanyStephen Shaw RENEWAL
Juan G SaylorsItalyOnyama Limba PROPOSAL
Aika U BologniaCanadaAmy Elsner RENEWAL
Darci N BriddickJapanXuxue Feng NEW
Tony F NickaFranceElwin Sharvill NEGOTIATION
Darci N OldroydIndiaBernardo Dominic QUALIFIED
Isabel D PerinJapanIoni Bowcher QUALIFIED
Jennifer H MaletGermanyXuxue Feng QUALIFIED
Deepesh Q StockhamBrazilStephen Shaw RENEWAL
Alejandro P AlbaresFranceStephen Shaw NEW
Cody L DoeRussiaOnyama Limba NEW
Jones Q GlickItalyAsiya Javayant NEGOTIATION
Kaitlin Q StockhamRussiaIoni Bowcher UNQUALIFIED
Johnson S StockhamArgentinaOnyama Limba PROPOSAL
Johnson Y BriddickIndiaBernardo Dominic UNQUALIFIED
Darci U SaylorsRussiaIvan Magalhaes NEGOTIATION
Julie K RoysterItalyElwin Sharvill UNQUALIFIED
Clifford M GlickAustraliaAmy Elsner QUALIFIED
Jennifer D OldroydArgentinaAmy Elsner PROPOSAL
Ashley L PoquetteFranceBernardo Dominic RENEWAL
Alejandro J TollnerAustraliaAmy Elsner NEGOTIATION
Claire Q FerenczAustraliaAnna Fali QUALIFIED
Smith O IturbideRussiaAsiya Javayant UNQUALIFIED
Jennifer C ButtAustraliaOnyama Limba PROPOSAL
Salvatore I FigeroaJapanStephen Shaw PROPOSAL
Stacey L RulapaughUnited KingdomAsiya Javayant PROPOSAL
Nicolas H FollerAustraliaIoni Bowcher PROPOSAL
Rodrigues T CaudyFranceAmy Elsner QUALIFIED
Francesco R MarrierBrazilAsiya Javayant UNQUALIFIED
Tony O CaudySpainAmy Elsner NEGOTIATION
Aditya L DarakjyJapanElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio D MacleadRussiaIoni Bowcher NEGOTIATION
Nicolas J DilliardJapanElwin Sharvill RENEWAL
Octavia O InouyeArgentinaElwin Sharvill RENEWAL
Chavez L GauchoItalyStephen Shaw QUALIFIED
Mujtaba T DarakjyAustraliaXuxue Feng NEGOTIATION
Munro N DarakjyGermanyAmy Elsner UNQUALIFIED
Izzy W OstroskyCanadaAmy Elsner NEW
Octavia P WhobreyBrazilStephen Shaw PROPOSAL
Smith D MaletCanadaElwin Sharvill RENEWAL
Aruna K AlbaresFranceXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo R FlosiRussia2025-07-09Chanay, Jeffrey A Esq RENEWAL32Asiya Javayant
1001Francesco C RoysterAustralia2025-07-18King, Christopher A Esq RENEWAL33Bernardo Dominic
1002Clifford R InouyeFrance2025-07-28Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1003David X VocelkaUnited Kingdom2025-07-21Rangoni Of Florence NEGOTIATION11Asiya Javayant
1004Stacey P StensethIndia2025-07-03Printing Dimensions PROPOSAL87Amy Elsner
1005Salvatore R RutaJapan2025-07-13Morlong Associates QUALIFIED65Stephen Shaw
1006James A StockhamUnited Kingdom2025-07-11Chanay, Jeffrey A Esq QUALIFIED70Asiya Javayant
1007Morrow J ChuiFrance2025-07-26Commercial Press NEGOTIATION52Amy Elsner
1008Jones D FigeroaAustralia2025-07-16Chanay, Jeffrey A Esq NEW74Onyama Limba
1009Costa J GillianAustralia2025-07-13Rousseaux, Michael Esq NEGOTIATION61Ivan Magalhaes
1010Ricardo K SlusarskiCanada2025-07-19King, Christopher A Esq NEGOTIATION44Bernardo Dominic
1011Izzy Q OldroydAustralia2025-07-26Rousseaux, Michael Esq RENEWAL51Xuxue Feng
1012Leon B BriddickFrance2025-07-15Buckley Miller Wright NEGOTIATION22Stephen Shaw
1013Cody D NestleItaly2025-07-11Printing Dimensions PROPOSAL44Ivan Magalhaes
1014Greenwood Y SchemmerSpain2025-07-15Printing Dimensions PROPOSAL11Stephen Shaw
1015Misaki F VenereSpain2025-07-09Rangoni Of Florence QUALIFIED69Xuxue Feng
1016Morrow I PoquetteArgentina2025-07-08Chanay, Jeffrey A Esq UNQUALIFIED39Elwin Sharvill
1017Ricardo T ShinkoGermany2025-07-18Rangoni Of Florence NEGOTIATION36Elwin Sharvill
1018Johnson T BriddickBrazil2025-07-12Dorl, James J Esq UNQUALIFIED54Anna Fali
1019Faith P ChuiUnited Kingdom2025-07-22Printing Dimensions RENEWAL19Amy Elsner
1020James B TollnerItaly2025-07-22Commercial Press UNQUALIFIED59Anna Fali
1021Alejandro D MaletItaly2025-07-14Morlong Associates NEW57Anna Fali
1022Izzy R BowleySpain2025-07-15Rousseaux, Michael Esq NEGOTIATION10Bernardo Dominic
1023Salvatore I DoeJapan2025-07-08Morlong Associates QUALIFIED74Xuxue Feng
1024Munro Y IturbideSpain2025-07-04Benton, John B Jr NEW61Ioni Bowcher
1025Sinclair Z SergiJapan2025-07-11Printing Dimensions NEGOTIATION63Asiya Javayant
1026Wickens H RutaBrazil2025-07-24Printing Dimensions UNQUALIFIED36Xuxue Feng
1027Chavez R InouyeSpain2025-07-26Truhlar And Truhlar Attys RENEWAL91Elwin Sharvill
1028Greenwood B SaylorsUnited Kingdom2025-07-21Chapman, Ross E Esq NEW13Amy Elsner
1029Mujtaba K CaldareraBrazil2025-07-14Buckley Miller Wright UNQUALIFIED23Asiya Javayant
1030Ashley V AlbaresBrazil2025-07-16Feltz Printing Service PROPOSAL94Bernardo Dominic
1031Octavia F CaldareraAustralia2025-07-26Feiner Bros RENEWAL52Onyama Limba
1032Clifford P InouyeIndia2025-07-12Feiner Bros RENEWAL36Ivan Magalhaes
1033Morrow K WhobreyBrazil2025-07-25Commercial Press RENEWAL80Bernardo Dominic
1034Alejandro M StockhamUnited Kingdom2025-07-06Chemel, James L Cpa NEW17Stephen Shaw
1035Morrow W NickaSpain2025-07-10Rangoni Of Florence PROPOSAL61Stephen Shaw
1036Maria S CaldareraCanada2025-06-30Benton, John B Jr NEW30Onyama Limba
1037Clifford P GillianArgentina2025-07-07Benton, John B Jr NEGOTIATION58Elwin Sharvill
1038Aika I FigeroaIndia2025-07-19Feltz Printing Service QUALIFIED0Ivan Magalhaes
1039Murillo I DarakjyCanada2025-07-19King, Christopher A Esq RENEWAL0Elwin Sharvill
1040Ashley D FigeroaItaly2025-07-06Commercial Press RENEWAL74Xuxue Feng
1041Murillo O GlickSpain2025-07-19Feltz Printing Service PROPOSAL39Xuxue Feng
1042Cody A StensethCanada2025-07-23Printing Dimensions NEGOTIATION31Onyama Limba
1043Alejandro T StockhamCanada2025-07-06Morlong Associates PROPOSAL91Bernardo Dominic
1044Aika K DarakjySpain2025-07-09Chapman, Ross E Esq UNQUALIFIED87Ioni Bowcher
1045Adams A StockhamBrazil2025-07-18Chapman, Ross E Esq RENEWAL13Ivan Magalhaes
1046Johnson N FollerItaly2025-07-20Chapman, Ross E Esq UNQUALIFIED79Stephen Shaw
1047Claire P ButtCanada2025-07-11Chapman, Ross E Esq QUALIFIED46Stephen Shaw
1048Maria I MaletItaly2025-07-06Printing Dimensions RENEWAL87Onyama Limba
1049Ivar X MacleadFrance2025-07-07Chapman, Ross E Esq UNQUALIFIED23Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Octavia B GillianSpainBernardo Dominic RENEWAL
Kadeem T DilliardSpainAnna Fali UNQUALIFIED
Munro C StockhamBrazilAnna Fali NEW
Johnson S DilliardJapanXuxue Feng QUALIFIED
Ivar W WaycottAustraliaAnna Fali PROPOSAL
Stacey M GlickSpainElwin Sharvill QUALIFIED
Kaitlin S KuskoArgentinaElwin Sharvill UNQUALIFIED
Maria P BologniaIndiaElwin Sharvill UNQUALIFIED
Jones Q MarrierUnited KingdomXuxue Feng UNQUALIFIED
Murillo H GauchoItalyBernardo Dominic NEGOTIATION
Maisha M AlbaresFranceIvan Magalhaes NEGOTIATION
Salvatore Q WieserAustraliaAsiya Javayant RENEWAL
Sinclair V SlusarskiAustraliaIoni Bowcher PROPOSAL
Antonio R WaycottCanadaAnna Fali UNQUALIFIED
Isabel E PaprockiSpainIvan Magalhaes NEGOTIATION
Misaki B GarufiIndiaElwin Sharvill RENEWAL
Jefferson V StensethIndiaElwin Sharvill NEGOTIATION
James F SchemmerGermanyIvan Magalhaes UNQUALIFIED
Smith K DoeJapanStephen Shaw NEGOTIATION
Munro W OldroydItalyBernardo Dominic RENEWAL
Arvin S ButtFranceIoni Bowcher NEW
Aruna O SergiFranceStephen Shaw RENEWAL
Adams C RutaIndiaAnna Fali UNQUALIFIED
Isabel C CaldareraSpainOnyama Limba RENEWAL
Kaitlin V CaudyAustraliaBernardo Dominic NEW
Izzy M VenereIndiaAsiya Javayant NEGOTIATION
James L BowleyBrazilAsiya Javayant PROPOSAL
Maria U SergiJapanXuxue Feng RENEWAL
Francesco A VenereBrazilElwin Sharvill NEGOTIATION
Julie M FigeroaBrazilElwin Sharvill PROPOSAL
Munro M ButtUnited KingdomStephen Shaw QUALIFIED
Silvio H StockhamFranceAsiya Javayant QUALIFIED
Johnson K DarakjyFranceIvan Magalhaes UNQUALIFIED
Salvatore C GlickArgentinaStephen Shaw UNQUALIFIED
James N SchemmerIndiaAsiya Javayant QUALIFIED
Arvin G RimBrazilXuxue Feng NEW
Costa K RulapaughUnited KingdomAsiya Javayant NEW
Nicolas G KuskoFranceAsiya Javayant NEW
Chavez D KuskoCanadaOnyama Limba QUALIFIED
Isabel Q MorascaGermanyAsiya Javayant NEW
Maisha F WhobreyArgentinaBernardo Dominic NEW
Izzy T KuskoRussiaAsiya Javayant NEGOTIATION
Greenwood R GillianCanadaAsiya Javayant NEW
Antonio M BriddickItalyBernardo Dominic UNQUALIFIED
Mayumi X PoquetteCanadaStephen Shaw RENEWAL
Sinclair L TollnerRussiaElwin Sharvill NEW
Silvio H GlickItalyAsiya Javayant NEGOTIATION
Aika R CampainFranceBernardo Dominic QUALIFIED
Ricardo S StensethIndiaXuxue Feng RENEWAL
Greenwood N IturbideRussiaBernardo Dominic NEW
Frozen Columns
Name
Juan S Amigon
Cody U Caldarera
Arvin Y Chui
Darci Z Ostrosky
Juan T Caldarera
Maisha M Nestle
Aditya L Saylors
Alejandro V Ferencz
Nicolas V Rim
Morrow W Dilliard
Claire M Foller
Tony R Tollner
Wickens D Butt
Jeanfrancois X Marrier
Julie P Flosi
Maria B Whobrey
Alejandro Z Malet
Johnson A Garufi
Ashley H Wieser
Wickens T Darakjy
Mujtaba M Waycott
Deepesh A Figeroa
Morrow V Perin
Arvin H Doe
Jeanfrancois F Stockham
Jefferson J Saylors
Maisha S Amigon
Cody B Tollner
David L Waycott
Leja G Paprocki
Aruna L Foller
Silvio H Schemmer
Jeanfrancois X Kusko
Antonio R Glick
Aditya R Paprocki
Kaitlin J Malet
Stacey G Gillian
Silvio L Tollner
Clifford X Tollner
Sinclair I Caldarera
Stacey U Amigon
Nicolas E Doe
Clifford T Iturbide
Arvin P Rim
Maisha X Slusarski
Cody F Slusarski
Octavia O Tollner
Aditya E Rulapaugh
Darci O Caudy
David J Morasca
IdCountryDate
1000United Kingdom2025-07-08
1001India2025-07-11
1002Argentina2025-07-20
1003Italy2025-07-24
1004Australia2025-07-27
1005Australia2025-07-23
1006Russia2025-07-10
1007Argentina2025-07-26
1008Italy2025-07-05
1009India2025-07-23
1010Italy2025-07-18
1011Italy2025-07-07
1012Germany2025-07-11
1013Russia2025-07-22
1014Canada2025-07-28
1015Argentina2025-07-05
1016Spain2025-07-12
1017Italy2025-07-18
1018Russia2025-07-14
1019India2025-07-22
1020Germany2025-07-23
1021United Kingdom2025-07-16
1022Brazil2025-07-08
1023United Kingdom2025-07-02
1024Russia2025-07-06
1025Australia2025-07-24
1026India2025-07-13
1027Germany2025-07-14
1028Australia2025-07-20
1029Brazil2025-07-08
1030Canada2025-07-08
1031Argentina2025-07-16
1032France2025-07-26
1033Germany2025-07-19
1034Japan2025-07-14
1035Italy2025-07-29
1036Japan2025-07-21
1037Italy2025-07-21
1038Australia2025-07-01
1039Brazil2025-06-30
1040Italy2025-07-14
1041Italy2025-07-21
1042Argentina2025-07-12
1043Spain2025-06-30
1044India2025-07-28
1045Japan2025-07-09
1046Italy2025-07-26
1047Russia2025-07-03
1048Australia2025-07-18
1049India2025-07-21

On-Demand Data

NameIdCountryDate
David C Waycott1000Japan2025-07-07
Antonio E Butt1001Italy2025-07-26
Johnson N Saylors1002Germany2025-07-04
Jennifer K Figeroa1003Australia2025-07-12
Isabel K Chui1004India2025-07-17
Izzy G Whobrey1005Spain2025-07-18
Silvio S Amigon1006Australia2025-07-04
David Z Nestle1007Japan2025-07-17
Darci N Inouye1008Italy2025-07-02
Jeanfrancois I Poquette1009Italy2025-07-04
Maisha C Rim1010France2025-06-30
Tony Y Glick1011Italy2025-07-16
Francesco E Malet1012Russia2025-07-23
Isabel Y Glick1013India2025-07-03
Jefferson C Nestle1014United Kingdom2025-07-29
Morrow M Malet1015Spain2025-07-25
Aditya W Rulapaugh1016India2025-07-15
Leon D Darakjy1017Germany2025-07-20
Rodrigues J Ferencz1018Russia2025-07-16
Nicolas L Wieser1019Argentina2025-07-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya F RutaAustraliaOnyama Limba PROPOSAL
Leja R StockhamAustraliaElwin Sharvill PROPOSAL
Emily A RutaIndiaIvan Magalhaes QUALIFIED
Isabel P OldroydJapanXuxue Feng NEGOTIATION
Emily W DilliardArgentinaXuxue Feng QUALIFIED
Mujtaba K DilliardRussiaElwin Sharvill QUALIFIED
Stacey G MaletCanadaBernardo Dominic PROPOSAL
Kadeem F PaprockiItalyIvan Magalhaes NEW
Alejandro V FigeroaItalyStephen Shaw QUALIFIED
Leja H GarufiRussiaAmy Elsner NEGOTIATION
Francesco I PoquetteGermanyOnyama Limba UNQUALIFIED
Ricardo K WaycottUnited KingdomStephen Shaw RENEWAL
Ashley H ShinkoCanadaIoni Bowcher UNQUALIFIED
Emily C VocelkaRussiaAsiya Javayant UNQUALIFIED
Silvio R AlbaresGermanyIoni Bowcher RENEWAL
Nicolas J NestleBrazilIvan Magalhaes NEGOTIATION
David U SchemmerBrazilAmy Elsner NEGOTIATION
Emily X MarrierItalyAnna Fali NEGOTIATION
Antonio M GarufiCanadaXuxue Feng NEW
Cody T SchemmerJapanStephen Shaw NEW
Arvin S InouyeGermanyStephen Shaw PROPOSAL
Morrow U CaldareraGermanyIoni Bowcher NEW
Antonio D GauchoGermanyIoni Bowcher UNQUALIFIED
Smith T DoeJapanAsiya Javayant PROPOSAL
Deepesh Q DilliardUnited KingdomOnyama Limba QUALIFIED
Adams U FigeroaAustraliaOnyama Limba NEGOTIATION
James X NickaAustraliaIvan Magalhaes QUALIFIED
Clifford L IturbideJapanXuxue Feng PROPOSAL
Jeanfrancois U BriddickSpainAsiya Javayant UNQUALIFIED
Ivar U GauchoBrazilBernardo Dominic NEGOTIATION
Alejandro G MacleadSpainBernardo Dominic PROPOSAL
Morrow W RimSpainIoni Bowcher PROPOSAL
Cody F ChuiAustraliaXuxue Feng RENEWAL
James Y OstroskyArgentinaStephen Shaw PROPOSAL
Jeanfrancois Y MaletAustraliaXuxue Feng QUALIFIED
Jeanfrancois K VocelkaCanadaOnyama Limba NEW
Adams N ShinkoAustraliaBernardo Dominic RENEWAL
Clifford H NestleGermanyStephen Shaw QUALIFIED
Munro T GlickRussiaStephen Shaw QUALIFIED
Ivar J SchemmerJapanXuxue Feng 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>