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
Alejandro Z VenereUnited KingdomAnna Fali QUALIFIED
James E SergiBrazilAnna Fali NEW
Ivar Y GarufiFranceAmy Elsner PROPOSAL
Jennifer J SergiIndiaAsiya Javayant NEW
Sinclair P InouyeAustraliaXuxue Feng NEW
Arvin R MarrierFranceElwin Sharvill NEGOTIATION
Wickens I DoeRussiaElwin Sharvill NEW
Francesco X SergiUnited KingdomElwin Sharvill UNQUALIFIED
Darci Q RutaFranceIoni Bowcher RENEWAL
Maria R SlusarskiGermanyAmy Elsner PROPOSAL
Mujtaba H CaldareraJapanElwin Sharvill NEGOTIATION
David U MaletCanadaAmy Elsner RENEWAL
Jennifer P CampainArgentinaBernardo Dominic PROPOSAL
Silvio J ChuiFranceStephen Shaw NEGOTIATION
Adams K BowleyItalyBernardo Dominic RENEWAL
Wickens E DarakjyItalyIoni Bowcher NEGOTIATION
Octavia A PerinIndiaIvan Magalhaes QUALIFIED
Maria R PaprockiFranceIoni Bowcher PROPOSAL
Clifford M StockhamSpainAmy Elsner PROPOSAL
Tony L BologniaCanadaAmy Elsner NEGOTIATION
Misaki L FerenczFranceAmy Elsner RENEWAL
Deepesh R ChuiJapanAsiya Javayant NEGOTIATION
Clifford T DarakjyArgentinaIoni Bowcher NEGOTIATION
Francesco M ShinkoGermanyElwin Sharvill RENEWAL
Arvin M AmigonFranceAmy Elsner UNQUALIFIED
Arvin M ShinkoIndiaAsiya Javayant PROPOSAL
Jennifer J MorascaIndiaXuxue Feng RENEWAL
Aditya J RutaCanadaBernardo Dominic NEGOTIATION
Salvatore Z DilliardAustraliaIvan Magalhaes QUALIFIED
Juan D MacleadGermanyAsiya Javayant NEGOTIATION
Jeanfrancois M RulapaughCanadaAnna Fali NEGOTIATION
Isabel B BriddickCanadaIvan Magalhaes NEW
Aruna S NestleJapanIvan Magalhaes QUALIFIED
Murillo I WhobreyCanadaXuxue Feng PROPOSAL
Munro Y WhobreyGermanyIvan Magalhaes NEW
Maria C SaylorsFranceElwin Sharvill PROPOSAL
Jones H GarufiJapanAmy Elsner QUALIFIED
Kadeem T RulapaughRussiaIoni Bowcher NEW
Adams V DoeJapanAnna Fali NEW
Faith U RoysterArgentinaAnna Fali UNQUALIFIED
Alejandro G ChuiUnited KingdomBernardo Dominic PROPOSAL
Aruna B PaprockiBrazilBernardo Dominic NEW
Sinclair Y GarufiRussiaStephen Shaw NEW
Nicolas Q TollnerFranceOnyama Limba NEGOTIATION
Mayumi J MorascaIndiaAnna Fali NEW
Misaki L ButtGermanyElwin Sharvill QUALIFIED
Jones F SlusarskiArgentinaXuxue Feng QUALIFIED
Mujtaba P StockhamIndiaIoni Bowcher PROPOSAL
Johnson H BologniaItalyAsiya Javayant PROPOSAL
David D OstroskyBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith H CampainAustraliaIoni Bowcher UNQUALIFIED
Ivar Z MaletItalyAnna Fali UNQUALIFIED
Claire C SchemmerFranceIvan Magalhaes UNQUALIFIED
Arvin D RoysterItalyOnyama Limba UNQUALIFIED
Deepesh X AmigonGermanyAnna Fali NEGOTIATION
Juan I SaylorsIndiaAmy Elsner QUALIFIED
Adams A SergiJapanBernardo Dominic PROPOSAL
James M GauchoJapanIvan Magalhaes NEW
Wickens C FerenczUnited KingdomStephen Shaw QUALIFIED
David K WhobreyAustraliaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh A BologniaSpain2024-06-15Chapman, Ross E Esq QUALIFIED0Elwin Sharvill
1001David I SaylorsArgentina2024-06-12Feltz Printing Service UNQUALIFIED63Ivan Magalhaes
1002Alejandro V SchemmerRussia2024-06-20King, Christopher A Esq NEW78Stephen Shaw
1003Sinclair P WieserJapan2024-06-17Commercial Press UNQUALIFIED1Anna Fali
1004Alejandro X SaylorsRussia2024-06-21Printing Dimensions UNQUALIFIED33Asiya Javayant
1005Kaitlin T PaprockiIndia2024-06-20Truhlar And Truhlar Attys NEGOTIATION12Elwin Sharvill
1006Faith J GauchoGermany2024-06-04Chanay, Jeffrey A Esq RENEWAL13Asiya Javayant
1007Jeanfrancois D RoysterArgentina2024-06-17Rangoni Of Florence RENEWAL5Bernardo Dominic
1008Rodrigues N GarufiJapan2024-05-24Printing Dimensions QUALIFIED19Onyama Limba
1009Izzy E AmigonSpain2024-05-25Printing Dimensions QUALIFIED36Onyama Limba
1010Smith H FigeroaCanada2024-05-25Chapman, Ross E Esq NEGOTIATION1Anna Fali
1011Munro S DilliardArgentina2024-05-31Chapman, Ross E Esq UNQUALIFIED89Anna Fali
1012Izzy R BowleyGermany2024-06-08Printing Dimensions NEW69Asiya Javayant
1013Sinclair W ShinkoCanada2024-06-06Buckley Miller Wright QUALIFIED96Onyama Limba
1014Morrow X SaylorsJapan2024-06-01Rousseaux, Michael Esq PROPOSAL34Ioni Bowcher
1015Aika C SergiSpain2024-06-18Commercial Press UNQUALIFIED37Onyama Limba
1016Costa Z GillianFrance2024-06-19Benton, John B Jr UNQUALIFIED36Stephen Shaw
1017Stacey V KuskoSpain2024-06-17Chemel, James L Cpa NEW93Xuxue Feng
1018Adams W GarufiSpain2024-06-12Buckley Miller Wright NEW38Asiya Javayant
1019Silvio L CaudyUnited Kingdom2024-06-07Chapman, Ross E Esq QUALIFIED61Xuxue Feng
1020Leon F DilliardUnited Kingdom2024-05-26Printing Dimensions NEW49Onyama Limba
1021Leon Q FigeroaBrazil2024-05-30Commercial Press UNQUALIFIED3Bernardo Dominic
1022Jennifer M BriddickBrazil2024-06-15Commercial Press UNQUALIFIED3Asiya Javayant
1023David J VocelkaRussia2024-06-02Chanay, Jeffrey A Esq NEW65Asiya Javayant
1024Leon Q OldroydCanada2024-06-03Dorl, James J Esq NEW28Bernardo Dominic
1025Morrow H StensethBrazil2024-06-12Commercial Press NEW31Amy Elsner
1026Mayumi E FerenczCanada2024-06-05Chemel, James L Cpa RENEWAL8Amy Elsner
1027Cody S DoeArgentina2024-06-05Feiner Bros UNQUALIFIED84Ioni Bowcher
1028Leja Y IturbideJapan2024-06-14Feltz Printing Service UNQUALIFIED95Bernardo Dominic
1029Julie C FollerSpain2024-06-20Truhlar And Truhlar Attys UNQUALIFIED85Bernardo Dominic
1030Kadeem C SaylorsItaly2024-06-07Truhlar And Truhlar Attys NEW73Anna Fali
1031Aditya P FerenczBrazil2024-05-27Printing Dimensions NEW76Stephen Shaw
1032Smith F BologniaFrance2024-06-22Truhlar And Truhlar Attys NEW65Bernardo Dominic
1033Adams A FerenczArgentina2024-05-26Buckley Miller Wright NEGOTIATION33Bernardo Dominic
1034Silvio W RulapaughArgentina2024-06-14Truhlar And Truhlar Attys UNQUALIFIED0Anna Fali
1035James F OldroydAustralia2024-05-30Truhlar And Truhlar Attys UNQUALIFIED36Amy Elsner
1036Clifford T GauchoIndia2024-05-24Feltz Printing Service NEGOTIATION14Asiya Javayant
1037Aruna G ChuiRussia2024-06-09Chanay, Jeffrey A Esq NEGOTIATION46Stephen Shaw
1038Nicolas L VocelkaItaly2024-05-28Chanay, Jeffrey A Esq PROPOSAL81Onyama Limba
1039Smith N GillianGermany2024-06-06Feiner Bros NEGOTIATION7Ioni Bowcher
1040Stacey Y VocelkaUnited Kingdom2024-06-22Chanay, Jeffrey A Esq PROPOSAL58Ioni Bowcher
1041Murillo V NickaCanada2024-05-25Truhlar And Truhlar Attys NEGOTIATION75Onyama Limba
1042Ivar V NestleAustralia2024-06-13Rousseaux, Michael Esq QUALIFIED74Ioni Bowcher
1043Julie W KuskoFrance2024-05-30Commercial Press RENEWAL54Elwin Sharvill
1044Ashley U GarufiAustralia2024-06-21Buckley Miller Wright PROPOSAL48Onyama Limba
1045Morrow S NestleIndia2024-06-15Chapman, Ross E Esq UNQUALIFIED35Bernardo Dominic
1046Jeanfrancois T NickaArgentina2024-05-25Rangoni Of Florence NEGOTIATION31Stephen Shaw
1047Jefferson J BriddickItaly2024-06-14King, Christopher A Esq QUALIFIED5Onyama Limba
1048Juan B GauchoItaly2024-05-30Chanay, Jeffrey A Esq RENEWAL82Xuxue Feng
1049Aditya W RulapaughAustralia2024-06-20Dorl, James J Esq UNQUALIFIED87Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba P OldroydSpainStephen Shaw UNQUALIFIED
Leja A CampainSpainElwin Sharvill NEGOTIATION
Misaki E GillianRussiaStephen Shaw NEW
Wickens L CampainBrazilAsiya Javayant PROPOSAL
Kadeem F AmigonGermanyOnyama Limba NEW
Johnson D DoeArgentinaAmy Elsner QUALIFIED
Chavez Y WieserUnited KingdomOnyama Limba NEGOTIATION
Maisha F MorascaUnited KingdomAnna Fali PROPOSAL
Munro O MacleadGermanyStephen Shaw NEW
Chavez O RutaArgentinaIvan Magalhaes PROPOSAL
Isabel U BologniaFranceXuxue Feng PROPOSAL
Antonio X DarakjyFranceBernardo Dominic RENEWAL
Aika U IturbideIndiaIvan Magalhaes PROPOSAL
Nicolas C DarakjyItalyXuxue Feng PROPOSAL
Morrow U GauchoIndiaAmy Elsner QUALIFIED
Leon Q BowleyBrazilAsiya Javayant NEGOTIATION
Johnson E PerinGermanyStephen Shaw NEW
Darci K MaletCanadaAnna Fali NEGOTIATION
Murillo X CaldareraUnited KingdomBernardo Dominic QUALIFIED
Salvatore H NickaJapanIvan Magalhaes UNQUALIFIED
Smith W MorascaAustraliaAmy Elsner PROPOSAL
Isabel I FerenczFranceElwin Sharvill QUALIFIED
Chavez C GlickAustraliaAmy Elsner NEW
Isabel A SchemmerItalyOnyama Limba NEGOTIATION
Darci B StockhamJapanStephen Shaw PROPOSAL
Sinclair O ChuiSpainAnna Fali RENEWAL
Maisha B MarrierCanadaAmy Elsner QUALIFIED
David K WhobreySpainOnyama Limba RENEWAL
Adams M WaycottAustraliaAmy Elsner NEW
Maisha O RulapaughIndiaBernardo Dominic NEW
Leon E WhobreyArgentinaAnna Fali NEW
Jeanfrancois L MacleadAustraliaAnna Fali QUALIFIED
Kadeem P WieserRussiaStephen Shaw NEGOTIATION
Emily O SergiRussiaIvan Magalhaes UNQUALIFIED
Wickens M SlusarskiIndiaOnyama Limba PROPOSAL
Kadeem U PoquetteIndiaBernardo Dominic NEW
Isabel G ButtItalyIoni Bowcher PROPOSAL
Ivar G FerenczArgentinaIvan Magalhaes QUALIFIED
David T FlosiJapanAnna Fali QUALIFIED
Jones C CaldareraSpainIvan Magalhaes PROPOSAL
Ashley A ShinkoRussiaAnna Fali PROPOSAL
David H RoysterGermanyIoni Bowcher NEW
Kadeem V BriddickAustraliaAmy Elsner UNQUALIFIED
Jefferson I KolmetzCanadaIoni Bowcher NEGOTIATION
Alejandro O FerenczGermanyIvan Magalhaes PROPOSAL
Juan M StockhamCanadaStephen Shaw UNQUALIFIED
James E PerinCanadaXuxue Feng PROPOSAL
Izzy K BriddickIndiaOnyama Limba RENEWAL
Maria C PaprockiRussiaElwin Sharvill UNQUALIFIED
Ashley V RimCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Jones T Caldarera
Francesco X Butt
Octavia L Maclead
Greenwood D Nestle
Leja D Figeroa
Rodrigues L Perin
Antonio W Foller
Deepesh K Venere
Murillo B Morasca
Rodrigues J Paprocki
Kaitlin T Amigon
Maria O Gillian
Leon P Foller
Cody E Royster
Munro I Whobrey
Ashley Y Amigon
Silvio D Royster
Antonio A Vocelka
Jones O Tollner
Sinclair H Doe
Wickens E Amigon
Silvio E Waycott
Deepesh U Waycott
Maria H Wieser
Claire U Butt
Morrow O Butt
Cody D Rulapaugh
Antonio N Butt
Jefferson N Oldroyd
Kadeem F Briddick
Morrow Q Ruta
Claire S Garufi
Arvin C Vocelka
Leon Y Dilliard
Ashley J Nicka
Nicolas Q Amigon
Silvio V Gillian
Juan U Gaucho
Darci J Campain
Aditya L Oldroyd
Jones B Kusko
David E Rulapaugh
Alejandro W Maclead
Octavia P Perin
Munro L Bowley
Greenwood L Briddick
Aika Q Campain
Juan P Figeroa
Kaitlin C Paprocki
Salvatore F Nestle
IdCountryDate
1000Italy2024-06-18
1001France2024-05-27
1002Australia2024-05-28
1003Brazil2024-05-30
1004Canada2024-06-07
1005Australia2024-06-01
1006India2024-05-26
1007France2024-06-02
1008Russia2024-06-21
1009Spain2024-06-19
1010Spain2024-06-13
1011Germany2024-05-28
1012Russia2024-06-15
1013France2024-06-08
1014United Kingdom2024-05-30
1015Brazil2024-06-01
1016Brazil2024-06-14
1017Japan2024-06-12
1018France2024-06-16
1019Brazil2024-06-21
1020Japan2024-05-29
1021Italy2024-06-02
1022India2024-06-06
1023Spain2024-06-17
1024Spain2024-06-02
1025Australia2024-06-03
1026Spain2024-06-20
1027Italy2024-05-24
1028Russia2024-06-12
1029France2024-06-14
1030Spain2024-06-18
1031Italy2024-06-07
1032Spain2024-06-05
1033Australia2024-06-15
1034France2024-05-28
1035Italy2024-06-12
1036Italy2024-06-07
1037Argentina2024-06-21
1038Russia2024-06-03
1039Russia2024-06-01
1040Canada2024-06-03
1041Brazil2024-06-05
1042Germany2024-06-14
1043India2024-06-15
1044Brazil2024-05-28
1045Brazil2024-06-01
1046India2024-06-04
1047Italy2024-06-13
1048Russia2024-06-11
1049Argentina2024-06-08

