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
Emily Y SaylorsCanadaBernardo Dominic PROPOSAL
Izzy N WaycottArgentinaIoni Bowcher UNQUALIFIED
Faith B PerinJapanStephen Shaw QUALIFIED
Jennifer W BologniaAustraliaElwin Sharvill NEW
Octavia Q TollnerGermanyBernardo Dominic UNQUALIFIED
Morrow C PoquetteAustraliaOnyama Limba UNQUALIFIED
Kadeem W OldroydUnited KingdomElwin Sharvill QUALIFIED
Chavez O MorascaSpainElwin Sharvill RENEWAL
Leja D ShinkoBrazilAsiya Javayant UNQUALIFIED
Arvin J GillianIndiaAsiya Javayant UNQUALIFIED
Jones O IturbideJapanOnyama Limba QUALIFIED
Wickens G MorascaSpainAsiya Javayant NEGOTIATION
Kadeem X BologniaItalyAsiya Javayant NEW
Ivar X TollnerRussiaOnyama Limba RENEWAL
Costa J WaycottItalyAnna Fali RENEWAL
Ivar K RimAustraliaElwin Sharvill QUALIFIED
Mayumi H MaletFranceBernardo Dominic NEW
Munro G DilliardIndiaAsiya Javayant PROPOSAL
Ashley D CaudyAustraliaAsiya Javayant PROPOSAL
Cody Y InouyeArgentinaAsiya Javayant UNQUALIFIED
Leja Y BowleyGermanyStephen Shaw RENEWAL
Jones S RutaAustraliaBernardo Dominic NEGOTIATION
Darci V BowleyGermanyXuxue Feng NEGOTIATION
Ricardo A RutaCanadaAmy Elsner NEW
Kaitlin S InouyeUnited KingdomOnyama Limba NEGOTIATION
Aika P WieserAustraliaIoni Bowcher NEW
Maria T MacleadRussiaXuxue Feng PROPOSAL
Ricardo D FigeroaArgentinaAnna Fali RENEWAL
Stacey Z StockhamJapanBernardo Dominic NEGOTIATION
Juan W RutaArgentinaXuxue Feng UNQUALIFIED
Octavia J FigeroaRussiaIoni Bowcher NEGOTIATION
Faith F IturbideIndiaOnyama Limba QUALIFIED
Adams X MaletRussiaBernardo Dominic QUALIFIED
Clifford M MaletArgentinaOnyama Limba QUALIFIED
Darci Q FlosiCanadaStephen Shaw QUALIFIED
Maria F ShinkoJapanAnna Fali RENEWAL
Leja U GarufiIndiaIoni Bowcher NEW
Ivar B DilliardFranceElwin Sharvill NEW
Darci Y KolmetzBrazilXuxue Feng PROPOSAL
Arvin M NestleRussiaIvan Magalhaes UNQUALIFIED
David V AmigonAustraliaStephen Shaw UNQUALIFIED
Octavia A StensethAustraliaXuxue Feng RENEWAL
Wickens I BologniaGermanyOnyama Limba NEGOTIATION
Aruna Y PoquetteJapanAsiya Javayant NEW
Wickens M ChuiRussiaStephen Shaw UNQUALIFIED
Rodrigues U MacleadSpainAsiya Javayant QUALIFIED
Jeanfrancois K TollnerAustraliaElwin Sharvill QUALIFIED
Jones Y OstroskyIndiaAmy Elsner QUALIFIED
Francesco M FerenczRussiaBernardo Dominic RENEWAL
Jennifer O PoquetteSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba U SlusarskiCanadaElwin Sharvill NEW
James F PerinGermanyAmy Elsner QUALIFIED
Adams R StockhamItalyElwin Sharvill QUALIFIED
Mayumi D RutaIndiaXuxue Feng QUALIFIED
Francesco X CaudyBrazilIvan Magalhaes NEGOTIATION
Aruna N BowleyGermanyXuxue Feng UNQUALIFIED
Faith F BowleyBrazilAnna Fali NEW
Chavez J WieserBrazilBernardo Dominic UNQUALIFIED
Aditya V PoquetteArgentinaIoni Bowcher PROPOSAL
Ashley H ChuiBrazilAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David H StensethBrazil2025-08-09Truhlar And Truhlar Attys QUALIFIED26Bernardo Dominic
1001Chavez O MaletBrazil2025-07-18King, Christopher A Esq PROPOSAL38Onyama Limba
1002Aditya K OstroskySpain2025-08-11Chapman, Ross E Esq NEW19Onyama Limba
1003Greenwood W VocelkaUnited Kingdom2025-07-22Chanay, Jeffrey A Esq NEGOTIATION20Ioni Bowcher
1004Munro B InouyeItaly2025-08-12Rousseaux, Michael Esq NEW22Elwin Sharvill
1005Misaki X TollnerUnited Kingdom2025-07-28King, Christopher A Esq RENEWAL36Ivan Magalhaes
1006Antonio B MacleadFrance2025-07-14Rangoni Of Florence QUALIFIED26Elwin Sharvill
1007Octavia O WaycottJapan2025-08-09Feiner Bros RENEWAL85Ioni Bowcher
1008Chavez W AlbaresRussia2025-07-18King, Christopher A Esq NEW39Amy Elsner
1009Silvio I PoquetteRussia2025-08-10Buckley Miller Wright QUALIFIED98Elwin Sharvill
1010Aditya W NickaAustralia2025-08-06Rangoni Of Florence UNQUALIFIED60Ioni Bowcher
1011Darci F IturbideFrance2025-07-27Truhlar And Truhlar Attys UNQUALIFIED96Ioni Bowcher
1012Johnson D GlickFrance2025-07-15Feiner Bros NEW9Ioni Bowcher
1013Misaki U WhobreySpain2025-07-17Chapman, Ross E Esq PROPOSAL84Bernardo Dominic
1014Jefferson C TollnerBrazil2025-08-07Feiner Bros QUALIFIED89Anna Fali
1015Jefferson D VenereItaly2025-08-06Chapman, Ross E Esq PROPOSAL75Bernardo Dominic
1016Costa R TollnerIndia2025-08-08King, Christopher A Esq NEGOTIATION47Asiya Javayant
1017Emily M CaldareraArgentina2025-07-15Feiner Bros QUALIFIED89Anna Fali
1018Nicolas N RulapaughRussia2025-07-20Morlong Associates RENEWAL18Bernardo Dominic
1019Stacey F KolmetzCanada2025-07-18Rousseaux, Michael Esq PROPOSAL44Ivan Magalhaes
1020Smith L FlosiFrance2025-08-11Printing Dimensions RENEWAL13Stephen Shaw
1021Silvio M ShinkoCanada2025-07-27Rangoni Of Florence NEGOTIATION93Asiya Javayant
1022Mujtaba T CaudyUnited Kingdom2025-07-29Chanay, Jeffrey A Esq RENEWAL94Elwin Sharvill
1023Mujtaba J StockhamBrazil2025-08-08Commercial Press PROPOSAL62Elwin Sharvill
1024Claire J StockhamIndia2025-07-30Truhlar And Truhlar Attys QUALIFIED26Bernardo Dominic
1025Alejandro A BowleyBrazil2025-08-08Rousseaux, Michael Esq NEW49Ivan Magalhaes
1026Munro Q CaudyJapan2025-07-30Benton, John B Jr UNQUALIFIED80Ivan Magalhaes
1027Silvio U ButtArgentina2025-07-17Buckley Miller Wright UNQUALIFIED36Ioni Bowcher
1028Juan R SlusarskiArgentina2025-08-12Chemel, James L Cpa RENEWAL95Ioni Bowcher
1029Maisha L PaprockiRussia2025-07-19Rousseaux, Michael Esq NEW74Amy Elsner
1030Ivar E FigeroaGermany2025-08-01Buckley Miller Wright RENEWAL80Bernardo Dominic
1031Julie I MacleadAustralia2025-08-10Printing Dimensions UNQUALIFIED37Stephen Shaw
1032Kadeem M DarakjyBrazil2025-07-17Chanay, Jeffrey A Esq NEGOTIATION62Ivan Magalhaes
1033Claire Y ChuiFrance2025-07-15Morlong Associates PROPOSAL72Xuxue Feng
1034Maria M SchemmerCanada2025-07-15Benton, John B Jr NEW88Xuxue Feng
1035Arvin A GlickSpain2025-07-19Benton, John B Jr UNQUALIFIED34Onyama Limba
1036Murillo T WhobreyArgentina2025-07-23Chanay, Jeffrey A Esq PROPOSAL13Asiya Javayant
1037Leon S StensethCanada2025-07-30King, Christopher A Esq QUALIFIED50Stephen Shaw
1038Octavia J IturbideAustralia2025-07-14Feiner Bros QUALIFIED44Asiya Javayant
1039Octavia H AmigonItaly2025-07-17Rangoni Of Florence PROPOSAL33Onyama Limba
1040Adams F FigeroaSpain2025-07-21King, Christopher A Esq UNQUALIFIED67Ioni Bowcher
1041Emily W SchemmerBrazil2025-08-05Morlong Associates UNQUALIFIED53Xuxue Feng
1042Francesco L BowleySpain2025-08-09Rangoni Of Florence UNQUALIFIED55Ivan Magalhaes
1043Clifford N OstroskyGermany2025-07-28Printing Dimensions RENEWAL77Amy Elsner
1044Izzy O StensethAustralia2025-08-04Buckley Miller Wright RENEWAL12Stephen Shaw
1045Mujtaba O MaletJapan2025-08-07King, Christopher A Esq QUALIFIED32Ioni Bowcher
1046Munro C NestleJapan2025-07-15Buckley Miller Wright UNQUALIFIED78Ivan Magalhaes
1047Aruna Q PerinFrance2025-07-14Printing Dimensions NEW6Onyama Limba
1048Costa O WaycottArgentina2025-07-18Chemel, James L Cpa QUALIFIED83Elwin Sharvill
1049Mujtaba R RutaBrazil2025-07-31Chanay, Jeffrey A Esq NEGOTIATION77Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin U SergiAustraliaOnyama Limba PROPOSAL
Silvio N CampainRussiaIvan Magalhaes NEW
Smith P FigeroaAustraliaStephen Shaw PROPOSAL
Mujtaba A InouyeArgentinaAsiya Javayant NEW
Tony N MacleadSpainAsiya Javayant QUALIFIED
Jeanfrancois Q MacleadIndiaStephen Shaw PROPOSAL
Isabel I FigeroaUnited KingdomAnna Fali PROPOSAL
Jennifer Q CampainAustraliaBernardo Dominic QUALIFIED
Kaitlin Q ShinkoSpainBernardo Dominic PROPOSAL
Deepesh I FigeroaIndiaIvan Magalhaes NEW
Jeanfrancois A SergiSpainIvan Magalhaes NEW
Isabel Z GlickAustraliaElwin Sharvill RENEWAL
Isabel S KolmetzRussiaBernardo Dominic NEGOTIATION
Maria P AmigonItalyXuxue Feng NEW
Izzy G GillianFranceBernardo Dominic RENEWAL
Jones Q GauchoArgentinaAnna Fali QUALIFIED
Silvio H KuskoGermanyStephen Shaw PROPOSAL
Jefferson L StensethFranceOnyama Limba RENEWAL
David R GlickIndiaAnna Fali NEW
Salvatore S PaprockiFranceAmy Elsner RENEWAL
Misaki M RulapaughGermanyIvan Magalhaes QUALIFIED
Murillo Y TollnerJapanIvan Magalhaes PROPOSAL
Jeanfrancois G DilliardBrazilElwin Sharvill QUALIFIED
Maria V SergiJapanStephen Shaw UNQUALIFIED
Leja R SergiGermanyXuxue Feng NEGOTIATION
Munro B GillianArgentinaOnyama Limba PROPOSAL
James D CampainRussiaIoni Bowcher PROPOSAL
Octavia E FollerFranceAnna Fali NEW
Juan N PerinFranceOnyama Limba PROPOSAL
Munro P MaletRussiaAnna Fali NEW
Izzy Z DoeAustraliaAnna Fali NEGOTIATION
Chavez X PaprockiSpainAmy Elsner RENEWAL
Leja Z WieserBrazilAmy Elsner PROPOSAL
Murillo O FlosiSpainBernardo Dominic NEGOTIATION
Stacey G DoeBrazilElwin Sharvill PROPOSAL
Misaki F CampainArgentinaAmy Elsner PROPOSAL
Claire F PaprockiJapanBernardo Dominic RENEWAL
Octavia Q CampainCanadaStephen Shaw UNQUALIFIED
Leon N BriddickItalyStephen Shaw QUALIFIED
Stacey U DoeIndiaOnyama Limba RENEWAL
Antonio K InouyeSpainAmy Elsner NEW
Murillo E IturbideJapanIoni Bowcher NEGOTIATION
Stacey S IturbideCanadaStephen Shaw RENEWAL
Ricardo I FollerRussiaIoni Bowcher QUALIFIED
Faith S RoysterRussiaOnyama Limba QUALIFIED
Francesco H AlbaresRussiaStephen Shaw QUALIFIED
Jeanfrancois S BowleyCanadaElwin Sharvill NEW
Smith L ShinkoAustraliaStephen Shaw PROPOSAL
Francesco P GauchoSpainAnna Fali QUALIFIED
Wickens S MacleadArgentinaAmy Elsner QUALIFIED
Frozen Columns
Name
Kaitlin E Marrier
Mujtaba O Rulapaugh
Murillo H Maclead
Costa K Nestle
Jennifer C Kolmetz
Octavia H Tollner
Octavia L Rulapaugh
Jennifer W Paprocki
Adams M Glick
Johnson V Royster
Clifford C Flosi
Aika N Caudy
Aditya M Gillian
Adams K Garufi
Smith N Amigon
James B Tollner
Ricardo C Caudy
Claire J Malet
Kaitlin T Albares
Aditya T Campain
Claire C Oldroyd
Isabel V Bowley
Jefferson F Chui
Maisha G Tollner
Izzy N Chui
Aditya V Paprocki
Jefferson B Bowley
Nicolas V Ostrosky
David J Shinko
Maisha Q Rim
Emily D Saylors
Mujtaba N Poquette
Julie Z Gillian
Jennifer T Doe
Faith D Venere
Murillo X Albares
David R Oldroyd
Leon R Campain
Jennifer W Stockham
James J Stockham
Alejandro V Oldroyd
Salvatore O Marrier
Ivar P Whobrey
Misaki U Dilliard
Morrow R Paprocki
Juan V Ruta
Leon M Nestle
Emily X Bowley
Sinclair X Caldarera
Kadeem D Rulapaugh
IdCountryDate
1000United Kingdom2025-07-30
1001Australia2025-07-15
1002Australia2025-07-30
1003Italy2025-08-04
1004Canada2025-07-25
1005India2025-08-06
1006Brazil2025-08-09
1007Italy2025-08-03
1008Japan2025-07-24
1009Brazil2025-07-16
1010Russia2025-07-17
1011Italy2025-08-08
1012Italy2025-07-28
1013Japan2025-07-29
1014Argentina2025-07-22
1015France2025-07-16
1016Japan2025-07-16
1017Canada2025-07-29
1018Russia2025-08-12
1019Italy2025-07-27
1020Russia2025-08-05
1021Japan2025-08-07
1022United Kingdom2025-07-17
1023India2025-07-27
1024Canada2025-08-12
1025India2025-08-06
1026Italy2025-07-24
1027Russia2025-08-04
1028Canada2025-07-30
1029Brazil2025-07-16
1030Argentina2025-08-03
1031Australia2025-08-11
1032Australia2025-07-20
1033Russia2025-07-25
1034Brazil2025-08-02
1035Brazil2025-07-18
1036France2025-08-05
1037Australia2025-07-16
1038Russia2025-08-03
1039Japan2025-07-29
1040Canada2025-08-04
1041Italy2025-07-19
1042Australia2025-07-29
1043Russia2025-07-26
1044United Kingdom2025-08-06
1045India2025-07-27
1046India2025-07-29
1047Brazil2025-08-04
1048Canada2025-07-14
1049Japan2025-08-11

