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
Sinclair X PerinItalyIoni Bowcher QUALIFIED
Leon V ButtItalyOnyama Limba UNQUALIFIED
Sinclair A OldroydGermanyAnna Fali PROPOSAL
Kadeem D TollnerUnited KingdomXuxue Feng NEGOTIATION
Leja M VocelkaIndiaIoni Bowcher UNQUALIFIED
Claire S DilliardUnited KingdomXuxue Feng UNQUALIFIED
Leja Y RutaSpainAsiya Javayant UNQUALIFIED
Costa N SaylorsFranceAmy Elsner NEW
Johnson L DilliardJapanAmy Elsner QUALIFIED
Rodrigues X InouyeCanadaIvan Magalhaes NEGOTIATION
Munro A MorascaRussiaStephen Shaw RENEWAL
Arvin U MacleadSpainElwin Sharvill NEW
Aika V BologniaSpainXuxue Feng RENEWAL
Aditya S IturbideJapanStephen Shaw NEW
Adams I FigeroaAustraliaAsiya Javayant UNQUALIFIED
Clifford J ButtJapanAnna Fali UNQUALIFIED
Jeanfrancois T NickaIndiaAnna Fali NEGOTIATION
Stacey A InouyeIndiaBernardo Dominic QUALIFIED
Julie O AlbaresCanadaAnna Fali NEGOTIATION
Salvatore O MacleadJapanAnna Fali UNQUALIFIED
James M SergiFranceAnna Fali UNQUALIFIED
Smith W ShinkoIndiaIoni Bowcher UNQUALIFIED
Murillo X WaycottSpainStephen Shaw UNQUALIFIED
Greenwood D VocelkaIndiaXuxue Feng NEGOTIATION
Sinclair D DoeAustraliaAnna Fali NEGOTIATION
Smith H RutaItalyIoni Bowcher NEGOTIATION
Munro N StockhamCanadaAsiya Javayant NEGOTIATION
Chavez Y KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Emily O WieserFranceIvan Magalhaes UNQUALIFIED
Silvio Y DarakjySpainIoni Bowcher NEW
Maria Y GillianIndiaIvan Magalhaes QUALIFIED
Salvatore W PaprockiGermanyBernardo Dominic NEGOTIATION
Darci K StockhamJapanStephen Shaw NEW
Jones X MorascaUnited KingdomIvan Magalhaes RENEWAL
Julie K RulapaughJapanXuxue Feng NEGOTIATION
Leon E KolmetzIndiaIoni Bowcher NEW
Jefferson R StockhamAustraliaOnyama Limba PROPOSAL
David C BriddickRussiaXuxue Feng PROPOSAL
Stacey W PoquetteArgentinaStephen Shaw QUALIFIED
Morrow O BologniaFranceAsiya Javayant UNQUALIFIED
Jefferson A BowleyBrazilIvan Magalhaes PROPOSAL
Arvin V RoysterGermanyStephen Shaw QUALIFIED
Darci W DoeBrazilAnna Fali NEGOTIATION
Maria V SchemmerAustraliaIoni Bowcher NEW
Greenwood M WieserArgentinaOnyama Limba NEGOTIATION
Salvatore I OldroydArgentinaAmy Elsner QUALIFIED
Aditya N AmigonGermanyIoni Bowcher NEGOTIATION
Adams A KuskoUnited KingdomBernardo Dominic RENEWAL
Rodrigues J ShinkoIndiaAmy Elsner UNQUALIFIED
Izzy U MarrierSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire T FigeroaBrazilAmy Elsner NEGOTIATION
Aditya E MacleadRussiaAmy Elsner NEW
Costa A CampainArgentinaStephen Shaw RENEWAL
Wickens G SaylorsCanadaStephen Shaw PROPOSAL
David O CaldareraAustraliaXuxue Feng RENEWAL
Julie F MarrierBrazilOnyama Limba NEGOTIATION
Faith S RoysterSpainOnyama Limba RENEWAL
Salvatore E NestleRussiaBernardo Dominic UNQUALIFIED
Ricardo V VenereArgentinaAmy Elsner NEW
Francesco H CaldareraIndiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan B BologniaFrance2024-06-22Printing Dimensions NEW55Ioni Bowcher
1001Clifford O SlusarskiArgentina2024-06-09Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1002Octavia E GlickGermany2024-06-04Chemel, James L Cpa UNQUALIFIED55Xuxue Feng
1003Jefferson Q BriddickItaly2024-06-17Printing Dimensions NEW75Amy Elsner
1004Salvatore E TollnerRussia2024-06-03Buckley Miller Wright PROPOSAL50Stephen Shaw
1005Jennifer M StensethIndia2024-06-07Buckley Miller Wright PROPOSAL58Asiya Javayant
1006Maisha R WieserFrance2024-06-04Dorl, James J Esq NEGOTIATION90Anna Fali
1007Aika L KolmetzArgentina2024-05-27Chapman, Ross E Esq NEGOTIATION28Bernardo Dominic
1008Maria B StensethIndia2024-06-20Buckley Miller Wright PROPOSAL5Xuxue Feng
1009Jennifer J MacleadIndia2024-06-21Truhlar And Truhlar Attys NEW73Bernardo Dominic
1010Alejandro G DarakjyItaly2024-05-30Chemel, James L Cpa NEW64Stephen Shaw
1011Antonio L RimSpain2024-06-19King, Christopher A Esq QUALIFIED11Xuxue Feng
1012Aika G InouyeBrazil2024-06-08Rousseaux, Michael Esq UNQUALIFIED38Ivan Magalhaes
1013Faith J NestleJapan2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED53Asiya Javayant
1014Clifford V CaldareraSpain2024-05-29Printing Dimensions NEGOTIATION84Ivan Magalhaes
1015Rodrigues Q WhobreyItaly2024-06-18Feltz Printing Service NEGOTIATION99Xuxue Feng
1016Chavez U MorascaItaly2024-06-20Morlong Associates NEGOTIATION99Elwin Sharvill
1017Cody B CaudyItaly2024-05-28Buckley Miller Wright QUALIFIED8Anna Fali
1018Ivar D StockhamRussia2024-06-02Printing Dimensions RENEWAL35Bernardo Dominic
1019Greenwood R ChuiArgentina2024-05-29Feiner Bros NEW47Amy Elsner
1020Maria I PaprockiJapan2024-06-20Chanay, Jeffrey A Esq NEGOTIATION13Anna Fali
1021Leja Y RoysterFrance2024-06-08Benton, John B Jr RENEWAL7Xuxue Feng
1022Emily A OstroskyGermany2024-05-24Commercial Press QUALIFIED9Asiya Javayant
1023Leon O RimGermany2024-06-16Rousseaux, Michael Esq UNQUALIFIED28Xuxue Feng
1024Jeanfrancois I DoeGermany2024-06-15Commercial Press NEW99Amy Elsner
1025David V MaletRussia2024-06-18King, Christopher A Esq UNQUALIFIED21Ivan Magalhaes
1026Jones K NestleFrance2024-06-19Chemel, James L Cpa PROPOSAL47Bernardo Dominic
1027Leon B DilliardSpain2024-06-21Feiner Bros RENEWAL21Stephen Shaw
1028Julie P BologniaBrazil2024-05-25Rangoni Of Florence UNQUALIFIED28Elwin Sharvill
1029Murillo N RutaSpain2024-05-25Chemel, James L Cpa RENEWAL71Stephen Shaw
1030Stacey O AlbaresCanada2024-05-27King, Christopher A Esq RENEWAL13Anna Fali
1031Misaki Z GlickAustralia2024-06-11Chapman, Ross E Esq UNQUALIFIED33Xuxue Feng
1032Ivar U WieserRussia2024-06-14Chemel, James L Cpa QUALIFIED23Bernardo Dominic
1033Jeanfrancois V VenereGermany2024-06-08Rousseaux, Michael Esq UNQUALIFIED22Asiya Javayant
1034Jones Q SaylorsArgentina2024-06-06Buckley Miller Wright NEW7Bernardo Dominic
1035Julie V SergiUnited Kingdom2024-06-09Printing Dimensions PROPOSAL26Xuxue Feng
1036Alejandro R TollnerBrazil2024-06-15Feiner Bros RENEWAL33Amy Elsner
1037Rodrigues S AmigonCanada2024-06-08Chemel, James L Cpa NEGOTIATION88Xuxue Feng
1038Cody U VenereIndia2024-05-30Truhlar And Truhlar Attys PROPOSAL72Bernardo Dominic
1039Johnson V AlbaresSpain2024-06-12Chanay, Jeffrey A Esq NEW55Amy Elsner
1040Leja F OstroskyJapan2024-06-10Printing Dimensions NEW4Ivan Magalhaes
1041Faith A GillianUnited Kingdom2024-06-18Buckley Miller Wright QUALIFIED16Elwin Sharvill
1042Jefferson B DarakjyCanada2024-06-19Printing Dimensions NEW61Ioni Bowcher
1043Ricardo Y SlusarskiIndia2024-06-16Commercial Press NEGOTIATION83Anna Fali
1044Emily X FlosiCanada2024-05-29Rangoni Of Florence UNQUALIFIED84Elwin Sharvill
1045Clifford D KolmetzGermany2024-06-02Chapman, Ross E Esq NEGOTIATION71Xuxue Feng
1046Chavez Q MacleadAustralia2024-06-10Truhlar And Truhlar Attys RENEWAL80Anna Fali
1047Kadeem A GlickSpain2024-05-24Morlong Associates UNQUALIFIED55Xuxue Feng
1048Juan D RulapaughFrance2024-06-20Chemel, James L Cpa NEGOTIATION68Stephen Shaw
1049Arvin A VenereGermany2024-06-13Benton, John B Jr NEGOTIATION9Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan G NestleFranceOnyama Limba RENEWAL
Darci P BriddickItalyIoni Bowcher QUALIFIED
Kaitlin R AlbaresGermanyAmy Elsner PROPOSAL
Maria I RimArgentinaElwin Sharvill PROPOSAL
Silvio T TollnerSpainXuxue Feng RENEWAL
Ivar H SergiItalyAnna Fali QUALIFIED
Aika E VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Cody C NickaArgentinaAmy Elsner RENEWAL
Aditya E CaldareraSpainIvan Magalhaes NEGOTIATION
Aditya V WhobreyRussiaAmy Elsner QUALIFIED
Jefferson B AmigonArgentinaIvan Magalhaes NEW
Jeanfrancois U OldroydSpainAmy Elsner UNQUALIFIED
Izzy U PerinArgentinaAmy Elsner RENEWAL
Salvatore I RutaCanadaIvan Magalhaes QUALIFIED
Ivar N PoquetteCanadaXuxue Feng UNQUALIFIED
David V MaletArgentinaOnyama Limba RENEWAL
Emily E MarrierIndiaElwin Sharvill PROPOSAL
Aruna N ShinkoAustraliaAmy Elsner QUALIFIED
Juan I AmigonCanadaElwin Sharvill UNQUALIFIED
James A FerenczBrazilAsiya Javayant RENEWAL
Ashley E WhobreyJapanIvan Magalhaes UNQUALIFIED
Deepesh G BologniaGermanyXuxue Feng PROPOSAL
Rodrigues F SergiJapanOnyama Limba NEGOTIATION
Jeanfrancois N BowleyAustraliaAmy Elsner NEW
Darci L MacleadAustraliaIoni Bowcher NEGOTIATION
Adams O CaldareraCanadaIoni Bowcher PROPOSAL
Jennifer I ButtItalyAsiya Javayant QUALIFIED
Aika K GauchoItalyIoni Bowcher RENEWAL
James I PerinGermanyAnna Fali NEGOTIATION
Greenwood A RoysterUnited KingdomOnyama Limba NEGOTIATION
Kadeem S AmigonArgentinaBernardo Dominic NEGOTIATION
Ivar I TollnerUnited KingdomBernardo Dominic RENEWAL
Aruna Y FerenczJapanXuxue Feng UNQUALIFIED
Murillo U KuskoBrazilIoni Bowcher PROPOSAL
Misaki C MorascaUnited KingdomElwin Sharvill PROPOSAL
Chavez Z TollnerUnited KingdomOnyama Limba NEW
Stacey E PerinIndiaXuxue Feng NEGOTIATION
Deepesh Y SchemmerSpainElwin Sharvill NEGOTIATION
Munro R AmigonJapanIoni Bowcher NEGOTIATION
Faith S KuskoBrazilOnyama Limba NEGOTIATION
Emily C PoquetteFranceAnna Fali PROPOSAL
Chavez U RulapaughIndiaXuxue Feng PROPOSAL
Leja Q WieserBrazilAmy Elsner QUALIFIED
Kaitlin S VocelkaIndiaAsiya Javayant UNQUALIFIED
Leja W AmigonUnited KingdomAnna Fali PROPOSAL
Ricardo F RimAustraliaAnna Fali PROPOSAL
Munro H SchemmerIndiaIvan Magalhaes NEGOTIATION
Faith J NickaUnited KingdomAsiya Javayant UNQUALIFIED
Cody P GarufiFranceStephen Shaw PROPOSAL
Deepesh Q KolmetzSpainOnyama Limba QUALIFIED
Frozen Columns
Name
Jennifer R Nicka
Wickens O Albares
David N Dilliard
Octavia M Shinko
Ricardo G Ostrosky
Misaki L Bolognia
Stacey I Malet
Johnson U Figeroa
Kaitlin K Campain
Jefferson V Ferencz
Jones D Perin
James T Morasca
Isabel V Poquette
Jennifer H Malet
Mujtaba C Venere
Aika Q Figeroa
David S Gaucho
Jefferson N Dilliard
Tony N Maclead
Jones I Caldarera
Claire N Figeroa
Aruna T Waycott
Jones W Sergi
Maisha O Flosi
Silvio U Ostrosky
Sinclair B Saylors
Adams Z Butt
Jefferson Y Nestle
Claire R Foller
Izzy V Doe
Maisha T Oldroyd
Julie Q Stenseth
Sinclair S Iturbide
Octavia F Foller
Faith V Royster
Julie Z Stenseth
Octavia C Ferencz
Ashley C Kusko
Isabel T Ferencz
Julie M Glick
Aika K Campain
Faith H Oldroyd
Deepesh B Kusko
James Q Venere
Munro E Ferencz
James Q Wieser
Misaki Z Inouye
Darci K Figeroa
Mujtaba P Rim
Mayumi U Iturbide
IdCountryDate
1000Japan2024-06-08
1001Australia2024-05-29
1002Australia2024-06-01
1003Germany2024-05-27
1004France2024-06-03
1005Australia2024-06-11
1006United Kingdom2024-06-08
1007Canada2024-05-29
1008Australia2024-05-27
1009Spain2024-06-16
1010India2024-05-28
1011India2024-06-11
1012United Kingdom2024-05-28
1013France2024-06-21
1014Argentina2024-06-03
1015Italy2024-06-18
1016Australia2024-06-05
1017Japan2024-06-16
1018Japan2024-06-16
1019France2024-06-02
1020Germany2024-06-08
1021Canada2024-06-02
1022Germany2024-05-24
1023Russia2024-06-18
1024Spain2024-06-01
1025Argentina2024-06-05
1026India2024-06-15
1027Germany2024-05-25
1028Russia2024-05-29
1029Germany2024-06-20
1030Italy2024-05-26
1031Italy2024-05-24
1032United Kingdom2024-06-07
1033Brazil2024-06-16
1034Australia2024-06-16
1035Italy2024-06-10
1036Argentina2024-05-26
1037Brazil2024-06-11
1038United Kingdom2024-06-17
1039Spain2024-06-09
1040Japan2024-06-18
1041Australia2024-06-01
1042Canada2024-05-26
1043France2024-06-12
1044Australia2024-06-14
1045Russia2024-05-29
1046Germany2024-06-19
1047Canada2024-06-19
1048Brazil2024-05-30
1049France2024-06-17

