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
Aruna V DilliardCanadaAnna Fali NEW
Izzy Q WieserAustraliaIvan Magalhaes UNQUALIFIED
Costa G VenereJapanAnna Fali QUALIFIED
Wickens Q WaycottFranceIvan Magalhaes UNQUALIFIED
Johnson K AlbaresSpainAsiya Javayant PROPOSAL
Clifford N VocelkaCanadaAmy Elsner NEW
Juan U GillianArgentinaStephen Shaw NEGOTIATION
Leon T FlosiArgentinaStephen Shaw QUALIFIED
David K OldroydRussiaXuxue Feng UNQUALIFIED
Misaki B BologniaCanadaAsiya Javayant PROPOSAL
Izzy D CaudyRussiaIoni Bowcher RENEWAL
Smith C AlbaresUnited KingdomAnna Fali QUALIFIED
Antonio M SchemmerItalyIvan Magalhaes UNQUALIFIED
Clifford U PaprockiCanadaBernardo Dominic NEW
Kaitlin E PaprockiGermanyAnna Fali NEW
Wickens B CaldareraBrazilOnyama Limba NEGOTIATION
Salvatore I BologniaJapanOnyama Limba QUALIFIED
Faith L VenereRussiaXuxue Feng NEGOTIATION
Arvin I BriddickIndiaStephen Shaw QUALIFIED
Kadeem C ShinkoCanadaElwin Sharvill NEGOTIATION
Jeanfrancois F StensethRussiaStephen Shaw UNQUALIFIED
Aditya W CaudyUnited KingdomAsiya Javayant PROPOSAL
Jennifer P DarakjyAustraliaStephen Shaw NEGOTIATION
David H GlickBrazilXuxue Feng RENEWAL
Aruna M ButtGermanyXuxue Feng UNQUALIFIED
Julie H OstroskyAustraliaOnyama Limba RENEWAL
Maisha G GauchoBrazilElwin Sharvill NEW
Maria A OstroskyFranceIoni Bowcher NEW
Adams L ButtBrazilIvan Magalhaes RENEWAL
Francesco J BologniaIndiaAsiya Javayant UNQUALIFIED
Cody I MacleadFranceBernardo Dominic QUALIFIED
Tony T SaylorsRussiaAnna Fali QUALIFIED
Kadeem T KuskoItalyXuxue Feng UNQUALIFIED
Maria H GillianJapanIvan Magalhaes UNQUALIFIED
Antonio T GlickSpainAmy Elsner RENEWAL
Deepesh G CaldareraJapanBernardo Dominic RENEWAL
Ricardo U CampainFranceAnna Fali NEW
Ashley M GlickFranceIvan Magalhaes UNQUALIFIED
Mujtaba G StensethAustraliaStephen Shaw RENEWAL
Leon O FerenczGermanyIvan Magalhaes QUALIFIED
Claire E VenereArgentinaAnna Fali RENEWAL
Nicolas L MaletGermanyOnyama Limba NEGOTIATION
Aika X StockhamItalyOnyama Limba NEGOTIATION
Misaki G SlusarskiSpainAmy Elsner PROPOSAL
Aditya N CaudyAustraliaIvan Magalhaes RENEWAL
Silvio O SergiCanadaAsiya Javayant UNQUALIFIED
Leja A MorascaBrazilBernardo Dominic UNQUALIFIED
Julie W FollerJapanOnyama Limba NEGOTIATION
Wickens I KuskoGermanyStephen Shaw RENEWAL
Nicolas O StensethBrazilStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore Y MorascaJapanIvan Magalhaes PROPOSAL
Costa V DilliardJapanStephen Shaw QUALIFIED
Jones P ShinkoJapanStephen Shaw UNQUALIFIED
Cody X MacleadRussiaAmy Elsner NEW
Morrow S ChuiRussiaAnna Fali QUALIFIED
Antonio A MaletJapanXuxue Feng NEGOTIATION
Leja V NickaItalyAmy Elsner QUALIFIED
Octavia E RoysterBrazilElwin Sharvill PROPOSAL
Ricardo X OstroskyAustraliaOnyama Limba PROPOSAL
Ricardo D BowleyCanadaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon X OldroydJapan2024-05-21King, Christopher A Esq NEGOTIATION64Ioni Bowcher
1001Salvatore K FigeroaUnited Kingdom2024-05-31Commercial Press QUALIFIED63Asiya Javayant
1002Aruna B VenereSpain2024-06-14Commercial Press UNQUALIFIED93Xuxue Feng
1003Cody T MorascaJapan2024-05-29Dorl, James J Esq NEGOTIATION28Ioni Bowcher
1004Costa K OldroydIndia2024-05-21Benton, John B Jr UNQUALIFIED34Anna Fali
1005Munro U SlusarskiSpain2024-06-12Truhlar And Truhlar Attys UNQUALIFIED79Anna Fali
1006David E GarufiFrance2024-06-01Commercial Press NEGOTIATION92Xuxue Feng
1007Francesco Q KolmetzJapan2024-06-09Buckley Miller Wright UNQUALIFIED49Elwin Sharvill
1008Smith P SaylorsIndia2024-06-03Commercial Press NEW21Ivan Magalhaes
1009Wickens V AmigonIndia2024-06-14Rousseaux, Michael Esq NEGOTIATION93Amy Elsner
1010Arvin E PerinJapan2024-06-12Feiner Bros PROPOSAL50Amy Elsner
1011Julie R OstroskyBrazil2024-05-27Chapman, Ross E Esq PROPOSAL30Ioni Bowcher
1012Aditya R OstroskyFrance2024-06-08Commercial Press RENEWAL40Ioni Bowcher
1013Wickens K VocelkaJapan2024-05-26Morlong Associates RENEWAL65Stephen Shaw
1014Isabel E SergiSpain2024-06-14King, Christopher A Esq NEGOTIATION90Stephen Shaw
1015Stacey O AlbaresBrazil2024-06-04Rangoni Of Florence UNQUALIFIED51Ioni Bowcher
1016Jennifer G MaletItaly2024-05-20Rangoni Of Florence UNQUALIFIED55Anna Fali
1017Aditya Y AmigonBrazil2024-06-06Rangoni Of Florence NEGOTIATION67Anna Fali
1018Murillo U MorascaRussia2024-05-21Rangoni Of Florence QUALIFIED75Xuxue Feng
1019Maria D InouyeRussia2024-06-04Commercial Press NEW95Xuxue Feng
1020Adams H GauchoItaly2024-05-30King, Christopher A Esq QUALIFIED76Bernardo Dominic
1021Misaki N PerinIndia2024-06-11Truhlar And Truhlar Attys RENEWAL64Ioni Bowcher
1022Smith X GarufiJapan2024-05-20Commercial Press UNQUALIFIED82Elwin Sharvill
1023James U FerenczGermany2024-05-25Feiner Bros RENEWAL23Stephen Shaw
1024Cody L GlickArgentina2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED39Bernardo Dominic
1025Stacey X AlbaresUnited Kingdom2024-05-20Rousseaux, Michael Esq RENEWAL36Amy Elsner
1026Jeanfrancois V IturbideFrance2024-05-30Rousseaux, Michael Esq UNQUALIFIED91Asiya Javayant
1027Aruna O OldroydJapan2024-05-24Dorl, James J Esq RENEWAL72Elwin Sharvill
1028James U GlickBrazil2024-06-09Morlong Associates QUALIFIED42Ioni Bowcher
1029Arvin T SaylorsUnited Kingdom2024-05-30Rousseaux, Michael Esq QUALIFIED3Elwin Sharvill
1030Maria H NickaSpain2024-06-04Printing Dimensions NEW94Amy Elsner
1031Francesco M NestleUnited Kingdom2024-05-31Rangoni Of Florence NEGOTIATION7Bernardo Dominic
1032Ashley Y BriddickCanada2024-05-18Commercial Press NEW63Bernardo Dominic
1033Adams Q DoeUnited Kingdom2024-05-19Rousseaux, Michael Esq PROPOSAL67Amy Elsner
1034Salvatore N CaudyArgentina2024-06-14Dorl, James J Esq UNQUALIFIED50Ioni Bowcher
1035Deepesh T BowleyBrazil2024-06-06Chemel, James L Cpa UNQUALIFIED10Bernardo Dominic
1036Tony W PaprockiIndia2024-06-04Chemel, James L Cpa PROPOSAL91Bernardo Dominic
1037Maria C FigeroaRussia2024-06-12Benton, John B Jr PROPOSAL23Elwin Sharvill
1038Wickens M RulapaughGermany2024-06-09Feltz Printing Service PROPOSAL71Bernardo Dominic
1039Kaitlin B VenereGermany2024-05-31Rousseaux, Michael Esq PROPOSAL54Bernardo Dominic
1040Julie D FlosiBrazil2024-06-03Truhlar And Truhlar Attys RENEWAL33Stephen Shaw
1041Sinclair B AmigonGermany2024-05-25Commercial Press NEGOTIATION54Ioni Bowcher
1042Misaki Y InouyeGermany2024-06-09Chapman, Ross E Esq PROPOSAL87Anna Fali
1043Chavez X GarufiCanada2024-06-11Buckley Miller Wright RENEWAL81Onyama Limba
1044Jeanfrancois B SergiBrazil2024-06-01Commercial Press PROPOSAL59Bernardo Dominic
1045Maisha V CampainSpain2024-05-24Buckley Miller Wright NEGOTIATION17Bernardo Dominic
1046Ivar X OstroskySpain2024-05-16Feiner Bros RENEWAL83Amy Elsner
1047Chavez F WaycottJapan2024-05-16Dorl, James J Esq PROPOSAL27Stephen Shaw
1048Darci B WaycottUnited Kingdom2024-05-31Morlong Associates UNQUALIFIED16Elwin Sharvill
1049Ashley X DoeBrazil2024-06-08Rousseaux, Michael Esq UNQUALIFIED55Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas C IturbideArgentinaBernardo Dominic RENEWAL
Ashley H GarufiCanadaAmy Elsner QUALIFIED
Tony K OldroydArgentinaBernardo Dominic UNQUALIFIED
Maria B MorascaBrazilStephen Shaw QUALIFIED
Jones H StockhamBrazilElwin Sharvill QUALIFIED
Deepesh R WhobreyFranceElwin Sharvill UNQUALIFIED
Ivar R RutaGermanyBernardo Dominic PROPOSAL
Cody G KuskoItalyStephen Shaw UNQUALIFIED
David Z FlosiArgentinaOnyama Limba NEGOTIATION
Alejandro H FollerBrazilElwin Sharvill PROPOSAL
Aditya Y CaudyIndiaElwin Sharvill RENEWAL
Maisha Q InouyeJapanOnyama Limba NEW
Clifford U GauchoArgentinaBernardo Dominic PROPOSAL
Darci K FollerFranceAsiya Javayant RENEWAL
Kaitlin X WaycottAustraliaIvan Magalhaes PROPOSAL
Clifford N PerinFranceBernardo Dominic RENEWAL
Wickens L FlosiBrazilAnna Fali RENEWAL
Chavez M WieserIndiaBernardo Dominic PROPOSAL
Chavez E WaycottFranceXuxue Feng QUALIFIED
Antonio I DarakjyUnited KingdomAmy Elsner QUALIFIED
Leon K MacleadBrazilAmy Elsner UNQUALIFIED
Maisha C KuskoGermanyElwin Sharvill RENEWAL
Octavia X PerinArgentinaXuxue Feng PROPOSAL
Aruna C OstroskyGermanyIoni Bowcher NEW
Greenwood G NickaArgentinaBernardo Dominic UNQUALIFIED
James D AlbaresSpainBernardo Dominic RENEWAL
Chavez Q DilliardFranceAnna Fali RENEWAL
Costa Y WhobreyBrazilIvan Magalhaes QUALIFIED
Ivar E AmigonCanadaIvan Magalhaes NEW
Rodrigues H VenereJapanIoni Bowcher NEW
Antonio T ChuiItalyIvan Magalhaes RENEWAL
Leja Y WaycottItalyElwin Sharvill NEW
Greenwood L StockhamSpainAsiya Javayant PROPOSAL
Jeanfrancois X GarufiUnited KingdomOnyama Limba RENEWAL
Arvin T KuskoItalyElwin Sharvill NEW
Murillo Z NickaAustraliaAsiya Javayant RENEWAL
Claire J BowleyRussiaAnna Fali QUALIFIED
Johnson Q MarrierBrazilXuxue Feng NEW
Jennifer U MacleadIndiaElwin Sharvill RENEWAL
Tony N InouyeJapanAsiya Javayant UNQUALIFIED
Jennifer T DilliardCanadaXuxue Feng NEW
Darci K ShinkoItalyAnna Fali NEW
Costa R GillianUnited KingdomOnyama Limba PROPOSAL
Francesco V RulapaughItalyAmy Elsner QUALIFIED
Emily D KolmetzArgentinaStephen Shaw NEW
Jones O DoeSpainAsiya Javayant NEW
David W DilliardUnited KingdomAmy Elsner UNQUALIFIED
Claire J TollnerBrazilBernardo Dominic UNQUALIFIED
Stacey F BriddickFranceAsiya Javayant NEW
Emily E SaylorsUnited KingdomAmy Elsner QUALIFIED
Frozen Columns
Name
Costa G Foller
Jeanfrancois Y Bolognia
Aditya Z Ostrosky
Jennifer M Flosi
Ivar D Inouye
Maria Y Campain
Jefferson W Bowley
Adams U Bolognia
Arvin F Figeroa
Maria A Stenseth
Darci D Rulapaugh
Antonio T Nicka
Aika M Malet
Jennifer S Whobrey
Salvatore V Vocelka
Aruna S Kusko
Arvin A Venere
Smith O Rim
Nicolas P Doe
Adams N Stockham
Maria P Garufi
Antonio D Nicka
Jennifer L Whobrey
Kadeem Q Wieser
Nicolas I Nestle
Salvatore D Caudy
Arvin B Stockham
Silvio V Wieser
Isabel Q Tollner
Salvatore L Malet
Izzy C Iturbide
Darci X Darakjy
Jeanfrancois L Chui
Adams R Stenseth
Wickens P Doe
Jeanfrancois H Iturbide
Leja E Ruta
Clifford N Saylors
Jennifer I Albares
Aditya M Caldarera
Aika M Slusarski
Antonio N Campain
Maisha M Whobrey
Alejandro H Saylors
Arvin Z Rulapaugh
Izzy N Poquette
Silvio D Figeroa
Julie U Bowley
Silvio B Campain
Costa C Amigon
IdCountryDate
1000Italy2024-05-26
1001Japan2024-05-21
1002Japan2024-05-25
1003Brazil2024-06-08
1004Russia2024-06-08
1005Brazil2024-06-01
1006United Kingdom2024-05-22
1007Spain2024-05-19
1008Germany2024-06-01
1009United Kingdom2024-06-14
1010Canada2024-05-23
1011Argentina2024-06-09
1012Spain2024-06-08
1013Japan2024-05-22
1014Japan2024-06-08
1015India2024-05-20
1016Russia2024-05-25
1017Argentina2024-05-16
1018Japan2024-05-23
1019Germany2024-05-18
1020Spain2024-05-17
1021Argentina2024-05-20
1022Canada2024-06-02
1023Argentina2024-06-11
1024India2024-06-01
1025Italy2024-05-22
1026Russia2024-06-11
1027Brazil2024-06-12
1028Brazil2024-06-11
1029Argentina2024-05-25
1030Spain2024-06-11
1031Australia2024-06-12
1032France2024-06-14
1033Brazil2024-05-31
1034Argentina2024-06-07
1035Germany2024-06-01
1036Brazil2024-06-12
1037Canada2024-05-29
1038Argentina2024-06-02
1039Germany2024-06-06
1040Argentina2024-06-04
1041Germany2024-05-28
1042Japan2024-06-06
1043Japan2024-05-23
1044Germany2024-06-12
1045Argentina2024-05-24
1046Brazil2024-05-19
1047Japan2024-05-21
1048Japan2024-05-29
1049Spain2024-05-27

