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
Tony W MorascaJapanIoni Bowcher UNQUALIFIED
Rodrigues T FlosiJapanElwin Sharvill QUALIFIED
Darci M WieserGermanyOnyama Limba PROPOSAL
Ashley H OstroskyBrazilXuxue Feng RENEWAL
Mujtaba C TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore B OldroydArgentinaIvan Magalhaes NEGOTIATION
Arvin E IturbideFranceAnna Fali RENEWAL
Deepesh H FollerArgentinaIvan Magalhaes RENEWAL
Salvatore P WhobreyRussiaOnyama Limba UNQUALIFIED
Jeanfrancois F ButtBrazilAmy Elsner NEGOTIATION
Arvin R PaprockiRussiaStephen Shaw NEW
Misaki T DilliardItalyIvan Magalhaes NEGOTIATION
Kaitlin H FerenczCanadaAsiya Javayant RENEWAL
Salvatore D ButtAustraliaOnyama Limba RENEWAL
Julie M GillianRussiaAnna Fali UNQUALIFIED
Sinclair W MaletFranceAnna Fali RENEWAL
Morrow C ChuiSpainIoni Bowcher RENEWAL
Faith N ButtGermanyIoni Bowcher UNQUALIFIED
Jones A DarakjyJapanIvan Magalhaes UNQUALIFIED
Chavez C FigeroaIndiaIoni Bowcher NEW
Aruna Z TollnerFranceOnyama Limba NEGOTIATION
Tony J FigeroaCanadaIvan Magalhaes RENEWAL
Misaki N KolmetzFranceAmy Elsner NEGOTIATION
Aruna B BowleyGermanyAsiya Javayant UNQUALIFIED
Darci W IturbideRussiaIoni Bowcher NEGOTIATION
David Y StockhamCanadaAmy Elsner UNQUALIFIED
Deepesh J DilliardFranceBernardo Dominic PROPOSAL
Murillo Q BowleyFranceAmy Elsner NEGOTIATION
Antonio U GauchoRussiaAmy Elsner NEW
Antonio Y FerenczBrazilXuxue Feng RENEWAL
Jones X WaycottCanadaElwin Sharvill RENEWAL
Maria M FlosiItalyAmy Elsner NEW
Aditya W PoquetteItalyBernardo Dominic PROPOSAL
Tony W DarakjyGermanyAsiya Javayant UNQUALIFIED
Morrow H VocelkaFranceStephen Shaw NEW
Morrow K MacleadJapanIvan Magalhaes NEW
Adams Y MaletArgentinaBernardo Dominic QUALIFIED
Tony G OstroskySpainIvan Magalhaes QUALIFIED
Deepesh Q RoysterRussiaBernardo Dominic PROPOSAL
Leon Q BologniaGermanyAmy Elsner PROPOSAL
Kaitlin X GillianBrazilBernardo Dominic RENEWAL
Costa S StensethUnited KingdomStephen Shaw RENEWAL
James L DarakjyArgentinaAnna Fali UNQUALIFIED
Alejandro J KolmetzGermanyAnna Fali RENEWAL
Adams B AlbaresAustraliaXuxue Feng PROPOSAL
Morrow E BriddickGermanyOnyama Limba UNQUALIFIED
Jeanfrancois S GarufiAustraliaBernardo Dominic RENEWAL
Misaki F OstroskyCanadaStephen Shaw RENEWAL
Salvatore L RutaUnited KingdomAmy Elsner UNQUALIFIED
Arvin I ChuiCanadaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem C ChuiFranceBernardo Dominic PROPOSAL
Misaki Y BologniaCanadaBernardo Dominic UNQUALIFIED
Faith D StensethCanadaElwin Sharvill QUALIFIED
Silvio K CampainRussiaIoni Bowcher RENEWAL
Costa B WieserGermanyIoni Bowcher RENEWAL
Costa I AlbaresSpainOnyama Limba NEW
Ivar F FollerRussiaAsiya Javayant RENEWAL
Stacey R GlickBrazilAmy Elsner QUALIFIED
Ricardo S MacleadJapanIoni Bowcher RENEWAL
Kaitlin F AmigonArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith I SchemmerArgentina2024-06-05Benton, John B Jr QUALIFIED70Asiya Javayant
1001Chavez X AlbaresItaly2024-06-02Chanay, Jeffrey A Esq RENEWAL78Amy Elsner
1002Aika S IturbideGermany2024-05-29Dorl, James J Esq NEW64Onyama Limba
1003Mujtaba R CaldareraUnited Kingdom2024-06-03Feiner Bros NEW29Asiya Javayant
1004Francesco G GauchoItaly2024-06-16Commercial Press PROPOSAL11Ivan Magalhaes
1005Aruna G FigeroaRussia2024-05-26Chapman, Ross E Esq UNQUALIFIED40Ivan Magalhaes
1006Darci L VocelkaFrance2024-06-05Morlong Associates UNQUALIFIED4Ioni Bowcher
1007Faith O CaldareraSpain2024-05-23Dorl, James J Esq NEW3Xuxue Feng
1008Sinclair U CaudyRussia2024-05-26Morlong Associates QUALIFIED74Onyama Limba
1009Darci H BowleyCanada2024-06-02Rangoni Of Florence PROPOSAL13Amy Elsner
1010Alejandro L IturbideRussia2024-06-12Feiner Bros NEW48Stephen Shaw
1011Jennifer A NickaCanada2024-06-04Rousseaux, Michael Esq PROPOSAL80Bernardo Dominic
1012James Z SaylorsItaly2024-06-10Benton, John B Jr QUALIFIED91Stephen Shaw
1013Kaitlin V DoeAustralia2024-06-01Chanay, Jeffrey A Esq RENEWAL19Amy Elsner
1014Silvio S KolmetzBrazil2024-05-20Printing Dimensions UNQUALIFIED47Amy Elsner
1015Smith Z FigeroaIndia2024-06-05Printing Dimensions PROPOSAL96Anna Fali
1016Greenwood X ShinkoFrance2024-05-27Chemel, James L Cpa RENEWAL1Elwin Sharvill
1017Greenwood H FigeroaGermany2024-05-24Feiner Bros RENEWAL7Amy Elsner
1018Wickens Y KuskoCanada2024-06-17Truhlar And Truhlar Attys UNQUALIFIED72Onyama Limba
1019Greenwood F FollerBrazil2024-05-26Rangoni Of Florence UNQUALIFIED99Anna Fali
1020Arvin Q MaletJapan2024-06-17King, Christopher A Esq RENEWAL94Amy Elsner
1021Arvin T DarakjyArgentina2024-06-02Benton, John B Jr NEGOTIATION89Xuxue Feng
1022Clifford N SergiGermany2024-06-01Truhlar And Truhlar Attys PROPOSAL88Ioni Bowcher
1023Arvin K SlusarskiAustralia2024-05-24Commercial Press NEW4Stephen Shaw
1024Silvio U BologniaItaly2024-06-16Chapman, Ross E Esq QUALIFIED74Onyama Limba
1025Kaitlin Z StockhamUnited Kingdom2024-05-22Rangoni Of Florence NEW7Ivan Magalhaes
1026Julie U BowleyCanada2024-06-14Feltz Printing Service NEW27Elwin Sharvill
1027Ashley Q ChuiSpain2024-05-21Dorl, James J Esq NEGOTIATION98Ioni Bowcher
1028Leja X OldroydRussia2024-06-11Morlong Associates NEGOTIATION19Bernardo Dominic
1029Mujtaba I MaletIndia2024-05-23Benton, John B Jr QUALIFIED74Xuxue Feng
1030Smith G OldroydGermany2024-05-28Dorl, James J Esq NEW28Xuxue Feng
1031Greenwood S SchemmerAustralia2024-05-29Chemel, James L Cpa QUALIFIED70Ioni Bowcher
1032Chavez Q BowleyJapan2024-06-04Chanay, Jeffrey A Esq NEW7Xuxue Feng
1033Smith Q WaycottIndia2024-06-04Feltz Printing Service UNQUALIFIED1Amy Elsner
1034Jefferson D NickaSpain2024-06-13Chapman, Ross E Esq PROPOSAL10Ioni Bowcher
1035Smith I ChuiItaly2024-05-20Feiner Bros UNQUALIFIED99Ioni Bowcher
1036Juan S MorascaUnited Kingdom2024-06-09Chapman, Ross E Esq UNQUALIFIED13Amy Elsner
1037Clifford M VocelkaCanada2024-05-24Rousseaux, Michael Esq NEW53Onyama Limba
1038Mujtaba F GauchoUnited Kingdom2024-06-14Printing Dimensions PROPOSAL35Onyama Limba
1039Salvatore I FigeroaUnited Kingdom2024-05-28Benton, John B Jr RENEWAL36Xuxue Feng
1040Izzy N AlbaresCanada2024-05-22Printing Dimensions PROPOSAL97Ioni Bowcher
1041Isabel T DarakjyCanada2024-06-12Rangoni Of Florence PROPOSAL42Anna Fali
1042Ashley I WieserItaly2024-06-08Truhlar And Truhlar Attys UNQUALIFIED77Stephen Shaw
1043Chavez M WieserRussia2024-05-27Chapman, Ross E Esq RENEWAL80Bernardo Dominic
1044Aditya O OldroydUnited Kingdom2024-05-23Rousseaux, Michael Esq PROPOSAL64Onyama Limba
1045Salvatore Z BologniaGermany2024-05-26Buckley Miller Wright NEGOTIATION1Ivan Magalhaes
1046Chavez M CampainBrazil2024-06-18King, Christopher A Esq RENEWAL29Asiya Javayant
1047Smith B VocelkaAustralia2024-06-12Feiner Bros QUALIFIED94Xuxue Feng
1048Ivar W AlbaresBrazil2024-06-16Chanay, Jeffrey A Esq NEW41Bernardo Dominic
1049Isabel V KuskoArgentina2024-06-12Buckley Miller Wright QUALIFIED62Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Emily G OstroskyItalyAmy Elsner NEW
Silvio J ChuiBrazilAmy Elsner UNQUALIFIED
Clifford V VenereJapanAmy Elsner RENEWAL
Jefferson K FlosiItalyOnyama Limba NEGOTIATION
Ivar R MarrierIndiaElwin Sharvill PROPOSAL
Costa W AmigonGermanyOnyama Limba QUALIFIED
Leja S TollnerBrazilIvan Magalhaes UNQUALIFIED
Aika J MorascaJapanOnyama Limba QUALIFIED
Aditya J ButtSpainBernardo Dominic RENEWAL
Ivar Y BologniaCanadaAsiya Javayant NEW
Costa L KuskoAustraliaElwin Sharvill RENEWAL
Faith N BowleyFranceStephen Shaw RENEWAL
Faith L ShinkoCanadaAnna Fali QUALIFIED
Chavez Y MarrierBrazilOnyama Limba PROPOSAL
Claire K InouyeCanadaAnna Fali PROPOSAL
Chavez S SlusarskiAustraliaElwin Sharvill PROPOSAL
Stacey L ButtAustraliaIoni Bowcher UNQUALIFIED
Adams T NickaArgentinaOnyama Limba UNQUALIFIED
James Q DarakjyFranceAmy Elsner UNQUALIFIED
Octavia K RimSpainStephen Shaw UNQUALIFIED
Antonio J InouyeBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois T ChuiRussiaBernardo Dominic RENEWAL
Alejandro M SchemmerAustraliaStephen Shaw QUALIFIED
Isabel Z SaylorsJapanIoni Bowcher PROPOSAL
Faith H CampainGermanyOnyama Limba UNQUALIFIED
Kadeem A PerinUnited KingdomOnyama Limba QUALIFIED
Leon M GillianSpainStephen Shaw NEW
Kaitlin F KolmetzAustraliaAsiya Javayant RENEWAL
Adams S RutaFranceAsiya Javayant NEW
Clifford C OldroydCanadaAsiya Javayant PROPOSAL
Johnson N WaycottRussiaStephen Shaw NEW
Francesco Z VenereIndiaAnna Fali RENEWAL
Aruna Y OldroydIndiaElwin Sharvill PROPOSAL
Costa G PaprockiRussiaStephen Shaw NEW
Ivar L CaldareraBrazilIvan Magalhaes RENEWAL
David F ChuiCanadaIvan Magalhaes PROPOSAL
Chavez D BowleyRussiaXuxue Feng UNQUALIFIED
Mujtaba C FlosiFranceAnna Fali UNQUALIFIED
Johnson U CaldareraArgentinaAmy Elsner NEGOTIATION
Faith T RimBrazilAmy Elsner QUALIFIED
Maria U NestleArgentinaIvan Magalhaes PROPOSAL
Mujtaba K KolmetzSpainAnna Fali NEGOTIATION
Francesco L SlusarskiCanadaAmy Elsner PROPOSAL
Salvatore A MaletRussiaIvan Magalhaes NEW
David M GlickBrazilElwin Sharvill NEGOTIATION
Clifford X ShinkoItalyOnyama Limba UNQUALIFIED
Jeanfrancois U NestleRussiaAnna Fali NEW
David G TollnerBrazilElwin Sharvill QUALIFIED
Silvio B RutaArgentinaBernardo Dominic NEW
Cody X BriddickArgentinaStephen Shaw RENEWAL
Frozen Columns
Name
Alejandro A Kolmetz
Jones R Inouye
Juan N Shinko
Ivar O Iturbide
David B Shinko
Isabel D Ruta
Stacey O Maclead
Mayumi G Poquette
Octavia N Waycott
Wickens M Briddick
Claire E Flosi
Maisha I Morasca
Cody F Caldarera
Murillo J Wieser
Kaitlin A Rulapaugh
Costa B Inouye
Murillo G Gillian
Nicolas Q Poquette
Aika H Waycott
Wickens E Vocelka
Silvio G Bolognia
Julie X Waycott
Francesco R Briddick
Jennifer F Figeroa
Leja R Kolmetz
Aruna L Slusarski
Emily P Rim
Faith B Garufi
Stacey A Stenseth
Silvio I Foller
Jennifer J Tollner
Misaki C Foller
Adams H Rulapaugh
Sinclair N Kusko
Clifford O Oldroyd
Juan Y Nestle
Leon U Rulapaugh
Wickens Z Darakjy
Ivar O Ostrosky
Costa B Flosi
Adams X Darakjy
Tony N Campain
Greenwood M Wieser
Ashley T Slusarski
Adams E Oldroyd
Alejandro F Foller
Aditya L Bolognia
Leon Q Inouye
Clifford S Bowley
Faith O Chui
IdCountryDate
1000Canada2024-06-13
1001Spain2024-06-16
1002Australia2024-06-10
1003United Kingdom2024-05-30
1004Canada2024-05-30
1005Australia2024-06-18
1006India2024-06-04
1007Japan2024-05-23
1008Japan2024-06-07
1009Russia2024-06-12
1010Brazil2024-05-24
1011Australia2024-05-31
1012Argentina2024-06-05
1013Argentina2024-06-01
1014France2024-05-21
1015Brazil2024-05-27
1016Germany2024-06-05
1017Germany2024-05-27
1018Spain2024-05-20
1019Spain2024-06-18
1020Australia2024-05-22
1021Spain2024-06-18
1022Germany2024-05-31
1023Germany2024-05-23
1024Japan2024-06-06
1025Italy2024-06-02
1026Canada2024-05-30
1027Italy2024-05-21
1028France2024-06-18
1029Argentina2024-05-30
1030Canada2024-06-12
1031Russia2024-06-01
1032Spain2024-06-02
1033Australia2024-06-01
1034Japan2024-05-26
1035Australia2024-06-07
1036Spain2024-06-01
1037Germany2024-06-15
1038France2024-05-21
1039Germany2024-06-01
1040France2024-06-17
1041France2024-06-05
1042Canada2024-06-16
1043Germany2024-06-16
1044Japan2024-05-21
1045Germany2024-06-15
1046Argentina2024-06-11
1047Australia2024-06-07
1048India2024-05-29
1049United Kingdom2024-06-02

