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
Munro K GillianArgentinaAnna Fali NEGOTIATION
Ricardo Q AmigonGermanyBernardo Dominic NEW
Faith B OldroydCanadaXuxue Feng RENEWAL
Francesco A FollerGermanyOnyama Limba RENEWAL
Octavia I FigeroaRussiaElwin Sharvill UNQUALIFIED
Jefferson N VenereJapanStephen Shaw QUALIFIED
Leon J BowleyIndiaElwin Sharvill QUALIFIED
Isabel B MaletIndiaIvan Magalhaes PROPOSAL
Sinclair T StockhamCanadaOnyama Limba NEW
David C PoquetteAustraliaIoni Bowcher QUALIFIED
Munro L SlusarskiSpainIoni Bowcher UNQUALIFIED
Octavia G NickaSpainOnyama Limba UNQUALIFIED
Rodrigues V DarakjyCanadaXuxue Feng NEW
Smith W SergiSpainAsiya Javayant NEW
Stacey R PoquetteSpainAsiya Javayant PROPOSAL
Rodrigues F StensethArgentinaIoni Bowcher QUALIFIED
David O OldroydRussiaAmy Elsner PROPOSAL
Johnson Q AlbaresItalyAmy Elsner RENEWAL
Cody K KuskoBrazilXuxue Feng QUALIFIED
Greenwood A NickaSpainXuxue Feng RENEWAL
Isabel E MorascaRussiaAsiya Javayant UNQUALIFIED
Mayumi B WaycottCanadaStephen Shaw QUALIFIED
Nicolas Q FlosiJapanOnyama Limba QUALIFIED
Salvatore C GarufiBrazilIoni Bowcher RENEWAL
Salvatore J GillianBrazilElwin Sharvill RENEWAL
Aika C ShinkoRussiaIoni Bowcher NEW
Cody L CaldareraGermanyElwin Sharvill NEW
Tony N FigeroaSpainIvan Magalhaes PROPOSAL
Kadeem D FerenczRussiaStephen Shaw QUALIFIED
Costa D StockhamAustraliaElwin Sharvill UNQUALIFIED
Costa B RulapaughJapanBernardo Dominic PROPOSAL
Clifford L ButtFranceBernardo Dominic QUALIFIED
Adams W PoquetteAustraliaXuxue Feng PROPOSAL
Mujtaba M ButtRussiaAmy Elsner NEGOTIATION
Adams B WieserRussiaOnyama Limba UNQUALIFIED
James M WieserAustraliaIoni Bowcher QUALIFIED
Arvin Y SergiBrazilBernardo Dominic QUALIFIED
Leon S FigeroaBrazilAsiya Javayant QUALIFIED
Johnson W PoquetteCanadaElwin Sharvill PROPOSAL
Costa D FollerItalyAsiya Javayant QUALIFIED
Clifford U RulapaughArgentinaAmy Elsner UNQUALIFIED
Cody Q KolmetzAustraliaIoni Bowcher UNQUALIFIED
Emily Z SchemmerJapanBernardo Dominic PROPOSAL
Kadeem B SergiAustraliaXuxue Feng NEGOTIATION
Darci A VenereAustraliaXuxue Feng NEW
Mujtaba J GillianFranceIoni Bowcher QUALIFIED
Aruna C RimItalyAnna Fali NEGOTIATION
Jefferson N GillianIndiaStephen Shaw NEW
Munro B DilliardAustraliaAnna Fali RENEWAL
Stacey J BologniaSpainIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford D WhobreySpainAnna Fali NEW
Tony R MorascaCanadaElwin Sharvill QUALIFIED
Jennifer O MarrierIndiaIoni Bowcher UNQUALIFIED
Tony T FollerRussiaElwin Sharvill RENEWAL
Ashley M MaletItalyIvan Magalhaes NEW
David Q DilliardJapanIvan Magalhaes NEW
Sinclair A CampainFranceBernardo Dominic UNQUALIFIED
Morrow M RimJapanXuxue Feng UNQUALIFIED
Morrow O WaycottRussiaStephen Shaw RENEWAL
Julie H OldroydArgentinaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Z NickaUnited Kingdom2024-09-14Chapman, Ross E Esq RENEWAL40Bernardo Dominic
1001Munro U WieserItaly2024-09-25Buckley Miller Wright NEGOTIATION93Ioni Bowcher
1002Maria R AlbaresJapan2024-08-27Chapman, Ross E Esq NEGOTIATION58Bernardo Dominic
1003Murillo I SchemmerSpain2024-08-28King, Christopher A Esq UNQUALIFIED89Xuxue Feng
1004Deepesh Z AmigonJapan2024-09-20Rangoni Of Florence NEW48Ivan Magalhaes
1005Greenwood U GauchoJapan2024-09-17Printing Dimensions NEW74Ioni Bowcher
1006Alejandro S SlusarskiAustralia2024-09-12Dorl, James J Esq PROPOSAL66Asiya Javayant
1007Johnson D ChuiJapan2024-09-18Printing Dimensions RENEWAL22Ioni Bowcher
1008Jefferson Z AlbaresItaly2024-09-10Morlong Associates QUALIFIED0Ivan Magalhaes
1009Aika M DilliardBrazil2024-09-19Feltz Printing Service PROPOSAL40Elwin Sharvill
1010Alejandro T SlusarskiItaly2024-08-27Rousseaux, Michael Esq QUALIFIED83Ioni Bowcher
1011Izzy D ShinkoBrazil2024-09-13Buckley Miller Wright NEW24Elwin Sharvill
1012Greenwood N FigeroaCanada2024-08-28Chanay, Jeffrey A Esq NEGOTIATION71Ioni Bowcher
1013Jefferson Z TollnerSpain2024-09-18Morlong Associates NEW85Anna Fali
1014Deepesh C PoquetteAustralia2024-08-29Rousseaux, Michael Esq PROPOSAL19Elwin Sharvill
1015Clifford Y PerinCanada2024-08-28Commercial Press UNQUALIFIED95Asiya Javayant
1016Johnson R AlbaresUnited Kingdom2024-08-28Benton, John B Jr NEGOTIATION78Bernardo Dominic
1017Octavia N GarufiArgentina2024-08-30Buckley Miller Wright NEW87Elwin Sharvill
1018Murillo S RutaUnited Kingdom2024-09-09Chapman, Ross E Esq RENEWAL78Elwin Sharvill
1019Aruna D ButtGermany2024-09-03Commercial Press NEW65Xuxue Feng
1020Alejandro K BriddickCanada2024-09-15Printing Dimensions NEGOTIATION97Stephen Shaw
1021Antonio Q ShinkoItaly2024-09-24Buckley Miller Wright NEGOTIATION74Stephen Shaw
1022Morrow P SlusarskiSpain2024-08-29Feiner Bros PROPOSAL36Ioni Bowcher
1023Ricardo E GauchoItaly2024-09-23Feltz Printing Service NEGOTIATION46Bernardo Dominic
1024Jeanfrancois Q CaldareraBrazil2024-09-08Chanay, Jeffrey A Esq QUALIFIED24Anna Fali
1025Leon V PaprockiSpain2024-09-24Benton, John B Jr NEGOTIATION31Amy Elsner
1026Octavia F StockhamBrazil2024-09-07Rousseaux, Michael Esq PROPOSAL35Onyama Limba
1027Cody S FerenczUnited Kingdom2024-09-15Benton, John B Jr PROPOSAL53Ivan Magalhaes
1028Sinclair J MaletCanada2024-08-28Rousseaux, Michael Esq UNQUALIFIED99Ivan Magalhaes
1029Johnson P GauchoIndia2024-09-14Dorl, James J Esq NEW15Elwin Sharvill
1030Salvatore F CaldareraGermany2024-08-30Morlong Associates QUALIFIED16Elwin Sharvill
1031Stacey I TollnerFrance2024-09-06Rousseaux, Michael Esq UNQUALIFIED42Stephen Shaw
1032Juan E CaldareraCanada2024-09-13Feiner Bros RENEWAL79Anna Fali
1033Cody A CampainFrance2024-09-12Chanay, Jeffrey A Esq NEGOTIATION70Amy Elsner
1034Claire K WhobreyBrazil2024-09-04Commercial Press RENEWAL19Ioni Bowcher
1035Ashley S NestleAustralia2024-09-24Morlong Associates UNQUALIFIED23Stephen Shaw
1036Claire G ShinkoJapan2024-09-25Rangoni Of Florence NEGOTIATION25Elwin Sharvill
1037Costa Z GlickSpain2024-08-29Commercial Press NEGOTIATION16Elwin Sharvill
1038Morrow M SergiJapan2024-09-01Feltz Printing Service QUALIFIED96Ioni Bowcher
1039Cody E PerinSpain2024-09-10Dorl, James J Esq QUALIFIED81Anna Fali
1040James M VenereSpain2024-09-02Chapman, Ross E Esq QUALIFIED38Asiya Javayant
1041Juan X ShinkoBrazil2024-09-12Buckley Miller Wright NEGOTIATION82Asiya Javayant
1042Greenwood Y NestleIndia2024-09-01Feiner Bros RENEWAL4Amy Elsner
1043Maria H CampainJapan2024-09-18Commercial Press NEGOTIATION39Amy Elsner
1044Claire K OstroskyBrazil2024-09-19Truhlar And Truhlar Attys QUALIFIED15Amy Elsner
1045Francesco R WhobreyFrance2024-08-27Rangoni Of Florence UNQUALIFIED50Xuxue Feng
1046Aika J DilliardJapan2024-09-23Rousseaux, Michael Esq RENEWAL85Stephen Shaw
1047Salvatore L TollnerCanada2024-08-29Chemel, James L Cpa PROPOSAL49Bernardo Dominic
1048David L SchemmerItaly2024-09-07Chapman, Ross E Esq RENEWAL93Asiya Javayant
1049Ricardo W ButtFrance2024-09-13Feiner Bros RENEWAL68Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba Z BologniaArgentinaElwin Sharvill QUALIFIED
Arvin R StockhamSpainBernardo Dominic NEGOTIATION
Jennifer G InouyeBrazilAnna Fali NEGOTIATION
Tony F StockhamCanadaAmy Elsner UNQUALIFIED
Juan U WaycottCanadaStephen Shaw RENEWAL
Izzy W AlbaresItalyElwin Sharvill NEGOTIATION
Nicolas P MorascaItalyBernardo Dominic PROPOSAL
James L WieserItalyAnna Fali QUALIFIED
Juan V FollerIndiaOnyama Limba UNQUALIFIED
Smith G OldroydIndiaStephen Shaw RENEWAL
Nicolas I SaylorsGermanyAsiya Javayant NEGOTIATION
Jefferson F DilliardSpainIoni Bowcher NEGOTIATION
Jefferson W NickaGermanyIoni Bowcher UNQUALIFIED
Kaitlin I KolmetzJapanElwin Sharvill NEGOTIATION
Aika U TollnerRussiaAnna Fali RENEWAL
Sinclair N PaprockiJapanStephen Shaw NEW
Jennifer X InouyeJapanIoni Bowcher QUALIFIED
Sinclair L KuskoUnited KingdomElwin Sharvill NEGOTIATION
Jones B FigeroaFranceAmy Elsner NEGOTIATION
Jones B GauchoRussiaIvan Magalhaes QUALIFIED
Costa O GlickAustraliaBernardo Dominic NEGOTIATION
Wickens B WhobreyItalyOnyama Limba NEGOTIATION
Julie G BriddickArgentinaIoni Bowcher PROPOSAL
Cody K GarufiUnited KingdomBernardo Dominic QUALIFIED
Darci A CaudyIndiaAsiya Javayant PROPOSAL
Jeanfrancois N SchemmerFranceXuxue Feng PROPOSAL
Johnson S MacleadGermanyStephen Shaw NEW
Wickens F PerinArgentinaXuxue Feng NEW
Ricardo G FigeroaRussiaBernardo Dominic NEGOTIATION
Aika P StensethItalyAsiya Javayant NEGOTIATION
Aditya J FlosiUnited KingdomOnyama Limba QUALIFIED
Nicolas U DoeGermanyIoni Bowcher PROPOSAL
Smith V WaycottBrazilIoni Bowcher NEGOTIATION
Leon A NestleJapanElwin Sharvill NEGOTIATION
Jeanfrancois W TollnerBrazilAmy Elsner QUALIFIED
Francesco T ChuiBrazilAsiya Javayant RENEWAL
Kaitlin E RimItalyOnyama Limba NEGOTIATION
Jefferson D ButtRussiaXuxue Feng PROPOSAL
Munro I ChuiBrazilIoni Bowcher NEW
Maria E PaprockiSpainAmy Elsner RENEWAL
Deepesh A IturbideCanadaAsiya Javayant NEW
Antonio G FlosiItalyElwin Sharvill NEW
Alejandro W FlosiJapanXuxue Feng QUALIFIED
Jefferson P VenereBrazilElwin Sharvill PROPOSAL
Leon K ButtArgentinaElwin Sharvill NEW
Isabel Y CaldareraUnited KingdomAnna Fali QUALIFIED
Juan Z GauchoFranceElwin Sharvill NEGOTIATION
Jefferson V FerenczAustraliaBernardo Dominic NEW
Salvatore J BriddickFranceIvan Magalhaes NEW
Jefferson E GauchoUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
David F Ferencz
Ricardo V Oldroyd
Francesco O Vocelka
Antonio H Briddick
Mayumi Z Iturbide
Aruna L Chui
Jones T Maclead
Emily O Amigon
James D Waycott
Jeanfrancois Q Oldroyd
Sinclair T Rulapaugh
Mayumi A Dilliard
Octavia B Caldarera
Claire H Poquette
Smith W Caldarera
Wickens S Flosi
Deepesh V Malet
Octavia V Campain
Jones C Dilliard
Munro R Schemmer
Costa E Schemmer
Jennifer B Morasca
Jeanfrancois L Royster
Isabel F Wieser
Tony C Kolmetz
Salvatore H Chui
Morrow P Perin
Kaitlin X Doe
Arvin X Marrier
Stacey E Rim
Aika D Caudy
Wickens A Malet
Wickens J Whobrey
Tony I Perin
Arvin P Morasca
Salvatore M Tollner
Wickens Q Paprocki
Jennifer I Whobrey
Emily A Albares
Smith S Rulapaugh
Ashley D Shinko
Ivar L Darakjy
Rodrigues W Morasca
David T Nicka
Adams F Iturbide
Greenwood W Stockham
Munro D Flosi
Alejandro J Amigon
Aditya N Flosi
Munro I Kolmetz
IdCountryDate
1000Canada2024-09-05
1001Canada2024-09-12
1002Italy2024-09-08
1003France2024-09-11
1004United Kingdom2024-09-12
1005Argentina2024-09-22
1006Canada2024-09-25
1007Italy2024-09-03
1008Canada2024-09-04
1009Italy2024-09-16
1010India2024-08-31
1011Argentina2024-09-25
1012Argentina2024-09-12
1013Australia2024-08-30
1014France2024-09-19
1015Spain2024-09-02
1016Australia2024-08-29
1017Japan2024-09-06
1018India2024-09-11
1019Argentina2024-09-11
1020Russia2024-09-17
1021Japan2024-09-15
1022India2024-09-14
1023Canada2024-09-20
1024France2024-09-15
1025Canada2024-09-14
1026Spain2024-09-03
1027Russia2024-09-02
1028Australia2024-09-01
1029Australia2024-09-18
1030Brazil2024-09-19
1031Canada2024-09-10
1032France2024-09-04
1033Germany2024-09-22
1034Germany2024-09-21
1035Italy2024-09-01
1036Russia2024-09-10
1037India2024-09-08
1038France2024-09-20
1039Japan2024-09-16
1040Brazil2024-09-10
1041Japan2024-09-20
1042India2024-09-11
1043Japan2024-09-11
1044Japan2024-09-18
1045India2024-09-06
1046United Kingdom2024-09-02
1047India2024-09-10
1048Russia2024-08-27
1049India2024-09-23

