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
Arvin O RutaSpainAsiya Javayant UNQUALIFIED
Ivar O SlusarskiItalyStephen Shaw NEGOTIATION
Murillo Y WaycottFranceAnna Fali PROPOSAL
Claire Y MacleadSpainElwin Sharvill NEW
James Z StensethFranceStephen Shaw RENEWAL
Morrow F KuskoAustraliaIvan Magalhaes PROPOSAL
Ricardo D TollnerArgentinaElwin Sharvill PROPOSAL
David X IturbideIndiaStephen Shaw NEGOTIATION
Juan B DarakjyUnited KingdomAnna Fali RENEWAL
Chavez T WieserItalyStephen Shaw RENEWAL
Ashley P SaylorsUnited KingdomAsiya Javayant RENEWAL
Silvio E FlosiAustraliaElwin Sharvill NEW
Adams C OldroydItalyAmy Elsner UNQUALIFIED
Misaki W ChuiIndiaBernardo Dominic PROPOSAL
Jeanfrancois P WaycottSpainIvan Magalhaes UNQUALIFIED
Ashley D PaprockiItalyIoni Bowcher PROPOSAL
Juan J WaycottArgentinaBernardo Dominic RENEWAL
Deepesh I WhobreyItalyStephen Shaw QUALIFIED
Alejandro X GillianUnited KingdomXuxue Feng QUALIFIED
Ivar W GillianJapanAmy Elsner QUALIFIED
Smith D FerenczSpainAnna Fali NEW
Maria L FerenczFranceAmy Elsner NEGOTIATION
Mujtaba X KuskoBrazilElwin Sharvill QUALIFIED
Jennifer Z CaudyAustraliaElwin Sharvill RENEWAL
Jefferson O MaletBrazilIoni Bowcher UNQUALIFIED
Wickens T VenereFranceIvan Magalhaes QUALIFIED
Aruna R MacleadUnited KingdomOnyama Limba QUALIFIED
Faith V SlusarskiIndiaIoni Bowcher PROPOSAL
Deepesh B PaprockiCanadaElwin Sharvill UNQUALIFIED
Tony B SaylorsIndiaXuxue Feng PROPOSAL
Smith K AmigonRussiaIoni Bowcher PROPOSAL
Maisha R ChuiFranceAmy Elsner PROPOSAL
Costa C MorascaRussiaBernardo Dominic PROPOSAL
Mujtaba P DarakjyFranceAsiya Javayant UNQUALIFIED
Tony G CaudyCanadaBernardo Dominic QUALIFIED
Jones V BriddickItalyIvan Magalhaes NEGOTIATION
Ivar W MaletAustraliaElwin Sharvill UNQUALIFIED
Salvatore I MacleadRussiaAmy Elsner NEGOTIATION
Misaki A AmigonUnited KingdomIoni Bowcher PROPOSAL
Jones K VocelkaRussiaIvan Magalhaes RENEWAL
Munro R FlosiArgentinaStephen Shaw NEW
Clifford V ShinkoGermanyStephen Shaw PROPOSAL
Ivar D VocelkaGermanyStephen Shaw UNQUALIFIED
Ashley T WieserBrazilIoni Bowcher RENEWAL
Stacey U RoysterAustraliaXuxue Feng NEW
Silvio W DilliardGermanyOnyama Limba RENEWAL
Ricardo R NestleSpainStephen Shaw UNQUALIFIED
Francesco Z PoquetteIndiaStephen Shaw PROPOSAL
Chavez V AmigonSpainAmy Elsner NEGOTIATION
Greenwood T FerenczJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie V VocelkaGermanyIoni Bowcher RENEWAL
Leja C PaprockiUnited KingdomXuxue Feng RENEWAL
Costa J NickaFranceXuxue Feng QUALIFIED
Faith H StensethSpainAnna Fali PROPOSAL
Misaki K RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Jennifer W GillianUnited KingdomIoni Bowcher PROPOSAL
Misaki T GlickFranceOnyama Limba RENEWAL
Misaki Z VenereArgentinaAsiya Javayant RENEWAL
Rodrigues E SchemmerCanadaAnna Fali NEGOTIATION
Johnson L PoquetteGermanyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia R FigeroaArgentina2024-06-21Buckley Miller Wright PROPOSAL88Ioni Bowcher
1001Leja M MaletRussia2024-06-06Printing Dimensions UNQUALIFIED11Asiya Javayant
1002Tony R PerinSpain2024-05-27Truhlar And Truhlar Attys NEGOTIATION1Asiya Javayant
1003Greenwood X TollnerRussia2024-06-12Benton, John B Jr QUALIFIED7Stephen Shaw
1004Morrow N MaletUnited Kingdom2024-05-27Dorl, James J Esq NEGOTIATION1Elwin Sharvill
1005David S WieserArgentina2024-05-26Chemel, James L Cpa NEW3Ivan Magalhaes
1006Ricardo F CaldareraGermany2024-06-06Commercial Press QUALIFIED8Amy Elsner
1007Silvio D KuskoArgentina2024-05-28Rangoni Of Florence QUALIFIED13Xuxue Feng
1008Salvatore S RimArgentina2024-06-21Feiner Bros PROPOSAL17Amy Elsner
1009Morrow G FigeroaSpain2024-06-17Buckley Miller Wright RENEWAL96Ivan Magalhaes
1010Salvatore E KuskoJapan2024-05-29Feltz Printing Service RENEWAL33Ivan Magalhaes
1011Ricardo M RutaUnited Kingdom2024-06-18Buckley Miller Wright UNQUALIFIED54Bernardo Dominic
1012Murillo C MaletIndia2024-06-10Commercial Press QUALIFIED75Amy Elsner
1013Tony M RutaRussia2024-06-11Chanay, Jeffrey A Esq QUALIFIED37Ioni Bowcher
1014Isabel H OstroskySpain2024-05-25Buckley Miller Wright NEGOTIATION53Ioni Bowcher
1015Rodrigues Q SlusarskiItaly2024-06-11Benton, John B Jr QUALIFIED54Elwin Sharvill
1016Darci O RoysterArgentina2024-06-16Rousseaux, Michael Esq NEW51Anna Fali
1017Juan A CampainUnited Kingdom2024-06-22Chemel, James L Cpa NEW21Amy Elsner
1018Claire N KolmetzRussia2024-05-31Chapman, Ross E Esq QUALIFIED58Stephen Shaw
1019Clifford M AmigonGermany2024-06-07Commercial Press NEW77Bernardo Dominic
1020Francesco A GarufiJapan2024-05-28Chemel, James L Cpa UNQUALIFIED80Asiya Javayant
1021Juan B NickaItaly2024-05-25Rousseaux, Michael Esq PROPOSAL36Xuxue Feng
1022James V GillianCanada2024-06-04Buckley Miller Wright RENEWAL43Elwin Sharvill
1023Isabel U SlusarskiUnited Kingdom2024-06-17Chapman, Ross E Esq UNQUALIFIED74Anna Fali
1024Leja J MarrierBrazil2024-06-06Feltz Printing Service RENEWAL51Elwin Sharvill
1025Murillo O VenereFrance2024-06-20Benton, John B Jr UNQUALIFIED12Bernardo Dominic
1026Jefferson W FlosiCanada2024-05-25Rangoni Of Florence NEGOTIATION58Amy Elsner
1027Tony N PaprockiBrazil2024-05-25Chanay, Jeffrey A Esq NEGOTIATION90Ioni Bowcher
1028Kaitlin U OstroskyCanada2024-05-29Rangoni Of Florence RENEWAL22Xuxue Feng
1029Kaitlin A RutaRussia2024-06-08Chapman, Ross E Esq NEGOTIATION75Stephen Shaw
1030Deepesh E CaudyIndia2024-06-04Morlong Associates NEGOTIATION94Xuxue Feng
1031Chavez U OstroskyIndia2024-05-26Dorl, James J Esq NEGOTIATION90Ivan Magalhaes
1032Darci W ShinkoSpain2024-06-02King, Christopher A Esq QUALIFIED71Anna Fali
1033Tony X KolmetzBrazil2024-06-19King, Christopher A Esq PROPOSAL70Anna Fali
1034Jefferson G TollnerUnited Kingdom2024-06-22Rangoni Of Florence QUALIFIED17Elwin Sharvill
1035Julie I PerinCanada2024-06-05Chemel, James L Cpa RENEWAL11Elwin Sharvill
1036Jennifer U PoquetteFrance2024-06-19Chemel, James L Cpa RENEWAL11Elwin Sharvill
1037Silvio L StockhamItaly2024-06-10Buckley Miller Wright UNQUALIFIED71Bernardo Dominic
1038Darci I NestleCanada2024-06-05Rousseaux, Michael Esq QUALIFIED81Elwin Sharvill
1039Emily V DilliardIndia2024-06-04Benton, John B Jr PROPOSAL81Amy Elsner
1040Nicolas V DoeSpain2024-05-28Printing Dimensions QUALIFIED46Asiya Javayant
1041Jones Z MaletArgentina2024-06-20Buckley Miller Wright QUALIFIED84Elwin Sharvill
1042Mayumi H NestleFrance2024-06-17Buckley Miller Wright UNQUALIFIED14Xuxue Feng
1043Rodrigues T MacleadBrazil2024-06-03Buckley Miller Wright UNQUALIFIED89Anna Fali
1044Aika P SchemmerGermany2024-05-29Truhlar And Truhlar Attys QUALIFIED61Stephen Shaw
1045Salvatore U ChuiFrance2024-06-06Truhlar And Truhlar Attys QUALIFIED15Bernardo Dominic
1046Julie R ChuiRussia2024-06-06Printing Dimensions UNQUALIFIED9Amy Elsner
1047Aditya C FollerArgentina2024-06-01Chemel, James L Cpa PROPOSAL62Xuxue Feng
1048Izzy Q PerinArgentina2024-05-28Chapman, Ross E Esq NEGOTIATION51Ioni Bowcher
1049Wickens C GillianJapan2024-06-19Commercial Press NEGOTIATION94Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Arvin V NickaRussiaAsiya Javayant RENEWAL
Adams Q VenereBrazilBernardo Dominic UNQUALIFIED
Leja X PaprockiArgentinaAnna Fali UNQUALIFIED
Misaki X ShinkoArgentinaXuxue Feng PROPOSAL
Jefferson P DarakjyIndiaElwin Sharvill UNQUALIFIED
Jeanfrancois I PoquetteItalyStephen Shaw UNQUALIFIED
Darci F BriddickGermanyAmy Elsner RENEWAL
Aditya G AmigonIndiaIvan Magalhaes NEGOTIATION
Jennifer D WhobreyCanadaOnyama Limba RENEWAL
Smith L BriddickCanadaIoni Bowcher UNQUALIFIED
Aika A SlusarskiJapanAnna Fali QUALIFIED
Emily J SlusarskiItalyElwin Sharvill NEW
Munro E IturbideItalyAmy Elsner NEW
Jefferson B ShinkoGermanyBernardo Dominic QUALIFIED
Rodrigues V TollnerFranceStephen Shaw NEW
Jennifer O RimCanadaAnna Fali RENEWAL
Jones I SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Jones S FerenczUnited KingdomAnna Fali NEGOTIATION
Octavia T OstroskyFranceElwin Sharvill NEGOTIATION
Mujtaba K WaycottFranceIvan Magalhaes PROPOSAL
Mujtaba G CampainArgentinaAsiya Javayant RENEWAL
Francesco M BriddickFranceAmy Elsner PROPOSAL
Izzy A MaletArgentinaBernardo Dominic UNQUALIFIED
Jones U StockhamItalyXuxue Feng NEW
Francesco X MaletCanadaXuxue Feng RENEWAL
Munro Y MarrierJapanAnna Fali UNQUALIFIED
Leon P AmigonJapanXuxue Feng PROPOSAL
Leja G NickaBrazilAnna Fali RENEWAL
Munro M MaletRussiaIvan Magalhaes NEW
Octavia Y PoquetteItalyAmy Elsner PROPOSAL
Smith M InouyeAustraliaAnna Fali RENEWAL
Octavia W WaycottGermanyBernardo Dominic RENEWAL
Emily H FerenczArgentinaIvan Magalhaes NEW
Francesco R RimSpainBernardo Dominic RENEWAL
Murillo A RimArgentinaAmy Elsner NEGOTIATION
Chavez H VocelkaFranceIvan Magalhaes NEW
Misaki G OldroydGermanyElwin Sharvill PROPOSAL
Ivar R DarakjyIndiaOnyama Limba QUALIFIED
Aditya N FollerRussiaIvan Magalhaes PROPOSAL
Adams H FollerRussiaBernardo Dominic PROPOSAL
Kadeem N NickaJapanAmy Elsner NEGOTIATION
Clifford W MacleadItalyElwin Sharvill QUALIFIED
Arvin S InouyeUnited KingdomBernardo Dominic RENEWAL
Chavez P DoeJapanIoni Bowcher NEW
Claire T AlbaresIndiaIvan Magalhaes NEGOTIATION
Jennifer N FerenczCanadaAsiya Javayant RENEWAL
Francesco O SlusarskiAustraliaElwin Sharvill RENEWAL
Rodrigues X VocelkaBrazilElwin Sharvill NEW
Misaki J MorascaSpainAmy Elsner UNQUALIFIED
Isabel Y NickaArgentinaAmy Elsner NEW
Frozen Columns
Name
Julie H Whobrey
Silvio Y Campain
Izzy V Caldarera
Kaitlin G Figeroa
Arvin Q Marrier
Munro N Waycott
Costa P Stockham
Tony M Albares
Leon T Maclead
Claire L Tollner
Murillo O Sergi
Salvatore T Gillian
Jones G Garufi
David D Morasca
Ricardo J Malet
Francesco T Briddick
Julie C Marrier
Stacey B Tollner
Jefferson I Foller
Leon K Malet
Sinclair U Gillian
Leon I Shinko
Faith Y Rim
Aditya R Tollner
Silvio P Bowley
Arvin W Bolognia
Aruna W Campain
Clifford A Maclead
Kadeem T Kolmetz
Deepesh I Vocelka
Salvatore P Schemmer
Clifford V Stenseth
Deepesh P Slusarski
Izzy A Nestle
Adams I Maclead
Emily W Stockham
Jeanfrancois C Gillian
Clifford P Gaucho
Darci X Doe
Mujtaba H Sergi
Faith G Royster
Ricardo N Wieser
Nicolas J Morasca
Claire Q Bowley
Ivar R Morasca
Claire L Caudy
Isabel I Caudy
Salvatore K Butt
Murillo X Schemmer
Tony L Rim
IdCountryDate
1000Italy2024-06-08
1001Brazil2024-06-12
1002United Kingdom2024-06-15
1003Australia2024-06-02
1004Italy2024-06-22
1005Brazil2024-05-26
1006India2024-06-02
1007Australia2024-06-09
1008Russia2024-06-21
1009Brazil2024-06-16
1010Germany2024-06-21
1011Spain2024-06-06
1012Brazil2024-06-11
1013France2024-06-20
1014Brazil2024-06-12
1015Argentina2024-06-08
1016France2024-05-31
1017France2024-06-04
1018Brazil2024-05-31
1019United Kingdom2024-06-20
1020Brazil2024-06-17
1021Spain2024-05-28
1022France2024-06-21
1023Canada2024-06-03
1024Germany2024-05-26
1025Germany2024-06-04
1026Argentina2024-06-16
1027Argentina2024-06-02
1028Brazil2024-05-24
1029Brazil2024-06-15
1030Canada2024-06-01
1031Spain2024-06-13
1032Spain2024-05-29
1033United Kingdom2024-06-13
1034Russia2024-06-04
1035Argentina2024-05-24
1036Argentina2024-05-31
1037Russia2024-06-17
1038Argentina2024-05-24
1039France2024-06-20
1040United Kingdom2024-05-29
1041France2024-06-22
1042Japan2024-06-21
1043Germany2024-06-08
1044Russia2024-06-12
1045India2024-06-22
1046Argentina2024-06-06
1047Japan2024-05-24
1048Russia2024-06-12
1049Australia2024-05-25

