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
Adams W RutaSpainIoni Bowcher UNQUALIFIED
Rodrigues L MacleadArgentinaElwin Sharvill RENEWAL
David M DarakjyArgentinaAsiya Javayant NEW
Aditya K FigeroaJapanElwin Sharvill NEW
Kadeem B RulapaughJapanOnyama Limba QUALIFIED
Morrow B CaldareraAustraliaAnna Fali NEW
Silvio I MaletBrazilBernardo Dominic NEGOTIATION
Aditya D MarrierAustraliaAsiya Javayant NEW
Ricardo W MorascaBrazilBernardo Dominic UNQUALIFIED
Aika Y MaletArgentinaElwin Sharvill PROPOSAL
Clifford J SchemmerRussiaAsiya Javayant NEGOTIATION
Kaitlin U MaletIndiaBernardo Dominic NEW
Adams V NickaCanadaAnna Fali UNQUALIFIED
Morrow U DoeFranceAmy Elsner RENEWAL
Sinclair S KuskoGermanyAsiya Javayant RENEWAL
Jeanfrancois V KolmetzFranceAsiya Javayant PROPOSAL
Claire V RoysterBrazilBernardo Dominic UNQUALIFIED
Aditya L FerenczCanadaOnyama Limba NEW
James Y RoysterJapanAmy Elsner RENEWAL
Rodrigues N KuskoIndiaAsiya Javayant QUALIFIED
Munro I BowleyJapanStephen Shaw NEGOTIATION
Misaki E FlosiSpainBernardo Dominic RENEWAL
Deepesh V AlbaresBrazilXuxue Feng QUALIFIED
Kaitlin E WhobreyAustraliaAmy Elsner QUALIFIED
Claire O KolmetzItalyBernardo Dominic PROPOSAL
Kaitlin Z OstroskyArgentinaElwin Sharvill QUALIFIED
Salvatore P SaylorsBrazilOnyama Limba QUALIFIED
Maisha S SergiJapanAsiya Javayant QUALIFIED
Jennifer R StensethFranceAmy Elsner NEW
Rodrigues L BriddickFranceIoni Bowcher UNQUALIFIED
Alejandro B PaprockiItalyStephen Shaw PROPOSAL
Emily A SaylorsGermanyBernardo Dominic RENEWAL
Chavez C MarrierCanadaIoni Bowcher UNQUALIFIED
Greenwood J CampainUnited KingdomXuxue Feng UNQUALIFIED
Deepesh P KolmetzJapanElwin Sharvill RENEWAL
Leon F WhobreyCanadaStephen Shaw QUALIFIED
Cody K DoeUnited KingdomIvan Magalhaes NEW
James T SaylorsJapanXuxue Feng NEW
Antonio F WaycottIndiaAsiya Javayant UNQUALIFIED
Nicolas U GillianArgentinaXuxue Feng PROPOSAL
Octavia P NickaAustraliaXuxue Feng NEW
Julie A BowleyBrazilOnyama Limba PROPOSAL
Ivar K StockhamAustraliaIoni Bowcher NEGOTIATION
Ricardo V KuskoJapanOnyama Limba PROPOSAL
Arvin T IturbideSpainElwin Sharvill NEGOTIATION
Chavez T FigeroaBrazilElwin Sharvill NEGOTIATION
Alejandro M MaletIndiaStephen Shaw UNQUALIFIED
Stacey F OldroydSpainAsiya Javayant NEW
Rodrigues L WaycottArgentinaAmy Elsner UNQUALIFIED
Stacey V KuskoGermanyStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Darci W RoysterBrazilAmy Elsner QUALIFIED
Ashley V FigeroaSpainXuxue Feng NEGOTIATION
Tony K SlusarskiCanadaAsiya Javayant RENEWAL
Aditya P RoysterJapanElwin Sharvill QUALIFIED
Izzy A MaletArgentinaIvan Magalhaes PROPOSAL
Jones W KolmetzSpainAnna Fali RENEWAL
Francesco C PaprockiUnited KingdomAsiya Javayant NEW
Aruna U RulapaughRussiaOnyama Limba PROPOSAL
Tony Z ShinkoJapanOnyama Limba QUALIFIED
Izzy U NickaUnited KingdomAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey E MorascaJapan2024-05-21Commercial Press UNQUALIFIED30Xuxue Feng
1001Ivar B WhobreyRussia2024-05-25Rousseaux, Michael Esq NEGOTIATION18Xuxue Feng
1002Juan I RutaGermany2024-04-29Chemel, James L Cpa QUALIFIED90Asiya Javayant
1003Jennifer Y GarufiFrance2024-05-22Buckley Miller Wright PROPOSAL66Bernardo Dominic
1004Rodrigues G KolmetzAustralia2024-05-04Chemel, James L Cpa UNQUALIFIED2Ivan Magalhaes
1005Leja V CaudyJapan2024-05-22Rousseaux, Michael Esq NEGOTIATION38Stephen Shaw
1006Costa C RimGermany2024-05-09Rangoni Of Florence UNQUALIFIED85Amy Elsner
1007Ivar U SlusarskiUnited Kingdom2024-05-18Rousseaux, Michael Esq UNQUALIFIED23Stephen Shaw
1008Clifford R DilliardItaly2024-05-17Printing Dimensions QUALIFIED23Ioni Bowcher
1009Kaitlin E FigeroaCanada2024-05-15Truhlar And Truhlar Attys UNQUALIFIED59Ivan Magalhaes
1010David L VenereCanada2024-05-17Feltz Printing Service PROPOSAL82Bernardo Dominic
1011Leja A FigeroaCanada2024-04-29Rangoni Of Florence NEGOTIATION10Ivan Magalhaes
1012Kaitlin B NickaUnited Kingdom2024-05-25Chanay, Jeffrey A Esq NEGOTIATION60Asiya Javayant
1013Morrow K VocelkaUnited Kingdom2024-05-10Commercial Press NEW41Xuxue Feng
1014Octavia J CampainRussia2024-05-22Buckley Miller Wright PROPOSAL83Asiya Javayant
1015Jeanfrancois K SergiItaly2024-05-20Dorl, James J Esq QUALIFIED31Asiya Javayant
1016Izzy Y WaycottFrance2024-05-23Printing Dimensions PROPOSAL46Amy Elsner
1017Mayumi Z RulapaughUnited Kingdom2024-05-02Rousseaux, Michael Esq NEGOTIATION5Bernardo Dominic
1018Leja N SlusarskiBrazil2024-05-14Benton, John B Jr PROPOSAL13Bernardo Dominic
1019Rodrigues U RimSpain2024-05-12Printing Dimensions RENEWAL82Ioni Bowcher
1020Emily H VenereCanada2024-05-21Rousseaux, Michael Esq UNQUALIFIED73Stephen Shaw
1021Wickens Z InouyeArgentina2024-05-07King, Christopher A Esq NEW18Stephen Shaw
1022Jeanfrancois R BowleyItaly2024-05-20Truhlar And Truhlar Attys PROPOSAL7Elwin Sharvill
1023Maisha Z NestleCanada2024-05-18King, Christopher A Esq NEGOTIATION78Elwin Sharvill
1024Morrow Y PoquetteBrazil2024-05-06Truhlar And Truhlar Attys NEGOTIATION55Xuxue Feng
1025Cody Q PerinUnited Kingdom2024-05-06Benton, John B Jr UNQUALIFIED13Bernardo Dominic
1026Octavia P IturbideUnited Kingdom2024-05-05Printing Dimensions NEW34Ioni Bowcher
1027Octavia W FerenczCanada2024-04-27Feiner Bros NEW23Stephen Shaw
1028David Q MacleadJapan2024-05-16Buckley Miller Wright PROPOSAL79Ivan Magalhaes
1029Smith X RutaSpain2024-05-02Buckley Miller Wright QUALIFIED24Ioni Bowcher
1030Emily O SlusarskiIndia2024-05-13Morlong Associates NEGOTIATION89Elwin Sharvill
1031Ivar B KolmetzCanada2024-05-12Feltz Printing Service UNQUALIFIED52Onyama Limba
1032Ricardo Z GarufiItaly2024-05-22Buckley Miller Wright QUALIFIED0Xuxue Feng
1033Antonio W ShinkoGermany2024-05-17Truhlar And Truhlar Attys QUALIFIED32Onyama Limba
1034Claire C MorascaCanada2024-05-08Rousseaux, Michael Esq PROPOSAL43Xuxue Feng
1035Claire P RutaArgentina2024-05-06Buckley Miller Wright NEW16Asiya Javayant
1036Rodrigues T SaylorsUnited Kingdom2024-04-28Benton, John B Jr QUALIFIED28Amy Elsner
1037Aditya V InouyeJapan2024-05-23Chapman, Ross E Esq RENEWAL53Ioni Bowcher
1038James T DilliardFrance2024-04-29Feltz Printing Service UNQUALIFIED10Onyama Limba
1039Wickens C SlusarskiRussia2024-05-24Chanay, Jeffrey A Esq NEW84Stephen Shaw
1040Greenwood T NestleBrazil2024-05-01Printing Dimensions PROPOSAL76Ioni Bowcher
1041Francesco I RulapaughGermany2024-05-10Morlong Associates UNQUALIFIED67Ioni Bowcher
1042Emily L BriddickItaly2024-05-19Benton, John B Jr RENEWAL74Xuxue Feng
1043Greenwood H IturbideCanada2024-05-01Buckley Miller Wright RENEWAL40Elwin Sharvill
1044Ricardo U OldroydRussia2024-05-09Buckley Miller Wright RENEWAL33Stephen Shaw
1045Costa L FigeroaUnited Kingdom2024-05-18Feiner Bros QUALIFIED86Xuxue Feng
1046Munro U FlosiAustralia2024-05-06Morlong Associates NEGOTIATION11Onyama Limba
1047Antonio Q MaletItaly2024-05-16Rousseaux, Michael Esq RENEWAL55Ioni Bowcher
1048Smith W RulapaughJapan2024-05-11Benton, John B Jr UNQUALIFIED80Elwin Sharvill
1049Tony M OstroskyAustralia2024-04-29Buckley Miller Wright NEW84Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jefferson K ShinkoAustraliaAnna Fali NEGOTIATION
Johnson C ChuiAustraliaIoni Bowcher NEW
Salvatore C BowleyAustraliaAmy Elsner UNQUALIFIED
Jefferson N DoeUnited KingdomAsiya Javayant NEGOTIATION
Jennifer L IturbideIndiaOnyama Limba PROPOSAL
Cody K GillianJapanElwin Sharvill RENEWAL
Mujtaba M StockhamFranceIvan Magalhaes QUALIFIED
David H MaletGermanyStephen Shaw RENEWAL
Izzy V RoysterBrazilIvan Magalhaes UNQUALIFIED
Darci C SaylorsSpainAnna Fali NEGOTIATION
Faith B MaletBrazilElwin Sharvill RENEWAL
Francesco A WaycottUnited KingdomAmy Elsner PROPOSAL
Rodrigues R MaletJapanElwin Sharvill NEGOTIATION
Silvio R NestleBrazilOnyama Limba UNQUALIFIED
Maisha V SergiRussiaElwin Sharvill NEW
Murillo B GillianUnited KingdomXuxue Feng NEGOTIATION
Claire R RimCanadaXuxue Feng PROPOSAL
Misaki G StensethJapanIoni Bowcher RENEWAL
Clifford N KolmetzItalyIvan Magalhaes RENEWAL
Morrow H TollnerUnited KingdomBernardo Dominic PROPOSAL
Tony K CampainFranceStephen Shaw UNQUALIFIED
Aditya G MaletFranceAsiya Javayant QUALIFIED
Nicolas Y DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Juan K RutaGermanyStephen Shaw NEW
Clifford C PerinAustraliaAmy Elsner NEW
Alejandro M FigeroaArgentinaStephen Shaw UNQUALIFIED
Izzy Y OstroskyAustraliaStephen Shaw RENEWAL
Jefferson R CampainGermanyBernardo Dominic NEGOTIATION
Isabel V ShinkoIndiaAmy Elsner PROPOSAL
Johnson M PaprockiBrazilIvan Magalhaes PROPOSAL
Izzy P DarakjyRussiaAsiya Javayant RENEWAL
James U CaudyJapanBernardo Dominic NEW
Costa I WaycottIndiaOnyama Limba NEW
Arvin W CaldareraAustraliaAmy Elsner RENEWAL
Salvatore C MaletRussiaStephen Shaw NEGOTIATION
Stacey X TollnerJapanAmy Elsner QUALIFIED
Mujtaba J IturbideSpainAnna Fali NEW
James B WhobreyBrazilStephen Shaw NEW
Smith L MaletFranceOnyama Limba NEW
Nicolas O RulapaughGermanyStephen Shaw UNQUALIFIED
Octavia Q StockhamBrazilOnyama Limba PROPOSAL
Deepesh C FlosiRussiaStephen Shaw PROPOSAL
Salvatore N AlbaresCanadaAsiya Javayant RENEWAL
Aditya Z DilliardBrazilBernardo Dominic QUALIFIED
Wickens S ButtItalyIvan Magalhaes RENEWAL
Tony C AlbaresIndiaBernardo Dominic QUALIFIED
Rodrigues L CampainJapanIoni Bowcher PROPOSAL
Stacey K ShinkoFranceElwin Sharvill UNQUALIFIED
Kadeem C SlusarskiCanadaElwin Sharvill UNQUALIFIED
Ivar Q NickaRussiaElwin Sharvill PROPOSAL
Frozen Columns
Name
James E Paprocki
Cody O Rim
Tony Z Figeroa
Isabel R Dilliard
David V Glick
Kaitlin W Saylors
Jones K Marrier
Tony Z Malet
Salvatore K Stenseth
Alejandro W Garufi
Mayumi T Slusarski
Maria X Ostrosky
Claire J Dilliard
Aruna G Waycott
Emily Z Paprocki
Greenwood I Whobrey
Morrow M Malet
Sinclair O Kolmetz
Ricardo I Flosi
Mujtaba R Briddick
Aditya V Butt
Sinclair T Chui
Mayumi R Butt
Octavia M Schemmer
Adams I Sergi
Aditya M Kusko
Jennifer M Venere
Jefferson V Waycott
Misaki N Royster
Costa Y Malet
Leja K Amigon
Stacey G Waycott
Rodrigues Y Dilliard
Kaitlin C Oldroyd
Kadeem T Butt
David C Rim
Salvatore U Oldroyd
Munro T Perin
David U Flosi
Munro D Morasca
Kadeem R Vocelka
Leja P Stockham
Tony R Foller
Silvio W Perin
James A Slusarski
Isabel L Bolognia
Deepesh L Nestle
Adams J Gaucho
Leja Y Gaucho
Sinclair Z Morasca
IdCountryDate
1000Argentina2024-05-06
1001Argentina2024-04-29
1002Germany2024-04-27
1003Russia2024-05-07
1004Canada2024-04-29
1005India2024-05-10
1006Argentina2024-05-12
1007Italy2024-05-02
1008Spain2024-05-15
1009Brazil2024-05-20
1010France2024-05-19
1011Japan2024-05-15
1012Argentina2024-05-11
1013United Kingdom2024-05-15
1014Brazil2024-05-11
1015Argentina2024-05-10
1016Canada2024-05-06
1017Japan2024-04-27
1018Australia2024-05-18
1019Japan2024-05-04
1020India2024-05-11
1021Australia2024-05-13
1022Italy2024-05-23
1023Japan2024-05-19
1024Italy2024-05-15
1025Argentina2024-05-21
1026Brazil2024-05-04
1027Japan2024-05-20
1028Australia2024-05-12
1029Argentina2024-05-08
1030France2024-05-25
1031Japan2024-05-20
1032France2024-04-30
1033Japan2024-05-06
1034Italy2024-05-23
1035Canada2024-05-02
1036Italy2024-05-26
1037Italy2024-05-21
1038United Kingdom2024-05-08
1039Canada2024-05-04
1040Canada2024-05-04
1041Argentina2024-05-08
1042France2024-05-05
1043Italy2024-05-17
1044Japan2024-05-18
1045Germany2024-05-10
1046Brazil2024-04-30
1047Brazil2024-05-18
1048Argentina2024-05-14
1049India2024-05-23