On-Demand Data

NameIdCountryDate
Cody B Ostrosky1000India2025-07-27
Smith Z Rim1001India2025-07-26
Misaki R Vocelka1002Spain2025-08-09
Arvin I Ruta1003Canada2025-08-05
Aruna N Iturbide1004Argentina2025-07-19
Jennifer P Schemmer1005Argentina2025-08-05
Mujtaba I Sergi1006India2025-08-08
Sinclair D Butt1007France2025-07-23
Deepesh K Tollner1008India2025-07-30
Emily S Briddick1009Australia2025-07-30
Chavez K Gaucho1010Canada2025-07-26
Deepesh M Dilliard1011Australia2025-07-16
Mujtaba O Nicka1012Argentina2025-07-22
Ricardo S Perin1013Italy2025-07-21
Francesco R Oldroyd1014Italy2025-07-31
Maisha O Campain1015France2025-07-24
Greenwood K Poquette1016Australia2025-07-19
Clifford A Stockham1017Argentina2025-07-15
Jefferson F Oldroyd1018Australia2025-07-30
James Y Ruta1019Germany2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford B OstroskyRussiaStephen Shaw RENEWAL
Aditya A CampainUnited KingdomAmy Elsner PROPOSAL
Julie O MacleadBrazilIoni Bowcher NEGOTIATION
Salvatore W MacleadGermanyBernardo Dominic NEGOTIATION
Clifford A FlosiFranceAnna Fali NEGOTIATION
Claire A CaudyAustraliaIvan Magalhaes RENEWAL
Rodrigues O CaudyGermanyIoni Bowcher QUALIFIED
Mujtaba J FigeroaSpainXuxue Feng NEW
Misaki R OldroydBrazilBernardo Dominic RENEWAL
Antonio O ButtCanadaAnna Fali NEGOTIATION
Claire V GillianBrazilXuxue Feng PROPOSAL
Mujtaba E StockhamIndiaBernardo Dominic QUALIFIED
Ivar R IturbideItalyAsiya Javayant UNQUALIFIED
Wickens E RulapaughUnited KingdomXuxue Feng NEGOTIATION
Aditya H FlosiItalyAnna Fali QUALIFIED
Clifford S StensethAustraliaStephen Shaw QUALIFIED
Maria P RimJapanIoni Bowcher UNQUALIFIED
Sinclair Y GarufiGermanyXuxue Feng NEGOTIATION
Ivar K ChuiRussiaOnyama Limba QUALIFIED
Aditya P NickaArgentinaOnyama Limba PROPOSAL
Costa T BowleyAustraliaBernardo Dominic RENEWAL
Maria J BowleyItalyAsiya Javayant NEGOTIATION
Ricardo T FollerJapanIoni Bowcher PROPOSAL
Ashley Z MaletUnited KingdomIvan Magalhaes QUALIFIED
Munro X MacleadJapanBernardo Dominic PROPOSAL
Nicolas B FerenczItalyXuxue Feng QUALIFIED
Ricardo M MorascaAustraliaAmy Elsner NEGOTIATION
Juan R DilliardIndiaStephen Shaw RENEWAL
Julie I FollerCanadaIvan Magalhaes NEW
Misaki B NickaJapanOnyama Limba NEGOTIATION
Nicolas Z MacleadUnited KingdomStephen Shaw NEW
Jones P SchemmerSpainXuxue Feng RENEWAL
Faith Y GlickCanadaAsiya Javayant PROPOSAL
Jones M StockhamSpainIvan Magalhaes NEW
Jefferson A CampainFranceOnyama Limba RENEWAL
Misaki X VocelkaBrazilAmy Elsner NEW
Maisha M RimIndiaElwin Sharvill NEW
Maisha X MorascaFranceStephen Shaw NEW
Clifford U FlosiRussiaElwin Sharvill PROPOSAL
Kadeem E StensethGermanyOnyama Limba 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>