On-Demand Data

NameIdCountryDate
Emily K Amigon1000Spain2024-06-09
Greenwood M Malet1001Japan2024-06-13
Aika D Caldarera1002Japan2024-05-26
David I Foller1003India2024-05-25
Kadeem J Oldroyd1004United Kingdom2024-05-20
Juan S Wieser1005Italy2024-06-15
Izzy Z Saylors1006United Kingdom2024-05-21
Aditya K Dilliard1007Argentina2024-05-20
Tony T Schemmer1008Italy2024-06-11
Jennifer Q Glick1009Germany2024-05-31
Julie Z Bowley1010Spain2024-06-04
Izzy N Venere1011Germany2024-05-24
Stacey B Campain1012Brazil2024-06-03
Tony M Ruta1013Italy2024-06-16
Alejandro R Garufi1014Italy2024-06-13
Maisha S Wieser1015Russia2024-06-12
Deepesh R Ostrosky1016Argentina2024-06-18
Antonio E Kolmetz1017Russia2024-06-01
Ricardo X Rulapaugh1018Japan2024-05-27
Leja H Dilliard1019United Kingdom2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha N PaprockiUnited KingdomOnyama Limba QUALIFIED
Chavez T MaletUnited KingdomIoni Bowcher NEGOTIATION
James P StockhamSpainOnyama Limba NEGOTIATION
Arvin U MaletFranceBernardo Dominic RENEWAL
Nicolas R MarrierItalyIoni Bowcher PROPOSAL
Faith W StensethBrazilBernardo Dominic RENEWAL
Costa Z MaletArgentinaIvan Magalhaes RENEWAL
Adams Y OstroskyAustraliaStephen Shaw UNQUALIFIED
Claire T SlusarskiFranceIoni Bowcher NEW
Isabel C InouyeJapanOnyama Limba RENEWAL
Ricardo D DoeRussiaElwin Sharvill NEW
Aditya M FerenczRussiaXuxue Feng NEGOTIATION
Izzy J FerenczFranceStephen Shaw NEW
Isabel A MorascaFranceIvan Magalhaes RENEWAL
Arvin R DarakjyItalyIvan Magalhaes UNQUALIFIED
Alejandro N CampainCanadaStephen Shaw UNQUALIFIED
Ivar J OstroskyJapanIoni Bowcher UNQUALIFIED
David Q PaprockiJapanIvan Magalhaes NEW
Francesco G FigeroaGermanyAsiya Javayant UNQUALIFIED
Francesco M GarufiCanadaStephen Shaw QUALIFIED
Octavia G IturbideSpainAmy Elsner UNQUALIFIED
Octavia M MarrierSpainStephen Shaw PROPOSAL
Claire K WaycottItalyStephen Shaw PROPOSAL
Juan O ButtAustraliaBernardo Dominic PROPOSAL
Clifford Q RutaIndiaBernardo Dominic RENEWAL
James E WaycottBrazilAnna Fali NEW
Deepesh G CaldareraCanadaIvan Magalhaes RENEWAL
Jefferson L GauchoBrazilAsiya Javayant NEGOTIATION
Johnson P SergiCanadaAmy Elsner NEGOTIATION
Tony B SchemmerRussiaAmy Elsner UNQUALIFIED
Aika P RimGermanyElwin Sharvill NEGOTIATION
Jones X ShinkoArgentinaIoni Bowcher RENEWAL
Kaitlin H StensethFranceAnna Fali NEGOTIATION
Munro T BowleyCanadaElwin Sharvill UNQUALIFIED
Darci S MacleadRussiaXuxue Feng PROPOSAL
Antonio H PerinBrazilXuxue Feng UNQUALIFIED
Ricardo W RoysterRussiaAmy Elsner UNQUALIFIED
Wickens O FigeroaArgentinaXuxue Feng RENEWAL
Izzy U IturbideGermanyIoni Bowcher QUALIFIED
Isabel M GarufiItalyAsiya Javayant 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>