On-Demand Data

NameIdCountryDate
Leja R Nestle1000Germany2024-05-24
Claire U Nicka1001Australia2024-05-14
Alejandro N Flosi1002Germany2024-05-06
Sinclair B Rulapaugh1003India2024-05-22
Claire Q Malet1004Argentina2024-05-24
Ivar L Stenseth1005Canada2024-05-08
David Q Ruta1006Brazil2024-05-06
Chavez I Figeroa1007Argentina2024-04-27
David S Doe1008Canada2024-05-23
Leon N Sergi1009Japan2024-05-25
Adams X Inouye1010Australia2024-05-24
Murillo K Stenseth1011Japan2024-05-01
Alejandro U Malet1012Spain2024-05-01
Misaki Q Saylors1013Spain2024-05-08
Wickens Q Venere1014Brazil2024-04-30
Jones C Bolognia1015India2024-04-27
Juan F Darakjy1016Canada2024-05-11
Juan Z Waycott1017Russia2024-05-26
Aika Z Kolmetz1018Russia2024-05-06
David R Gillian1019Russia2024-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford N SlusarskiGermanyStephen Shaw NEW
Alejandro L StockhamIndiaOnyama Limba QUALIFIED
Silvio Y NestleRussiaXuxue Feng QUALIFIED
Ricardo N BologniaJapanAmy Elsner UNQUALIFIED
Emily M PoquetteGermanyOnyama Limba PROPOSAL
Wickens N ShinkoItalyIoni Bowcher QUALIFIED
Emily F ShinkoGermanyAnna Fali UNQUALIFIED
Octavia W CampainFranceAmy Elsner NEW
Julie J MaletIndiaAnna Fali NEGOTIATION
Kaitlin C ChuiJapanElwin Sharvill PROPOSAL
Nicolas F TollnerJapanOnyama Limba QUALIFIED
Kadeem O OldroydCanadaBernardo Dominic NEW
Misaki X FlosiRussiaIoni Bowcher PROPOSAL
Kadeem M KolmetzItalyBernardo Dominic NEW
Jeanfrancois L IturbideUnited KingdomXuxue Feng NEGOTIATION
Jones G VocelkaGermanyBernardo Dominic QUALIFIED
Aika T ChuiArgentinaXuxue Feng RENEWAL
Jennifer Z SaylorsItalyAsiya Javayant RENEWAL
Costa Z RoysterSpainAnna Fali NEW
Munro V VenereFranceAsiya Javayant NEGOTIATION
Arvin T CaldareraSpainAmy Elsner PROPOSAL
Salvatore Z CaudyArgentinaAnna Fali QUALIFIED
Julie A PerinRussiaXuxue Feng RENEWAL
Aika L GillianItalyOnyama Limba QUALIFIED
Isabel F NickaAustraliaBernardo Dominic QUALIFIED
Leja Z SchemmerJapanElwin Sharvill NEGOTIATION
James G ChuiBrazilXuxue Feng QUALIFIED
Nicolas B DilliardArgentinaOnyama Limba UNQUALIFIED
Aika L FigeroaAustraliaAmy Elsner NEGOTIATION
Stacey T PerinBrazilStephen Shaw PROPOSAL
Costa Q MaletCanadaElwin Sharvill UNQUALIFIED
Jones K ShinkoIndiaElwin Sharvill QUALIFIED
Antonio G SaylorsBrazilIvan Magalhaes QUALIFIED
Julie R NickaSpainOnyama Limba QUALIFIED
Kadeem W SaylorsJapanElwin Sharvill QUALIFIED
Arvin L RoysterAustraliaAmy Elsner UNQUALIFIED
Aruna F GillianUnited KingdomIoni Bowcher PROPOSAL
Misaki Q FerenczItalyAmy Elsner RENEWAL
Greenwood N SlusarskiAustraliaAmy Elsner UNQUALIFIED
Claire Z RulapaughBrazilAsiya 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>