On-Demand Data

NameIdCountryDate
Aika R Shinko1000India2024-06-07
Emily A Butt1001India2024-05-28
Claire F Morasca1002Argentina2024-06-14
Misaki S Caudy1003Brazil2024-06-17
Leon L Slusarski1004India2024-06-05
Juan D Perin1005United Kingdom2024-06-19
Alejandro W Bolognia1006Japan2024-06-04
Smith D Campain1007Russia2024-06-10
Izzy Y Darakjy1008India2024-06-13
Clifford J Flosi1009India2024-06-06
James S Oldroyd1010Canada2024-05-31
Arvin L Malet1011Spain2024-05-25
Juan X Dilliard1012France2024-05-28
Maria G Vocelka1013Spain2024-06-01
Munro E Malet1014Japan2024-06-21
Aruna H Chui1015Canada2024-06-04
Maisha P Schemmer1016France2024-05-27
Maria V Kolmetz1017Australia2024-05-28
Murillo D Inouye1018Canada2024-06-17
Munro B Wieser1019Russia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha E MacleadCanadaIvan Magalhaes NEW
Silvio N GarufiJapanElwin Sharvill PROPOSAL
Costa W AmigonIndiaIoni Bowcher PROPOSAL
Maisha F StensethJapanIoni Bowcher NEGOTIATION
Costa D DoeFranceIvan Magalhaes NEGOTIATION
Francesco K KolmetzSpainIoni Bowcher NEW
Leon I DilliardFranceAnna Fali NEW
Murillo C FlosiArgentinaAnna Fali PROPOSAL
Faith O PerinItalyIvan Magalhaes QUALIFIED
Smith D VocelkaRussiaAsiya Javayant NEW
Ivar U DoeIndiaIvan Magalhaes NEGOTIATION
Claire D OstroskyIndiaStephen Shaw PROPOSAL
Kaitlin R DarakjyBrazilElwin Sharvill RENEWAL
Mayumi Y DoeSpainAnna Fali NEGOTIATION
Chavez Q FerenczRussiaIoni Bowcher NEW
Izzy N CampainFranceAsiya Javayant UNQUALIFIED
Izzy Y CaldareraRussiaIvan Magalhaes RENEWAL
Juan V PoquetteAustraliaAmy Elsner NEGOTIATION
Greenwood Q ShinkoRussiaAmy Elsner UNQUALIFIED
Antonio W ShinkoIndiaElwin Sharvill NEGOTIATION
Kaitlin A BologniaRussiaAmy Elsner NEW
Aditya S SlusarskiBrazilStephen Shaw QUALIFIED
Munro I DoeFranceAsiya Javayant UNQUALIFIED
Murillo V CaldareraGermanyAmy Elsner QUALIFIED
Misaki P RimIndiaStephen Shaw NEW
Leon O BowleyRussiaBernardo Dominic PROPOSAL
Stacey X WaycottBrazilXuxue Feng QUALIFIED
Faith Q CampainArgentinaBernardo Dominic NEW
Isabel U MorascaIndiaIoni Bowcher PROPOSAL
Misaki X MacleadGermanyAmy Elsner NEGOTIATION
Cody K SaylorsGermanyIvan Magalhaes PROPOSAL
Greenwood P GarufiGermanyStephen Shaw NEGOTIATION
Claire Z GarufiFranceStephen Shaw UNQUALIFIED
Kaitlin P MaletArgentinaAnna Fali NEW
Maria Y MarrierGermanyAsiya Javayant NEGOTIATION
Tony L TollnerItalyIoni Bowcher QUALIFIED
Kaitlin J StockhamRussiaAsiya Javayant NEGOTIATION
Arvin C ButtBrazilIoni Bowcher UNQUALIFIED
Darci Y OldroydArgentinaStephen Shaw NEW
Aika V KuskoUnited KingdomAmy 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>