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
Leon O BriddickBrazilAmy Elsner UNQUALIFIED
Izzy H MacleadSpainAmy Elsner RENEWAL
David E IturbideArgentinaAsiya Javayant NEGOTIATION
Costa S RutaItalyAmy Elsner QUALIFIED
Jefferson U OldroydBrazilAnna Fali NEGOTIATION
Juan Z PerinUnited KingdomAsiya Javayant NEGOTIATION
Chavez I BriddickItalyIoni Bowcher NEGOTIATION
Clifford K RulapaughFranceAnna Fali UNQUALIFIED
Sinclair J CaldareraAustraliaAmy Elsner QUALIFIED
Cody X KuskoIndiaIoni Bowcher PROPOSAL
Greenwood Z MaletJapanXuxue Feng RENEWAL
Mujtaba G MaletCanadaAnna Fali NEW
Adams Z RutaIndiaAsiya Javayant PROPOSAL
Julie R AmigonBrazilOnyama Limba NEGOTIATION
Morrow T MarrierJapanStephen Shaw RENEWAL
Deepesh V AmigonGermanyElwin Sharvill RENEWAL
Aditya K SlusarskiAustraliaBernardo Dominic QUALIFIED
Darci I WaycottCanadaXuxue Feng UNQUALIFIED
Emily C TollnerIndiaElwin Sharvill PROPOSAL
Costa D SaylorsRussiaBernardo Dominic RENEWAL
Juan C FlosiJapanBernardo Dominic NEW
Munro Q MaletAustraliaAnna Fali NEW
Greenwood E RoysterIndiaStephen Shaw UNQUALIFIED
Francesco T GauchoAustraliaElwin Sharvill RENEWAL
Nicolas Q RulapaughAustraliaAmy Elsner PROPOSAL
David X OstroskyGermanyOnyama Limba UNQUALIFIED
Izzy K RutaJapanAnna Fali RENEWAL
Salvatore U FollerIndiaAsiya Javayant RENEWAL
Salvatore Q NickaItalyStephen Shaw NEGOTIATION
Rodrigues T BowleyArgentinaXuxue Feng PROPOSAL
Juan N PaprockiFranceElwin Sharvill RENEWAL
David T BriddickIndiaAnna Fali RENEWAL
Cody Y SaylorsJapanOnyama Limba UNQUALIFIED
Nicolas M RutaUnited KingdomElwin Sharvill NEGOTIATION
Johnson G FollerUnited KingdomXuxue Feng NEW
Greenwood B FigeroaAustraliaStephen Shaw UNQUALIFIED
Antonio L ButtGermanyXuxue Feng PROPOSAL
Darci K SaylorsJapanOnyama Limba NEGOTIATION
Faith P KolmetzFranceAmy Elsner PROPOSAL
Stacey H BologniaRussiaIoni Bowcher RENEWAL
Jefferson W BologniaItalyStephen Shaw QUALIFIED
Wickens G SergiUnited KingdomElwin Sharvill PROPOSAL
Jefferson F MarrierIndiaOnyama Limba UNQUALIFIED
Arvin T BologniaArgentinaAmy Elsner NEW
Mayumi J WhobreyUnited KingdomAnna Fali UNQUALIFIED
Aika V DarakjyIndiaAsiya Javayant QUALIFIED
Emily Z FlosiAustraliaXuxue Feng NEGOTIATION
Chavez F MaletSpainBernardo Dominic UNQUALIFIED
Maisha G WaycottAustraliaIvan Magalhaes UNQUALIFIED
Jones Q BriddickFranceAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ashley F OstroskyCanadaAmy Elsner QUALIFIED
Morrow D RimGermanyStephen Shaw QUALIFIED
Alejandro Z DilliardRussiaAnna Fali PROPOSAL
Arvin I OldroydCanadaIvan Magalhaes NEW
Arvin Q DilliardIndiaAsiya Javayant RENEWAL
Aruna E WhobreyCanadaAsiya Javayant NEGOTIATION
Aditya R SchemmerIndiaIvan Magalhaes QUALIFIED
Morrow C NestleItalyOnyama Limba RENEWAL
Ashley V ShinkoCanadaOnyama Limba UNQUALIFIED
Izzy R FigeroaJapanOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio N CaudyRussia2024-05-29Feiner Bros NEW63Asiya Javayant
1001Isabel H NestleRussia2024-05-26Feltz Printing Service PROPOSAL73Stephen Shaw
1002Juan E VenereFrance2024-06-03Chapman, Ross E Esq RENEWAL50Elwin Sharvill
1003Munro Y AlbaresJapan2024-06-07Buckley Miller Wright NEW3Amy Elsner
1004Mujtaba F RulapaughArgentina2024-06-04Dorl, James J Esq QUALIFIED55Xuxue Feng
1005Ivar Z CaldareraItaly2024-06-09Morlong Associates QUALIFIED92Asiya Javayant
1006Arvin N DilliardCanada2024-06-06Chemel, James L Cpa PROPOSAL86Ivan Magalhaes
1007Cody Q GauchoCanada2024-05-26Chanay, Jeffrey A Esq NEW86Onyama Limba
1008Clifford K WaycottGermany2024-06-09Chanay, Jeffrey A Esq PROPOSAL47Ivan Magalhaes
1009Mayumi K RimSpain2024-06-06King, Christopher A Esq NEW52Bernardo Dominic
1010James Z BriddickGermany2024-05-29Rangoni Of Florence NEGOTIATION13Asiya Javayant
1011Tony P CampainItaly2024-06-20Feiner Bros UNQUALIFIED56Onyama Limba
1012Jones T InouyeArgentina2024-06-15Buckley Miller Wright UNQUALIFIED69Ioni Bowcher
1013Johnson O FlosiUnited Kingdom2024-06-20Benton, John B Jr NEW78Ioni Bowcher
1014Leon R IturbideUnited Kingdom2024-05-25Chemel, James L Cpa NEGOTIATION27Stephen Shaw
1015Jennifer F WieserFrance2024-06-05Morlong Associates RENEWAL0Stephen Shaw
1016Adams M StensethAustralia2024-06-03Printing Dimensions NEGOTIATION73Bernardo Dominic
1017Stacey K StensethRussia2024-06-12Morlong Associates NEW88Asiya Javayant
1018Arvin L RulapaughCanada2024-05-25Chemel, James L Cpa NEGOTIATION1Xuxue Feng
1019Ashley H FerenczCanada2024-06-04Truhlar And Truhlar Attys NEGOTIATION52Elwin Sharvill
1020Juan J KolmetzItaly2024-06-07Truhlar And Truhlar Attys NEGOTIATION83Elwin Sharvill
1021Izzy R StockhamArgentina2024-05-24King, Christopher A Esq UNQUALIFIED13Ivan Magalhaes
1022Jones S GauchoBrazil2024-06-16Chapman, Ross E Esq PROPOSAL14Xuxue Feng
1023Johnson H IturbideBrazil2024-06-15Commercial Press NEGOTIATION35Asiya Javayant
1024Costa R SlusarskiRussia2024-06-22King, Christopher A Esq QUALIFIED13Onyama Limba
1025Deepesh R SaylorsArgentina2024-05-26Morlong Associates NEGOTIATION61Xuxue Feng
1026Chavez S CaldareraSpain2024-05-24Commercial Press QUALIFIED93Anna Fali
1027Jeanfrancois N RimItaly2024-06-15Commercial Press NEGOTIATION50Onyama Limba
1028Chavez J NestleUnited Kingdom2024-06-22Chemel, James L Cpa PROPOSAL86Ioni Bowcher
1029Jones V CampainAustralia2024-06-15Dorl, James J Esq NEGOTIATION98Ioni Bowcher
1030Cody X VenereArgentina2024-05-31Benton, John B Jr PROPOSAL53Ivan Magalhaes
1031Aruna C RulapaughItaly2024-05-30Commercial Press NEGOTIATION81Onyama Limba
1032Chavez K WaycottArgentina2024-06-05Printing Dimensions QUALIFIED87Ioni Bowcher
1033Tony V MacleadIndia2024-05-30Morlong Associates NEW58Xuxue Feng
1034Mujtaba U DoeFrance2024-06-16Chemel, James L Cpa QUALIFIED44Ivan Magalhaes
1035Mujtaba T MaletGermany2024-06-01Dorl, James J Esq PROPOSAL68Asiya Javayant
1036Jones G SchemmerCanada2024-06-19Feltz Printing Service QUALIFIED45Anna Fali
1037Aruna U CaudyIndia2024-05-29Benton, John B Jr NEW14Asiya Javayant
1038Jennifer N IturbideGermany2024-06-14Chanay, Jeffrey A Esq NEW98Anna Fali
1039Ricardo F PaprockiItaly2024-06-04Benton, John B Jr UNQUALIFIED39Stephen Shaw
1040Morrow D StockhamJapan2024-05-24Buckley Miller Wright UNQUALIFIED17Elwin Sharvill
1041Julie U VenereIndia2024-06-21Chemel, James L Cpa UNQUALIFIED37Stephen Shaw
1042Murillo M MarrierArgentina2024-06-08Printing Dimensions NEW96Elwin Sharvill
1043Wickens P AlbaresUnited Kingdom2024-05-26Rangoni Of Florence PROPOSAL39Xuxue Feng
1044Adams B CaudyRussia2024-06-21Rousseaux, Michael Esq NEGOTIATION65Ioni Bowcher
1045Johnson P IturbideIndia2024-06-11Rangoni Of Florence NEW75Onyama Limba
1046Clifford N RulapaughCanada2024-06-14Morlong Associates NEW20Ivan Magalhaes
1047Aruna O MaletItaly2024-06-05Truhlar And Truhlar Attys NEGOTIATION24Xuxue Feng
1048Misaki R OstroskySpain2024-06-21Truhlar And Truhlar Attys QUALIFIED81Anna Fali
1049Salvatore Z DoeBrazil2024-06-12Chapman, Ross E Esq QUALIFIED51Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily M KolmetzGermanyIvan Magalhaes NEW
Arvin O IturbideGermanyBernardo Dominic NEGOTIATION
Izzy Z GauchoCanadaElwin Sharvill PROPOSAL
Cody L BologniaCanadaAmy Elsner QUALIFIED
Munro M GlickArgentinaIoni Bowcher NEW
Maria T PaprockiItalyElwin Sharvill UNQUALIFIED
Cody U SlusarskiBrazilIoni Bowcher RENEWAL
Izzy O WhobreyCanadaElwin Sharvill UNQUALIFIED
Misaki J CaldareraItalyAsiya Javayant RENEWAL
Costa J FerenczFranceAnna Fali NEGOTIATION
Ivar H NickaItalyBernardo Dominic QUALIFIED
Johnson F AmigonJapanAsiya Javayant QUALIFIED
Jennifer L BologniaJapanAmy Elsner NEW
Izzy H SchemmerUnited KingdomBernardo Dominic NEW
Clifford Y PaprockiItalyStephen Shaw PROPOSAL
Jefferson A MaletAustraliaAmy Elsner PROPOSAL
Faith M RimItalyXuxue Feng NEW
Murillo Q ChuiJapanIoni Bowcher PROPOSAL
Greenwood Q CaudyItalyXuxue Feng NEGOTIATION
Leja V NestleIndiaOnyama Limba RENEWAL
James K KolmetzFranceElwin Sharvill RENEWAL
Smith Q InouyeItalyXuxue Feng PROPOSAL
Kaitlin H MacleadRussiaIoni Bowcher QUALIFIED
Leon R MarrierIndiaAmy Elsner UNQUALIFIED
Leja Y StockhamArgentinaAmy Elsner UNQUALIFIED
Isabel E IturbideRussiaXuxue Feng NEGOTIATION
Jones D WaycottRussiaStephen Shaw NEGOTIATION
Aika M SlusarskiBrazilIvan Magalhaes NEW
Jeanfrancois W DoeArgentinaIvan Magalhaes RENEWAL
Izzy B SaylorsIndiaBernardo Dominic UNQUALIFIED
Leon T SergiFranceXuxue Feng UNQUALIFIED
Julie R MaletJapanIoni Bowcher QUALIFIED
Claire V OldroydAustraliaAmy Elsner PROPOSAL
Adams S FigeroaAustraliaOnyama Limba PROPOSAL
Ricardo E SchemmerFranceOnyama Limba NEGOTIATION
Clifford C MorascaIndiaXuxue Feng NEW
Clifford K ButtFranceIoni Bowcher NEW
Jefferson C MacleadIndiaAmy Elsner PROPOSAL
Kaitlin S NestleFranceIoni Bowcher UNQUALIFIED
Tony N RulapaughFranceStephen Shaw NEW
Kaitlin N WhobreyGermanyBernardo Dominic RENEWAL
Silvio V NickaItalyBernardo Dominic RENEWAL
Greenwood F GauchoIndiaIoni Bowcher QUALIFIED
Claire Q DarakjyIndiaOnyama Limba NEW
Ashley X GauchoGermanyIoni Bowcher QUALIFIED
Julie K ShinkoFranceIoni Bowcher QUALIFIED
Octavia V KuskoJapanStephen Shaw UNQUALIFIED
Cody K NestleItalyXuxue Feng QUALIFIED
Clifford E CaudyFranceElwin Sharvill NEW
Claire D TollnerItalyIoni Bowcher NEGOTIATION
Frozen Columns
Name
Claire P Saylors
Jones N Glick
Mujtaba F Ostrosky
Francesco L Rim
Alejandro N Flosi
Juan O Kolmetz
Octavia F Stockham
Francesco E Rulapaugh
Sinclair H Schemmer
Ivar T Kolmetz
Clifford H Oldroyd
Mujtaba Z Chui
Jeanfrancois H Wieser
Ricardo J Doe
Alejandro V Foller
Claire M Paprocki
Aruna T Caudy
Francesco B Whobrey
Antonio C Royster
Clifford C Vocelka
Costa V Figeroa
Faith Z Briddick
Clifford B Kolmetz
Kadeem F Flosi
Kadeem Q Rulapaugh
Rodrigues Z Vocelka
Aditya H Maclead
Jeanfrancois N Gillian
Francesco O Maclead
Tony Z Amigon
Misaki C Paprocki
Clifford R Inouye
Maisha Q Morasca
Maria G Bolognia
Sinclair L Paprocki
Aika D Oldroyd
Clifford F Chui
Leon V Sergi
Octavia S Glick
Adams A Stenseth
Octavia I Saylors
Francesco M Ostrosky
Maria U Flosi
Maisha A Waycott
Aruna X Chui
Deepesh D Glick
Misaki R Figeroa
Adams H Maclead
Chavez R Butt
Misaki X Nicka
IdCountryDate
1000Argentina2024-05-29
1001Australia2024-06-13
1002Germany2024-06-02
1003Canada2024-06-13
1004Spain2024-06-03
1005Australia2024-06-14
1006Spain2024-06-21
1007Australia2024-06-21
1008France2024-06-16
1009Spain2024-06-14
1010United Kingdom2024-05-29
1011Australia2024-06-07
1012India2024-05-26
1013Canada2024-05-24
1014Japan2024-05-29
1015France2024-06-17
1016Spain2024-06-13
1017France2024-05-30
1018Canada2024-05-31
1019United Kingdom2024-05-30
1020Japan2024-06-16
1021United Kingdom2024-06-12
1022Brazil2024-05-24
1023India2024-05-25
1024Australia2024-06-08
1025Spain2024-05-28
1026India2024-06-02
1027Japan2024-06-15
1028Russia2024-06-13
1029France2024-06-06
1030Germany2024-06-02
1031Argentina2024-06-21
1032Italy2024-06-18
1033India2024-05-30
1034Argentina2024-06-16
1035Russia2024-06-12
1036Germany2024-06-12
1037Spain2024-06-10
1038Spain2024-06-14
1039Brazil2024-06-17
1040India2024-05-31
1041Italy2024-06-12
1042Brazil2024-05-25
1043Brazil2024-05-28
1044Brazil2024-06-09
1045Brazil2024-06-18
1046Spain2024-06-18
1047Argentina2024-05-26
1048Russia2024-06-12
1049France2024-06-14

