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
Maria U FollerUnited KingdomIvan Magalhaes QUALIFIED
Ricardo E GarufiArgentinaStephen Shaw PROPOSAL
Octavia H StockhamBrazilIvan Magalhaes NEGOTIATION
Adams A NickaBrazilAnna Fali QUALIFIED
Chavez D FollerArgentinaIoni Bowcher PROPOSAL
Francesco G SaylorsItalyIvan Magalhaes NEW
Aditya C WhobreyRussiaBernardo Dominic UNQUALIFIED
Maria F FerenczIndiaXuxue Feng UNQUALIFIED
Stacey D IturbideAustraliaAsiya Javayant NEW
Chavez W IturbideItalyAsiya Javayant NEW
Johnson X CaldareraItalyBernardo Dominic NEGOTIATION
Chavez G VocelkaArgentinaElwin Sharvill RENEWAL
Leon L CampainUnited KingdomBernardo Dominic NEW
Munro S BologniaCanadaXuxue Feng PROPOSAL
Cody V FigeroaArgentinaIvan Magalhaes PROPOSAL
James F PerinAustraliaAsiya Javayant RENEWAL
Emily O StockhamFranceXuxue Feng QUALIFIED
Emily C BriddickIndiaIvan Magalhaes QUALIFIED
Greenwood V ChuiUnited KingdomOnyama Limba RENEWAL
Kadeem O GillianArgentinaBernardo Dominic NEGOTIATION
Antonio O OstroskyItalyStephen Shaw QUALIFIED
Deepesh L CaudyGermanyAnna Fali UNQUALIFIED
Kadeem H NestleCanadaOnyama Limba PROPOSAL
Kadeem C OldroydUnited KingdomAmy Elsner UNQUALIFIED
Aruna Y ChuiBrazilStephen Shaw PROPOSAL
Morrow N StockhamRussiaIvan Magalhaes UNQUALIFIED
Aruna R MaletGermanyElwin Sharvill NEGOTIATION
Rodrigues A MorascaCanadaIoni Bowcher UNQUALIFIED
Misaki E PaprockiUnited KingdomIoni Bowcher QUALIFIED
Sinclair A RoysterRussiaOnyama Limba NEW
Costa T SaylorsRussiaIoni Bowcher NEGOTIATION
Salvatore Q FollerIndiaOnyama Limba QUALIFIED
Greenwood D SergiGermanyBernardo Dominic UNQUALIFIED
Francesco G DilliardAustraliaBernardo Dominic UNQUALIFIED
Adams Y PoquetteIndiaXuxue Feng RENEWAL
Aruna R SchemmerCanadaBernardo Dominic QUALIFIED
Mujtaba R InouyeCanadaElwin Sharvill NEGOTIATION
Ashley O TollnerSpainBernardo Dominic QUALIFIED
Ricardo Q SchemmerRussiaIvan Magalhaes NEGOTIATION
Faith S TollnerFranceStephen Shaw NEGOTIATION
Faith T FigeroaJapanOnyama Limba UNQUALIFIED
Faith Z DilliardArgentinaBernardo Dominic NEGOTIATION
Aditya G DoeArgentinaStephen Shaw NEW
Greenwood I WieserRussiaXuxue Feng NEGOTIATION
Jones A CaldareraRussiaStephen Shaw NEGOTIATION
Claire M InouyeItalyXuxue Feng QUALIFIED
Smith I GarufiGermanyAnna Fali QUALIFIED
Aditya O RutaArgentinaAmy Elsner NEW
Murillo Y AmigonAustraliaElwin Sharvill UNQUALIFIED
Mayumi P ButtRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia J FigeroaSpainIoni Bowcher UNQUALIFIED
Cody I BriddickBrazilXuxue Feng NEGOTIATION
Claire D ChuiFranceAmy Elsner UNQUALIFIED
Isabel F StensethIndiaElwin Sharvill NEGOTIATION
Greenwood V RulapaughIndiaAnna Fali NEGOTIATION
Maria L DarakjySpainAnna Fali PROPOSAL
James I ChuiItalyXuxue Feng RENEWAL
Izzy D RulapaughRussiaStephen Shaw QUALIFIED
Chavez U OstroskySpainIoni Bowcher UNQUALIFIED
Leon I GillianRussiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin C RimFrance2025-04-20Rousseaux, Michael Esq NEGOTIATION44Elwin Sharvill
1001Cody T SchemmerJapan2025-04-15Morlong Associates PROPOSAL6Ioni Bowcher
1002Juan Y MacleadSpain2025-04-11Rousseaux, Michael Esq NEGOTIATION6Amy Elsner
1003Clifford G NestleBrazil2025-04-25Morlong Associates PROPOSAL59Xuxue Feng
1004Octavia L MarrierCanada2025-04-28Printing Dimensions NEGOTIATION6Asiya Javayant
1005Munro F FerenczIndia2025-04-23Benton, John B Jr RENEWAL61Elwin Sharvill
1006Wickens Z CaudyCanada2025-04-21Dorl, James J Esq NEW40Ivan Magalhaes
1007Mujtaba D VenereRussia2025-04-10Rangoni Of Florence NEGOTIATION59Anna Fali
1008Claire T KolmetzCanada2025-04-13Morlong Associates QUALIFIED50Stephen Shaw
1009Julie A MaletSpain2025-04-16Rousseaux, Michael Esq NEW27Ioni Bowcher
1010Faith Z WieserRussia2025-04-10Chanay, Jeffrey A Esq QUALIFIED87Asiya Javayant
1011Faith C RimArgentina2025-04-18Feiner Bros NEGOTIATION60Elwin Sharvill
1012Smith K WhobreyAustralia2025-04-17Benton, John B Jr NEW84Elwin Sharvill
1013Leon D FerenczItaly2025-04-17Dorl, James J Esq PROPOSAL26Xuxue Feng
1014Izzy U WaycottItaly2025-04-29King, Christopher A Esq PROPOSAL92Xuxue Feng
1015Johnson Y RoysterCanada2025-04-29Commercial Press RENEWAL42Ivan Magalhaes
1016David A SergiSpain2025-04-22Feiner Bros NEGOTIATION55Ivan Magalhaes
1017Misaki F FerenczCanada2025-04-24Printing Dimensions NEGOTIATION37Elwin Sharvill
1018Julie D StensethArgentina2025-04-13Rousseaux, Michael Esq RENEWAL45Ioni Bowcher
1019Claire W WieserUnited Kingdom2025-04-22Feiner Bros PROPOSAL25Xuxue Feng
1020David I StensethJapan2025-04-15Commercial Press RENEWAL84Ivan Magalhaes
1021Salvatore N BologniaIndia2025-04-23Rangoni Of Florence NEW15Xuxue Feng
1022Chavez A IturbideBrazil2025-04-15Commercial Press RENEWAL29Amy Elsner
1023Wickens F VocelkaUnited Kingdom2025-04-19Truhlar And Truhlar Attys PROPOSAL9Ivan Magalhaes
1024Darci A BriddickAustralia2025-04-19Chemel, James L Cpa UNQUALIFIED46Xuxue Feng
1025Aditya K GarufiSpain2025-04-18Rousseaux, Michael Esq UNQUALIFIED47Stephen Shaw
1026Claire E WieserFrance2025-04-23Chemel, James L Cpa QUALIFIED29Onyama Limba
1027Isabel E GillianItaly2025-05-02Benton, John B Jr PROPOSAL46Anna Fali
1028Leon S PoquetteArgentina2025-04-11Commercial Press QUALIFIED50Onyama Limba
1029Jones P MaletAustralia2025-05-01Feiner Bros UNQUALIFIED90Ivan Magalhaes
1030Ivar X PerinIndia2025-04-24Chapman, Ross E Esq NEGOTIATION49Amy Elsner
1031Stacey P OldroydItaly2025-05-05Morlong Associates PROPOSAL58Anna Fali
1032Maria K KolmetzAustralia2025-05-05Morlong Associates NEGOTIATION99Ivan Magalhaes
1033Cody U CampainRussia2025-04-10Printing Dimensions RENEWAL79Anna Fali
1034Murillo C WieserUnited Kingdom2025-04-16Benton, John B Jr NEGOTIATION73Bernardo Dominic
1035Ashley P SlusarskiCanada2025-04-07Rousseaux, Michael Esq NEGOTIATION85Elwin Sharvill
1036James Q MorascaCanada2025-05-04Buckley Miller Wright RENEWAL51Ioni Bowcher
1037Murillo U GlickGermany2025-05-01Truhlar And Truhlar Attys PROPOSAL98Elwin Sharvill
1038Darci J GarufiAustralia2025-04-29Benton, John B Jr PROPOSAL84Onyama Limba
1039Jones Z ChuiSpain2025-05-03Commercial Press NEGOTIATION62Anna Fali
1040Nicolas O MaletUnited Kingdom2025-04-07Benton, John B Jr QUALIFIED42Amy Elsner
1041Alejandro Y BologniaJapan2025-05-02Rangoni Of Florence NEW97Amy Elsner
1042Maisha K SergiBrazil2025-05-03Benton, John B Jr RENEWAL34Bernardo Dominic
1043Leja X MaletRussia2025-04-10Rangoni Of Florence NEW20Ioni Bowcher
1044Faith S ButtUnited Kingdom2025-04-15Truhlar And Truhlar Attys UNQUALIFIED24Ivan Magalhaes
1045Maria T ButtJapan2025-04-24Commercial Press NEW69Amy Elsner
1046Faith Z KolmetzSpain2025-04-26Dorl, James J Esq RENEWAL91Amy Elsner
1047David M CaudyGermany2025-04-28Truhlar And Truhlar Attys NEW3Asiya Javayant
1048Mayumi P PerinUnited Kingdom2025-04-12Feiner Bros NEW87Anna Fali
1049Maria V WaycottGermany2025-04-17Morlong Associates PROPOSAL81Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan D BriddickArgentinaIvan Magalhaes NEGOTIATION
Arvin O PerinItalyElwin Sharvill UNQUALIFIED
Jeanfrancois C FigeroaJapanElwin Sharvill QUALIFIED
Claire O CaudyIndiaElwin Sharvill PROPOSAL
Sinclair J WaycottUnited KingdomIoni Bowcher PROPOSAL
Leon H InouyeSpainAnna Fali QUALIFIED
Emily N ChuiCanadaBernardo Dominic NEW
Juan X MaletGermanyBernardo Dominic NEW
Maria E NestleRussiaStephen Shaw RENEWAL
Kadeem G KuskoCanadaBernardo Dominic UNQUALIFIED
Darci E KolmetzSpainBernardo Dominic NEW
Morrow Q OldroydSpainIvan Magalhaes PROPOSAL
Claire M BowleyIndiaOnyama Limba NEGOTIATION
Mujtaba T MarrierAustraliaOnyama Limba RENEWAL
Aika O RimRussiaAsiya Javayant RENEWAL
Julie O MorascaRussiaAnna Fali PROPOSAL
Salvatore Y TollnerItalyIvan Magalhaes UNQUALIFIED
Darci D WhobreySpainOnyama Limba NEW
Morrow C FollerItalyElwin Sharvill RENEWAL
Alejandro S RimFranceOnyama Limba NEW
Wickens O VocelkaSpainAmy Elsner NEW
Sinclair L ChuiItalyStephen Shaw UNQUALIFIED
Jones M InouyeGermanyAnna Fali UNQUALIFIED
Ashley L MacleadFranceAsiya Javayant NEGOTIATION
Jones G WhobreyGermanyIoni Bowcher PROPOSAL
Smith P KolmetzItalyIoni Bowcher UNQUALIFIED
Jeanfrancois W AmigonUnited KingdomElwin Sharvill PROPOSAL
Faith D WieserRussiaStephen Shaw NEW
Jones B DarakjyArgentinaXuxue Feng RENEWAL
Mujtaba K MarrierCanadaOnyama Limba RENEWAL
David U FerenczCanadaXuxue Feng RENEWAL
Misaki P GlickJapanIoni Bowcher PROPOSAL
Jennifer K NickaUnited KingdomAmy Elsner UNQUALIFIED
James X RutaGermanyElwin Sharvill UNQUALIFIED
Salvatore Y FollerArgentinaBernardo Dominic UNQUALIFIED
Silvio U PoquetteJapanStephen Shaw RENEWAL
Ricardo G OldroydJapanAsiya Javayant NEW
Costa G GarufiAustraliaIvan Magalhaes PROPOSAL
Rodrigues D KuskoSpainIoni Bowcher QUALIFIED
Johnson D KuskoFranceAsiya Javayant QUALIFIED
Faith E RulapaughJapanElwin Sharvill PROPOSAL
Nicolas S WaycottUnited KingdomAsiya Javayant NEGOTIATION
Johnson C KolmetzFranceAsiya Javayant RENEWAL
Stacey W AmigonJapanOnyama Limba PROPOSAL
Alejandro Q PerinBrazilXuxue Feng PROPOSAL
Silvio C OldroydAustraliaStephen Shaw PROPOSAL
Maisha T AlbaresCanadaAsiya Javayant UNQUALIFIED
Alejandro Y AmigonUnited KingdomIvan Magalhaes PROPOSAL
Costa E StensethFranceXuxue Feng NEW
Izzy R FollerJapanAmy Elsner PROPOSAL
Frozen Columns
Name
David Z Iturbide
Jones D Malet
Misaki V Whobrey
Deepesh L Royster
Chavez S Venere
Salvatore K Iturbide
Leja L Ruta
Ivar L Marrier
Salvatore C Dilliard
Alejandro K Saylors
Misaki Q Dilliard
Tony T Bowley
Clifford N Bowley
Jefferson E Ostrosky
Murillo Y Tollner
Costa A Caudy
Aditya H Caudy
James D Foller
Costa M Darakjy
Arvin E Doe
Julie R Slusarski
Antonio J Butt
Leja U Kusko
Mayumi H Slusarski
Maria G Ferencz
Aditya L Shinko
Ricardo C Amigon
Octavia C Malet
Antonio K Bolognia
Ivar P Morasca
Jones H Ruta
Izzy X Kusko
Sinclair T Waycott
Kadeem L Morasca
Ricardo R Paprocki
Octavia C Briddick
Aditya A Royster
Antonio N Foller
Kadeem L Caudy
Faith N Wieser
Cody R Amigon
Jefferson R Shinko
Octavia C Doe
Kadeem M Ferencz
Isabel G Butt
Izzy Z Caldarera
Julie N Malet
Clifford R Malet
Darci H Wieser
Aruna M Dilliard
IdCountryDate
1000Germany2025-04-12
1001Canada2025-04-06
1002Germany2025-04-27
1003Brazil2025-04-23
1004Spain2025-05-05
1005France2025-05-02
1006Brazil2025-04-13
1007Brazil2025-04-12
1008Argentina2025-04-20
1009Italy2025-04-22
1010Argentina2025-04-27
1011Germany2025-04-16
1012United Kingdom2025-04-16
1013Italy2025-04-10
1014France2025-04-20
1015Argentina2025-04-26
1016United Kingdom2025-05-01
1017India2025-04-16
1018Japan2025-04-26
1019Italy2025-05-02
1020Argentina2025-04-14
1021Germany2025-04-13
1022Canada2025-04-29
1023India2025-04-14
1024Brazil2025-04-11
1025Japan2025-04-09
1026Canada2025-04-23
1027Germany2025-04-21
1028Russia2025-04-18
1029Argentina2025-04-23
1030Japan2025-05-02
1031Canada2025-04-12
1032United Kingdom2025-04-27
1033Russia2025-04-12
1034Argentina2025-05-05
1035Japan2025-04-22
1036Brazil2025-04-29
1037Australia2025-04-14
1038Australia2025-04-18
1039India2025-04-30
1040France2025-04-25
1041India2025-04-20
1042Canada2025-04-08
1043Spain2025-04-09
1044France2025-04-16
1045Australia2025-04-20
1046France2025-04-27
1047France2025-04-12
1048Germany2025-04-14
1049Japan2025-04-12