On-Demand Data

NameIdCountryDate
Chavez Q Royster1000Russia2024-06-08
Tony V Stockham1001Australia2024-05-29
Emily Q Nicka1002Canada2024-06-18
Jones M Rim1003Canada2024-06-10
Misaki P Wieser1004Japan2024-06-07
Aika P Tollner1005Italy2024-06-16
Faith X Ferencz1006Canada2024-05-28
Antonio W Rim1007India2024-05-29
Alejandro M Kusko1008Canada2024-06-06
Aika Y Ostrosky1009Japan2024-05-29
Leon H Albares1010Australia2024-05-30
Munro S Inouye1011Russia2024-05-29
Munro N Ruta1012Argentina2024-05-28
Leja X Darakjy1013Germany2024-06-04
Alejandro L Inouye1014India2024-05-31
Smith O Albares1015Brazil2024-05-30
Jefferson Z Venere1016France2024-05-24
Claire N Iturbide1017France2024-06-18
Leja Z Caudy1018Germany2024-06-20
Nicolas K Poquette1019Australia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore L WieserSpainXuxue Feng NEGOTIATION
Octavia Q WieserSpainBernardo Dominic QUALIFIED
Juan E ButtRussiaBernardo Dominic NEGOTIATION
Clifford E PaprockiCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois G CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Morrow F GauchoGermanyIvan Magalhaes PROPOSAL
David U WaycottFranceIoni Bowcher QUALIFIED
Smith B GillianRussiaElwin Sharvill NEGOTIATION
Salvatore E KuskoFranceBernardo Dominic QUALIFIED
Antonio D RoysterIndiaStephen Shaw RENEWAL
Arvin I DilliardFranceStephen Shaw QUALIFIED
James V MaletUnited KingdomAsiya Javayant UNQUALIFIED
Chavez U SchemmerUnited KingdomXuxue Feng PROPOSAL
Claire X SergiAustraliaStephen Shaw NEGOTIATION
James Q CampainSpainBernardo Dominic PROPOSAL
Smith D ButtGermanyAmy Elsner PROPOSAL
Adams F GillianSpainBernardo Dominic RENEWAL
Clifford J VenereRussiaStephen Shaw RENEWAL
Antonio C ShinkoJapanXuxue Feng UNQUALIFIED
Maisha Y BologniaFranceAnna Fali NEGOTIATION
Aika Q KolmetzJapanElwin Sharvill QUALIFIED
Misaki G NickaIndiaStephen Shaw NEGOTIATION
Smith L PerinArgentinaIoni Bowcher NEGOTIATION
Izzy X FollerSpainXuxue Feng PROPOSAL
Silvio C GlickJapanElwin Sharvill UNQUALIFIED
Leon C BologniaCanadaAmy Elsner NEGOTIATION
Greenwood G BriddickCanadaAsiya Javayant PROPOSAL
Greenwood G CaudyRussiaElwin Sharvill UNQUALIFIED
David C SaylorsRussiaXuxue Feng QUALIFIED
Claire T NestleJapanAmy Elsner QUALIFIED
Arvin P CaldareraUnited KingdomBernardo Dominic NEGOTIATION
Wickens X CaudySpainStephen Shaw QUALIFIED
Alejandro V DoeSpainOnyama Limba RENEWAL
Aruna B WhobreyIndiaStephen Shaw UNQUALIFIED
Jennifer V RoysterAustraliaElwin Sharvill QUALIFIED
James R RulapaughSpainAsiya Javayant PROPOSAL
Alejandro Z MaletRussiaXuxue Feng RENEWAL
Maisha U AlbaresSpainAmy Elsner NEGOTIATION
Tony M GlickIndiaOnyama Limba UNQUALIFIED
Claire P KuskoSpainIvan 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>