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

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

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 K RulapaughSpainAsiya Javayant RENEWAL
Julie I InouyeCanadaElwin Sharvill UNQUALIFIED
Salvatore B KuskoUnited KingdomElwin Sharvill NEGOTIATION
Salvatore I RulapaughSpainAsiya Javayant PROPOSAL
Maria P BologniaRussiaAmy Elsner RENEWAL
Ivar G BowleyUnited KingdomAsiya Javayant RENEWAL
Nicolas O VenereBrazilElwin Sharvill NEW
Emily D PaprockiFranceAmy Elsner NEW
Aika A GlickFranceAmy Elsner NEW
Maria O FigeroaUnited KingdomElwin Sharvill QUALIFIED
Ricardo S SergiAustraliaIoni Bowcher NEGOTIATION
Izzy Q TollnerArgentinaOnyama Limba PROPOSAL
Alejandro T MarrierUnited KingdomOnyama Limba PROPOSAL
Aditya X GillianItalyIvan Magalhaes UNQUALIFIED
Ivar S MacleadFranceBernardo Dominic RENEWAL
Jefferson G CaldareraIndiaAsiya Javayant RENEWAL
Adams P MaletAustraliaAnna Fali UNQUALIFIED
Ivar E WhobreyArgentinaStephen Shaw UNQUALIFIED
Murillo Z PoquetteItalyElwin Sharvill NEW
Jeanfrancois G CampainUnited KingdomAnna Fali PROPOSAL
Rodrigues R DoeCanadaAnna Fali NEGOTIATION
Salvatore D AmigonAustraliaAmy Elsner UNQUALIFIED
Greenwood B GillianGermanyOnyama Limba UNQUALIFIED
Francesco C WaycottRussiaElwin Sharvill NEW
Sinclair F PerinUnited KingdomAnna Fali NEW
Leon K SchemmerItalyIvan Magalhaes QUALIFIED
Greenwood I InouyeJapanAmy Elsner NEGOTIATION
Clifford U FlosiFranceIoni Bowcher QUALIFIED
Emily R ButtAustraliaElwin Sharvill RENEWAL
Munro F SlusarskiSpainOnyama Limba NEW
Kaitlin K DarakjyRussiaBernardo Dominic QUALIFIED
Morrow Q OldroydUnited KingdomOnyama Limba UNQUALIFIED
Greenwood F OstroskyRussiaAnna Fali PROPOSAL
Misaki A FerenczUnited KingdomBernardo Dominic PROPOSAL
Faith Y BriddickIndiaOnyama Limba RENEWAL
Julie Z RutaArgentinaIvan Magalhaes NEGOTIATION
Jennifer F OstroskyFranceOnyama Limba RENEWAL
Clifford C FlosiBrazilAnna Fali RENEWAL
Octavia Q WaycottIndiaIoni Bowcher NEW
Rodrigues F RutaFranceAmy Elsner UNQUALIFIED
Maria I FollerIndiaAnna Fali NEW
Ivar R MaletArgentinaAnna Fali UNQUALIFIED
Jennifer B WieserArgentinaAsiya Javayant QUALIFIED
Isabel N MacleadUnited KingdomElwin Sharvill QUALIFIED
Faith X SlusarskiUnited KingdomAnna Fali PROPOSAL
Izzy N RoysterCanadaIvan Magalhaes UNQUALIFIED
Morrow R ChuiFranceIoni Bowcher RENEWAL
Murillo D RimUnited KingdomStephen Shaw RENEWAL
Jeanfrancois C InouyeUnited KingdomOnyama Limba NEW
Kaitlin N RulapaughArgentinaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez P GarufiItalyStephen Shaw NEGOTIATION
Costa P PoquetteFranceXuxue Feng NEGOTIATION
Misaki X RulapaughIndiaStephen Shaw PROPOSAL
Ivar P DilliardJapanIvan Magalhaes UNQUALIFIED
Cody X BologniaFranceXuxue Feng UNQUALIFIED
Antonio R BriddickSpainElwin Sharvill PROPOSAL
Jones B DilliardArgentinaStephen Shaw PROPOSAL
Morrow L SlusarskiGermanyAsiya Javayant QUALIFIED
Julie I PoquetteArgentinaElwin Sharvill UNQUALIFIED
Octavia L FollerArgentinaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia W StensethAustralia2025-06-06Printing Dimensions NEGOTIATION4Stephen Shaw
1001Deepesh E ShinkoBrazil2025-05-22Feiner Bros PROPOSAL17Anna Fali
1002Kadeem E OldroydUnited Kingdom2025-06-03King, Christopher A Esq NEW52Amy Elsner
1003Ashley J DilliardGermany2025-05-31King, Christopher A Esq NEW69Onyama Limba
1004Emily W NestleAustralia2025-06-12Chanay, Jeffrey A Esq PROPOSAL28Amy Elsner
1005Sinclair O FollerGermany2025-06-09Printing Dimensions RENEWAL88Bernardo Dominic
1006Chavez J SlusarskiJapan2025-05-22Rousseaux, Michael Esq PROPOSAL87Bernardo Dominic
1007Darci A OstroskyCanada2025-05-25King, Christopher A Esq NEGOTIATION84Ivan Magalhaes
1008Maria J VocelkaJapan2025-06-04Morlong Associates QUALIFIED98Amy Elsner
1009Kadeem N GauchoGermany2025-05-30Morlong Associates QUALIFIED40Xuxue Feng
1010Deepesh I StockhamUnited Kingdom2025-05-18Dorl, James J Esq RENEWAL1Ioni Bowcher
1011Aika L DilliardSpain2025-06-14Benton, John B Jr RENEWAL3Xuxue Feng
1012Jones G DarakjyBrazil2025-06-13Chapman, Ross E Esq UNQUALIFIED10Stephen Shaw
1013Aruna R WieserUnited Kingdom2025-06-14Feltz Printing Service QUALIFIED33Anna Fali
1014Tony L WhobreySpain2025-05-29Chapman, Ross E Esq PROPOSAL19Xuxue Feng
1015Greenwood Z GillianRussia2025-05-18Chapman, Ross E Esq NEGOTIATION89Asiya Javayant
1016Leon K SaylorsRussia2025-05-19Printing Dimensions UNQUALIFIED29Stephen Shaw
1017Morrow D WaycottJapan2025-05-20King, Christopher A Esq QUALIFIED88Ivan Magalhaes
1018Rodrigues K InouyeBrazil2025-05-25Feltz Printing Service NEGOTIATION56Xuxue Feng
1019Faith A PerinBrazil2025-06-12Commercial Press UNQUALIFIED30Xuxue Feng
1020David W MorascaUnited Kingdom2025-05-26Commercial Press NEW99Stephen Shaw
1021Isabel R SergiUnited Kingdom2025-05-20Printing Dimensions UNQUALIFIED16Ioni Bowcher
1022Mujtaba L CampainItaly2025-05-28Buckley Miller Wright QUALIFIED43Ivan Magalhaes
1023Cody M SlusarskiCanada2025-06-09Morlong Associates PROPOSAL37Elwin Sharvill
1024Costa L NickaItaly2025-06-15Chapman, Ross E Esq RENEWAL75Xuxue Feng
1025Isabel T PoquetteUnited Kingdom2025-06-07Chapman, Ross E Esq NEGOTIATION93Stephen Shaw
1026Juan M GillianSpain2025-06-15Feiner Bros QUALIFIED27Ivan Magalhaes
1027Sinclair C RulapaughRussia2025-06-16Buckley Miller Wright NEW98Amy Elsner
1028Greenwood M SaylorsFrance2025-06-06Truhlar And Truhlar Attys NEW45Stephen Shaw
1029Adams C BowleyBrazil2025-06-03Rangoni Of Florence NEGOTIATION78Stephen Shaw
1030Faith A PerinJapan2025-06-14Chanay, Jeffrey A Esq RENEWAL22Anna Fali
1031Deepesh I OldroydAustralia2025-06-07Printing Dimensions PROPOSAL8Amy Elsner
1032Rodrigues O MacleadGermany2025-06-12King, Christopher A Esq QUALIFIED67Onyama Limba
1033Stacey S MaletItaly2025-05-19Feltz Printing Service NEGOTIATION14Anna Fali
1034Jones F WhobreyAustralia2025-06-15Rousseaux, Michael Esq RENEWAL47Amy Elsner
1035Kaitlin H VenereFrance2025-06-13Feltz Printing Service PROPOSAL13Onyama Limba
1036Aditya P MorascaItaly2025-06-09Dorl, James J Esq PROPOSAL48Elwin Sharvill
1037Emily T GarufiCanada2025-05-29Chanay, Jeffrey A Esq QUALIFIED65Ioni Bowcher
1038Leon S KuskoAustralia2025-06-01Commercial Press NEW78Xuxue Feng
1039Jones Q SlusarskiUnited Kingdom2025-06-02Printing Dimensions NEW88Amy Elsner
1040Johnson W DarakjyAustralia2025-06-03Chapman, Ross E Esq UNQUALIFIED8Bernardo Dominic
1041Ricardo D GillianBrazil2025-06-06Chemel, James L Cpa QUALIFIED96Ioni Bowcher
1042Francesco Y DarakjyBrazil2025-06-14Dorl, James J Esq NEW72Bernardo Dominic
1043Kaitlin K GillianItaly2025-05-25King, Christopher A Esq UNQUALIFIED86Asiya Javayant
1044Greenwood Q AmigonSpain2025-06-08Commercial Press UNQUALIFIED57Ivan Magalhaes
1045Cody V InouyeSpain2025-06-10Buckley Miller Wright RENEWAL21Bernardo Dominic
1046Tony K DarakjyFrance2025-06-11Morlong Associates NEW93Amy Elsner
1047Octavia F SergiJapan2025-05-25Chapman, Ross E Esq NEW8Onyama Limba
1048Julie L MaletIndia2025-05-24Benton, John B Jr UNQUALIFIED24Amy Elsner
1049Jennifer D TollnerCanada2025-06-06Chanay, Jeffrey A Esq QUALIFIED63Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore Z AlbaresGermanyElwin Sharvill RENEWAL
Jennifer S RoysterIndiaIoni Bowcher PROPOSAL
Ivar Q GarufiItalyIvan Magalhaes NEW
Isabel C GarufiItalyBernardo Dominic NEW
Emily Q KuskoBrazilIvan Magalhaes UNQUALIFIED
Nicolas I RoysterAustraliaAsiya Javayant UNQUALIFIED
Morrow N RutaJapanBernardo Dominic NEW
Darci S OstroskyRussiaAsiya Javayant RENEWAL
Jeanfrancois X FlosiIndiaAnna Fali NEW
Adams F PerinJapanBernardo Dominic RENEWAL
Octavia P BowleyArgentinaAnna Fali PROPOSAL
Smith I DilliardAustraliaAnna Fali QUALIFIED
Silvio R NestleGermanyXuxue Feng NEW
Octavia Z DarakjyCanadaAmy Elsner NEGOTIATION
Aditya F MacleadUnited KingdomElwin Sharvill NEGOTIATION
Cody G RulapaughCanadaIvan Magalhaes PROPOSAL
Mujtaba Y FlosiSpainXuxue Feng NEGOTIATION
Munro X RimJapanElwin Sharvill QUALIFIED
Kadeem U RoysterUnited KingdomAmy Elsner QUALIFIED
Misaki D GlickArgentinaAsiya Javayant QUALIFIED
Deepesh F SchemmerCanadaXuxue Feng NEGOTIATION
Jones R WieserUnited KingdomStephen Shaw NEGOTIATION
Leon K FigeroaCanadaIvan Magalhaes RENEWAL
Juan Q VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Izzy F GillianGermanyAnna Fali NEGOTIATION
Faith V CampainArgentinaAsiya Javayant RENEWAL
Kadeem B MaletArgentinaElwin Sharvill RENEWAL
Mayumi T ShinkoCanadaAsiya Javayant QUALIFIED
Wickens Q MorascaArgentinaAnna Fali QUALIFIED
Jeanfrancois I BriddickAustraliaOnyama Limba NEW
Sinclair V ShinkoRussiaIoni Bowcher QUALIFIED
Jennifer O StockhamItalyAmy Elsner UNQUALIFIED
Arvin M MaletUnited KingdomBernardo Dominic PROPOSAL
James D RulapaughCanadaAsiya Javayant NEGOTIATION
Johnson Y ChuiItalyAsiya Javayant PROPOSAL
Munro R WieserJapanAmy Elsner PROPOSAL
Julie W WaycottFranceBernardo Dominic NEW
Aruna R AmigonArgentinaXuxue Feng RENEWAL
Aika A DarakjyCanadaIoni Bowcher NEW
Mujtaba W StensethArgentinaElwin Sharvill NEW
Mujtaba J DarakjyGermanyOnyama Limba NEGOTIATION
Wickens S MarrierBrazilStephen Shaw UNQUALIFIED
Octavia S RutaGermanyAnna Fali NEW
David R RulapaughCanadaStephen Shaw NEW
Emily L NestleFranceElwin Sharvill UNQUALIFIED
Maria G ShinkoIndiaElwin Sharvill RENEWAL
Ashley W StensethCanadaAmy Elsner PROPOSAL
Izzy S VenereIndiaAnna Fali QUALIFIED
Adams M WaycottArgentinaXuxue Feng PROPOSAL
Darci P AlbaresIndiaAmy Elsner QUALIFIED
Frozen Columns
Name
Munro E Flosi
Juan A Bolognia
Jones S Inouye
Smith L Flosi
Leon V Inouye
Rodrigues Y Figeroa
Aruna V Bolognia
Emily Y Tollner
Maisha V Vocelka
Isabel B Doe
Arvin P Foller
Adams S Kusko
Mujtaba H Slusarski
Darci A Waycott
Ivar R Gaucho
Rodrigues J Royster
Kadeem L Kolmetz
Octavia E Kusko
Kaitlin A Vocelka
Darci D Maclead
Greenwood H Ostrosky
Mujtaba A Stenseth
Smith J Stockham
Wickens V Marrier
Jones C Schemmer
Maria Q Shinko
Munro T Vocelka
Silvio K Chui
Johnson U Sergi
Juan N Ostrosky
Morrow S Figeroa
Adams N Caldarera
Rodrigues Z Waycott
Cody O Butt
Salvatore E Figeroa
Adams H Glick
Rodrigues Z Figeroa
Arvin W Malet
Juan K Doe
Ashley C Garufi
Ivar R Amigon
Jeanfrancois B Caldarera
Darci S Figeroa
Emily W Dilliard
Aika M Poquette
Costa E Vocelka
Darci O Iturbide
Kaitlin E Vocelka
Francesco Y Vocelka
Isabel I Darakjy
IdCountryDate
1000Argentina2025-06-15
1001Canada2025-05-19
1002France2025-06-14
1003France2025-06-14
1004United Kingdom2025-05-29
1005Russia2025-05-24
1006Japan2025-06-03
1007Brazil2025-06-10
1008Germany2025-05-27
1009Canada2025-05-19
1010France2025-05-28
1011Germany2025-06-11
1012Australia2025-06-02
1013Germany2025-06-10
1014Brazil2025-05-26
1015Italy2025-05-22
1016Italy2025-06-07
1017Germany2025-05-20
1018Germany2025-05-24
1019India2025-06-04
1020Brazil2025-05-18
1021France2025-06-08
1022Italy2025-05-25
1023Russia2025-05-20
1024India2025-05-19
1025India2025-05-25
1026Russia2025-06-07
1027Germany2025-05-23
1028United Kingdom2025-05-24
1029Germany2025-05-31
1030United Kingdom2025-06-07
1031Italy2025-05-25
1032Spain2025-05-31
1033India2025-05-25
1034France2025-05-18
1035Canada2025-06-15
1036Canada2025-05-26
1037Australia2025-06-07
1038Australia2025-05-20
1039Canada2025-06-13
1040Brazil2025-05-29
1041Canada2025-06-06
1042Spain2025-06-13
1043Germany2025-06-08
1044Canada2025-06-15
1045India2025-05-19
1046Brazil2025-05-20
1047Russia2025-06-01
1048Canada2025-05-28
1049Germany2025-06-06