On-Demand Data

NameIdCountryDate
Tony V Gillian1000Italy2024-05-26
Aika V Gillian1001India2024-06-17
David H Royster1002Brazil2024-05-31
Greenwood Q Maclead1003France2024-06-20
Silvio V Figeroa1004Spain2024-06-01
James F Kolmetz1005India2024-06-06
Isabel N Dilliard1006Japan2024-06-16
David M Schemmer1007United Kingdom2024-05-24
Francesco L Glick1008Germany2024-06-03
Maisha R Waycott1009Brazil2024-06-10
Izzy C Figeroa1010India2024-06-06
Antonio L Kolmetz1011Germany2024-05-28
Leon Q Albares1012Argentina2024-06-06
Ashley E Albares1013France2024-05-25
Rodrigues C Saylors1014Germany2024-06-21
Tony U Bowley1015Japan2024-05-25
Juan P Ruta1016Spain2024-06-14
Stacey K Malet1017India2024-06-14
Kadeem D Darakjy1018India2024-06-04
Adams W Ostrosky1019India2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith G StensethCanadaIvan Magalhaes RENEWAL
Kadeem Q AmigonSpainIvan Magalhaes RENEWAL
Mayumi O SlusarskiFranceIvan Magalhaes QUALIFIED
Kadeem I PerinRussiaBernardo Dominic PROPOSAL
Sinclair Y SergiSpainAnna Fali QUALIFIED
Antonio T NestleArgentinaOnyama Limba NEW
Deepesh K FerenczIndiaXuxue Feng NEGOTIATION
Jones U VenereJapanStephen Shaw NEGOTIATION
Emily M StensethBrazilIoni Bowcher RENEWAL
Leja A OldroydCanadaXuxue Feng QUALIFIED
Costa K PerinSpainOnyama Limba UNQUALIFIED
Deepesh Z RimBrazilAnna Fali NEGOTIATION
Leon E TollnerIndiaXuxue Feng QUALIFIED
Juan C DoeJapanAnna Fali UNQUALIFIED
Octavia C VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Stacey C FollerGermanyIvan Magalhaes NEW
Kaitlin X RoysterRussiaIoni Bowcher NEW
Aditya C OstroskyCanadaAsiya Javayant NEGOTIATION
Chavez G DarakjyCanadaXuxue Feng RENEWAL
Faith H StensethUnited KingdomBernardo Dominic RENEWAL
Stacey O DilliardBrazilAsiya Javayant NEGOTIATION
Stacey T MaletJapanStephen Shaw UNQUALIFIED
Smith P CaudyArgentinaAnna Fali NEW
Murillo W MorascaBrazilElwin Sharvill RENEWAL
Jennifer D WhobreyCanadaStephen Shaw PROPOSAL
Morrow A PoquetteCanadaXuxue Feng UNQUALIFIED
Aika C RutaFranceOnyama Limba NEW
Arvin F MorascaItalyBernardo Dominic PROPOSAL
Antonio L MaletAustraliaBernardo Dominic RENEWAL
Johnson V AlbaresIndiaStephen Shaw UNQUALIFIED
Kadeem D CampainCanadaAsiya Javayant NEGOTIATION
Salvatore F StockhamRussiaAnna Fali PROPOSAL
Juan E RulapaughBrazilAnna Fali RENEWAL
Johnson N FollerGermanyIoni Bowcher PROPOSAL
Aruna H VenereAustraliaStephen Shaw UNQUALIFIED
Johnson V StockhamJapanBernardo Dominic QUALIFIED
Octavia W RoysterFranceAnna Fali UNQUALIFIED
Tony I CampainAustraliaIoni Bowcher RENEWAL
Leon L FlosiBrazilIvan Magalhaes NEW
Antonio I CampainArgentinaAmy Elsner 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">
            <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>