On-Demand Data

NameIdCountryDate
Mujtaba K Rulapaugh1000Argentina2025-04-27
Emily D Briddick1001Italy2025-04-18
Mujtaba N Dilliard1002Australia2025-04-29
Jefferson Y Sergi1003United Kingdom2025-04-12
Faith H Ostrosky1004Brazil2025-05-03
Misaki B Caldarera1005Australia2025-04-06
Salvatore M Ferencz1006Japan2025-04-11
Salvatore G Doe1007France2025-05-04
Isabel R Albares1008Spain2025-04-19
Johnson E Poquette1009United Kingdom2025-04-22
Tony X Flosi1010Italy2025-05-05
Darci D Maclead1011Canada2025-04-18
Chavez X Amigon1012Spain2025-05-05
James G Chui1013Argentina2025-04-19
Antonio E Garufi1014Argentina2025-04-28
Jefferson I Kusko1015India2025-05-01
Julie U Kolmetz1016Italy2025-04-10
Jeanfrancois A Wieser1017United Kingdom2025-04-13
Rodrigues Q Foller1018India2025-04-30
Aika T Caldarera1019Canada2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro L PaprockiGermanyAnna Fali RENEWAL
Kadeem A MorascaFranceIvan Magalhaes NEGOTIATION
Alejandro E StockhamAustraliaAnna Fali NEW
Faith I PerinUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo B GlickGermanyAnna Fali RENEWAL
Stacey E MaletFranceIvan Magalhaes QUALIFIED
Julie I DarakjyAustraliaIvan Magalhaes NEGOTIATION
Juan M RutaRussiaOnyama Limba NEW
James R DoeBrazilStephen Shaw QUALIFIED
Kadeem F MarrierArgentinaIvan Magalhaes UNQUALIFIED
Tony B WieserCanadaAsiya Javayant QUALIFIED
Smith I PoquetteRussiaStephen Shaw PROPOSAL
Clifford G DoeFranceIvan Magalhaes QUALIFIED
Maisha N FigeroaAustraliaIvan Magalhaes RENEWAL
Wickens A MaletCanadaOnyama Limba NEGOTIATION
Aruna F RutaCanadaOnyama Limba RENEWAL
Silvio M MorascaIndiaAsiya Javayant RENEWAL
Jennifer P InouyeSpainAmy Elsner UNQUALIFIED
Silvio I PaprockiBrazilBernardo Dominic RENEWAL
Wickens Y DarakjyArgentinaAsiya Javayant NEW
Misaki U PerinSpainOnyama Limba UNQUALIFIED
Stacey G KuskoSpainAnna Fali NEW
Clifford K RulapaughRussiaIvan Magalhaes UNQUALIFIED
Stacey H KuskoIndiaStephen Shaw QUALIFIED
Isabel V NickaItalyXuxue Feng RENEWAL
Claire G StockhamBrazilAsiya Javayant PROPOSAL
Darci C MaletSpainAmy Elsner RENEWAL
Aruna Y DilliardGermanyAsiya Javayant RENEWAL
Tony B NestleUnited KingdomIoni Bowcher RENEWAL
Aditya Y BowleySpainStephen Shaw PROPOSAL
Alejandro A FigeroaGermanyBernardo Dominic QUALIFIED
Misaki Q GauchoRussiaAsiya Javayant UNQUALIFIED
Salvatore C StockhamArgentinaAmy Elsner RENEWAL
Ivar V NestleIndiaAsiya Javayant RENEWAL
Faith K PaprockiIndiaElwin Sharvill NEW
Francesco Z PaprockiArgentinaOnyama Limba QUALIFIED
Aditya Q RoysterJapanOnyama Limba RENEWAL
Costa Z StockhamSpainOnyama Limba NEGOTIATION
Ricardo A OldroydIndiaElwin Sharvill NEW
Arvin O AmigonCanadaIvan Magalhaes UNQUALIFIED

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