On-Demand Data

NameIdCountryDate
Jefferson S Waycott1000Italy2024-09-11
Wickens G Maclead1001Italy2024-08-31
Juan M Rim1002Canada2024-08-31
Arvin F Saylors1003Spain2024-09-21
Emily L Nicka1004United Kingdom2024-08-28
Leja M Nestle1005Russia2024-08-28
Jefferson O Ostrosky1006Argentina2024-08-28
Antonio A Malet1007France2024-09-10
Murillo S Amigon1008Australia2024-09-13
Octavia C Kolmetz1009India2024-09-12
Mayumi P Royster1010Russia2024-09-22
Jennifer J Butt1011Argentina2024-09-23
Chavez T Maclead1012Canada2024-09-18
Claire S Foller1013Australia2024-09-13
Leja N Albares1014Australia2024-09-05
Darci H Chui1015Italy2024-09-08
Kadeem K Waycott1016United Kingdom2024-09-09
Salvatore B Caudy1017Argentina2024-09-20
Juan E Royster1018Germany2024-09-22
Murillo J Caldarera1019Japan2024-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo I ShinkoArgentinaOnyama Limba NEGOTIATION
Emily O BriddickJapanElwin Sharvill QUALIFIED
Maria E MacleadCanadaIoni Bowcher NEGOTIATION
Ashley C PerinSpainElwin Sharvill RENEWAL
Darci H IturbideArgentinaXuxue Feng NEGOTIATION
Leon K GlickIndiaOnyama Limba QUALIFIED
James N CaudyJapanBernardo Dominic NEW
Kaitlin L BologniaCanadaAmy Elsner UNQUALIFIED
Julie C StensethAustraliaIoni Bowcher NEW
Mujtaba A StockhamArgentinaOnyama Limba RENEWAL
Alejandro Z DilliardItalyBernardo Dominic NEW
Ivar K VocelkaIndiaAnna Fali NEW
Ashley N DarakjyGermanyIoni Bowcher PROPOSAL
Maria Q MacleadBrazilOnyama Limba QUALIFIED
Kaitlin I BriddickUnited KingdomOnyama Limba NEW
Aika F RulapaughJapanStephen Shaw PROPOSAL
Aika A SergiArgentinaBernardo Dominic QUALIFIED
Munro Q MarrierSpainAmy Elsner NEW
Ivar I ShinkoItalyXuxue Feng NEW
Johnson H SlusarskiFranceAnna Fali PROPOSAL
Tony U WieserUnited KingdomIvan Magalhaes NEW
Rodrigues O MorascaGermanyStephen Shaw QUALIFIED
Sinclair S DarakjyItalyIvan Magalhaes UNQUALIFIED
Leja R DarakjyGermanyOnyama Limba QUALIFIED
Ricardo H RimIndiaIoni Bowcher RENEWAL
Tony B NestleAustraliaAmy Elsner QUALIFIED
Alejandro X WaycottUnited KingdomOnyama Limba QUALIFIED
Silvio O AmigonArgentinaAmy Elsner NEW
Kaitlin C RulapaughArgentinaIvan Magalhaes NEGOTIATION
Mayumi J KuskoBrazilOnyama Limba UNQUALIFIED
Faith A FlosiRussiaAsiya Javayant PROPOSAL
Antonio U DilliardRussiaIoni Bowcher RENEWAL
Jones A ChuiGermanyAnna Fali UNQUALIFIED
Izzy B GlickBrazilOnyama Limba PROPOSAL
Octavia J IturbideGermanyAmy Elsner NEGOTIATION
Smith W OldroydIndiaIoni Bowcher UNQUALIFIED
Tony H PaprockiBrazilOnyama Limba PROPOSAL
Mujtaba U MaletArgentinaIvan Magalhaes RENEWAL
Julie L DoeJapanAnna Fali PROPOSAL
Cody F SaylorsIndiaXuxue Feng 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>