On-Demand Data

NameIdCountryDate
Cody O Butt1000United Kingdom2024-05-19
Leja A Briddick1001Japan2024-06-14
Mujtaba O Saylors1002Canada2024-06-05
Leja I Nicka1003Spain2024-06-04
Emily E Glick1004Argentina2024-06-09
Mayumi Q Butt1005Brazil2024-05-17
Darci M Iturbide1006Australia2024-05-17
Kaitlin G Sergi1007India2024-06-10
Salvatore I Perin1008Australia2024-05-26
Emily B Campain1009France2024-06-10
Jeanfrancois E Sergi1010Italy2024-05-18
Julie W Ostrosky1011Brazil2024-05-20
Salvatore Y Oldroyd1012Canada2024-06-09
Francesco R Iturbide1013Australia2024-05-18
Aruna L Rulapaugh1014Italy2024-05-31
Aditya O Briddick1015Australia2024-06-11
Nicolas M Chui1016Germany2024-06-11
Jennifer O Campain1017Italy2024-05-17
Morrow F Glick1018United Kingdom2024-05-20
Jennifer H Gillian1019Italy2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith R FerenczIndiaOnyama Limba UNQUALIFIED
Clifford Q ShinkoCanadaIvan Magalhaes RENEWAL
Johnson O ChuiBrazilXuxue Feng NEW
Leja M PerinAustraliaStephen Shaw RENEWAL
Leon P CaldareraFranceXuxue Feng QUALIFIED
Francesco O WaycottGermanyAsiya Javayant NEW
Leja E GlickGermanyStephen Shaw NEGOTIATION
Jones L MaletItalyAsiya Javayant UNQUALIFIED
Morrow E CaudyCanadaAsiya Javayant PROPOSAL
Smith R CaudyIndiaAsiya Javayant PROPOSAL
Stacey O NestleGermanyAmy Elsner NEGOTIATION
Antonio Y GarufiCanadaIvan Magalhaes PROPOSAL
Jeanfrancois A DoeRussiaElwin Sharvill NEW
Ashley I FigeroaBrazilOnyama Limba UNQUALIFIED
Kadeem Y BologniaSpainAmy Elsner PROPOSAL
Kadeem B NickaIndiaElwin Sharvill NEGOTIATION
Maisha K WhobreyAustraliaBernardo Dominic PROPOSAL
Smith W AlbaresItalyIoni Bowcher NEW
Izzy A VocelkaSpainAnna Fali NEW
Ivar E SergiArgentinaElwin Sharvill UNQUALIFIED
Munro F OldroydArgentinaAmy Elsner PROPOSAL
Stacey F SergiRussiaStephen Shaw NEGOTIATION
Leon Z CaudyRussiaAnna Fali RENEWAL
Francesco V SergiJapanOnyama Limba NEW
Nicolas B StockhamCanadaOnyama Limba QUALIFIED
Aika R InouyeItalyAmy Elsner PROPOSAL
Jeanfrancois T FigeroaFranceElwin Sharvill QUALIFIED
Stacey U SlusarskiIndiaAsiya Javayant QUALIFIED
Smith G DilliardIndiaXuxue Feng NEGOTIATION
Nicolas P GauchoGermanyStephen Shaw NEW
Greenwood E RoysterJapanXuxue Feng UNQUALIFIED
Izzy R CaldareraFranceAmy Elsner QUALIFIED
Mayumi I DoeSpainIoni Bowcher PROPOSAL
Jeanfrancois I ShinkoUnited KingdomBernardo Dominic PROPOSAL
Wickens C CampainFranceAnna Fali NEW
Silvio V GauchoBrazilIvan Magalhaes PROPOSAL
Clifford G CaudyGermanyAmy Elsner NEGOTIATION
Claire B NickaUnited KingdomAsiya Javayant UNQUALIFIED
David C CaldareraJapanStephen Shaw UNQUALIFIED
Leon K ChuiJapanAsiya Javayant 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>