On-Demand Data

NameIdCountryDate
Jeanfrancois U Poquette1000Spain2025-06-04
Deepesh M Stockham1001Argentina2025-06-05
Salvatore J Waycott1002Canada2025-06-12
Mujtaba F Royster1003Spain2025-05-26
Morrow X Waycott1004Spain2025-06-07
Jefferson D Butt1005Russia2025-05-21
Aika E Figeroa1006United Kingdom2025-05-23
Kadeem M Venere1007Brazil2025-05-19
Jeanfrancois J Whobrey1008United Kingdom2025-05-24
Faith H Malet1009Canada2025-06-13
Salvatore X Flosi1010Germany2025-06-13
Jones O Briddick1011Canada2025-05-20
Arvin Q Tollner1012Australia2025-05-31
Darci N Flosi1013India2025-05-30
Faith B Butt1014Brazil2025-06-14
Aruna H Oldroyd1015Brazil2025-06-13
Greenwood S Malet1016Japan2025-05-18
Murillo Y Amigon1017United Kingdom2025-05-18
Leon P Tollner1018United Kingdom2025-05-29
Faith H Doe1019Brazil2025-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy X NestleItalyOnyama Limba NEGOTIATION
Juan D OstroskySpainOnyama Limba PROPOSAL
Munro U WhobreyItalyElwin Sharvill NEW
Darci G GarufiArgentinaAsiya Javayant NEW
Morrow I SergiUnited KingdomXuxue Feng UNQUALIFIED
Maisha U AlbaresUnited KingdomAnna Fali QUALIFIED
Claire K SlusarskiRussiaAmy Elsner NEGOTIATION
Silvio N FerenczGermanyIvan Magalhaes RENEWAL
Antonio R BowleySpainAmy Elsner UNQUALIFIED
Claire Y AmigonFranceBernardo Dominic UNQUALIFIED
Chavez X SchemmerGermanyElwin Sharvill UNQUALIFIED
Cody O GlickAustraliaXuxue Feng NEW
Jones Q GarufiSpainIoni Bowcher NEGOTIATION
Wickens R PaprockiBrazilOnyama Limba NEGOTIATION
Aditya F KolmetzGermanyAsiya Javayant QUALIFIED
Kadeem X SaylorsFranceXuxue Feng UNQUALIFIED
Faith O FerenczRussiaBernardo Dominic UNQUALIFIED
Stacey F SaylorsBrazilAsiya Javayant RENEWAL
Tony Q CaudyCanadaElwin Sharvill RENEWAL
Misaki U FollerIndiaAmy Elsner QUALIFIED
Salvatore Q BowleyBrazilElwin Sharvill RENEWAL
Leon R WaycottSpainIoni Bowcher NEW
David K OstroskyArgentinaXuxue Feng QUALIFIED
Arvin A StockhamJapanXuxue Feng NEW
Adams O BologniaAustraliaIoni Bowcher NEW
Tony K NickaCanadaAsiya Javayant PROPOSAL
Jones S ChuiAustraliaXuxue Feng NEW
Julie V BowleyIndiaAmy Elsner QUALIFIED
Aika G TollnerIndiaBernardo Dominic NEW
Aruna B TollnerFranceBernardo Dominic RENEWAL
Jones W BologniaIndiaBernardo Dominic PROPOSAL
Kadeem O SlusarskiRussiaAsiya Javayant NEW
Claire E MorascaSpainBernardo Dominic RENEWAL
Francesco L KolmetzFranceAsiya Javayant NEGOTIATION
Antonio K WaycottUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues L StensethRussiaAsiya Javayant RENEWAL
Julie T BologniaIndiaAnna Fali NEW
Ricardo R VenereIndiaAmy Elsner NEGOTIATION
Ricardo D IturbideArgentinaAnna Fali RENEWAL
Aditya T KuskoArgentinaIvan Magalhaes PROPOSAL

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