On-Demand Data

NameIdCountryDate
Alejandro P Kusko1000Spain2024-06-03
Wickens Y Albares1001United Kingdom2024-06-11
Jefferson S Paprocki1002Australia2024-06-18
Sinclair O Gillian1003Brazil2024-06-02
Chavez R Gaucho1004Russia2024-06-10
Claire Z Doe1005Italy2024-06-17
Leja Y Rulapaugh1006Australia2024-06-05
Jones M Shinko1007India2024-06-10
Antonio R Poquette1008Italy2024-05-30
Smith R Caudy1009Japan2024-06-12
Clifford V Albares1010Russia2024-06-10
Greenwood I Campain1011India2024-06-07
Aruna G Ruta1012Germany2024-06-16
Jennifer J Gaucho1013Australia2024-06-01
Morrow C Sergi1014Argentina2024-05-30
Antonio N Tollner1015India2024-05-29
Izzy F Glick1016India2024-06-14
Tony K Tollner1017Spain2024-06-02
Aika X Venere1018Japan2024-05-30
Aruna X Doe1019Japan2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford Z FollerArgentinaXuxue Feng RENEWAL
Jones U GlickBrazilElwin Sharvill QUALIFIED
Smith I RimGermanyBernardo Dominic QUALIFIED
Tony I FollerJapanAsiya Javayant NEGOTIATION
Darci H StensethFranceAmy Elsner RENEWAL
Claire F BologniaArgentinaBernardo Dominic NEGOTIATION
Greenwood D AlbaresAustraliaBernardo Dominic QUALIFIED
Murillo E GlickFranceElwin Sharvill NEW
Leja O OstroskyItalyAmy Elsner UNQUALIFIED
Julie H PoquetteJapanStephen Shaw UNQUALIFIED
Sinclair E NestleFranceAnna Fali UNQUALIFIED
Tony Z CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Chavez S FerenczSpainAsiya Javayant NEGOTIATION
Claire C StensethBrazilIoni Bowcher NEW
Emily D PaprockiBrazilElwin Sharvill RENEWAL
Julie N RoysterRussiaAnna Fali UNQUALIFIED
Mujtaba M PaprockiIndiaIvan Magalhaes NEGOTIATION
Juan D DoeIndiaAnna Fali NEGOTIATION
Aditya W GillianBrazilAmy Elsner QUALIFIED
Kaitlin M BowleyUnited KingdomAmy Elsner RENEWAL
Aika Z FlosiGermanyIoni Bowcher QUALIFIED
Juan X ButtItalyAsiya Javayant NEW
Jennifer H VenereRussiaOnyama Limba PROPOSAL
Mujtaba Z BowleyAustraliaAnna Fali NEW
Deepesh A OldroydItalyAmy Elsner NEGOTIATION
Deepesh M ShinkoAustraliaBernardo Dominic RENEWAL
Clifford R VenereArgentinaXuxue Feng UNQUALIFIED
Ricardo W BologniaCanadaXuxue Feng PROPOSAL
Stacey M FigeroaGermanyAmy Elsner RENEWAL
Juan E WaycottGermanyStephen Shaw PROPOSAL
Julie P CaudyBrazilXuxue Feng NEGOTIATION
Arvin X MarrierItalyOnyama Limba PROPOSAL
Silvio J GauchoUnited KingdomBernardo Dominic RENEWAL
Salvatore M NestleArgentinaElwin Sharvill QUALIFIED
Kadeem L GauchoItalyAmy Elsner UNQUALIFIED
Darci F IturbideArgentinaBernardo Dominic UNQUALIFIED
Aika I NickaUnited KingdomElwin Sharvill NEGOTIATION
Isabel Z OstroskyUnited KingdomAnna Fali QUALIFIED
Stacey B PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Wickens K RimGermanyAsiya Javayant QUALIFIED

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