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
Chavez R KuskoCanadaAmy Elsner NEGOTIATION
Faith O GlickAustraliaBernardo Dominic NEW
Costa S KolmetzGermanyIoni Bowcher UNQUALIFIED
Jefferson P MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Antonio L PaprockiJapanAsiya Javayant QUALIFIED
Murillo P BriddickRussiaAsiya Javayant UNQUALIFIED
Emily O BriddickFranceAnna Fali NEW
Aika G DoeJapanOnyama Limba NEGOTIATION
Salvatore D FollerCanadaIoni Bowcher UNQUALIFIED
Smith B DarakjyBrazilAsiya Javayant RENEWAL
Salvatore G BowleyArgentinaXuxue Feng UNQUALIFIED
Sinclair F VenereAustraliaIvan Magalhaes QUALIFIED
Murillo G NestleArgentinaXuxue Feng NEW
Mujtaba I WaycottIndiaAmy Elsner NEW
Munro E RimAustraliaAmy Elsner QUALIFIED
Nicolas K FigeroaGermanyAnna Fali PROPOSAL
Misaki I BologniaJapanAnna Fali NEW
Tony U GlickFranceIvan Magalhaes NEGOTIATION
Jeanfrancois X DoeRussiaIvan Magalhaes NEGOTIATION
Murillo L GlickIndiaXuxue Feng PROPOSAL
Johnson B ButtJapanAmy Elsner PROPOSAL
Sinclair H MaletItalyAmy Elsner PROPOSAL
Ricardo C SergiRussiaOnyama Limba NEGOTIATION
Smith F FollerArgentinaAmy Elsner QUALIFIED
Murillo N GillianRussiaIoni Bowcher RENEWAL
Mujtaba Z NickaRussiaAsiya Javayant NEW
Kadeem X BriddickRussiaBernardo Dominic UNQUALIFIED
Murillo N AlbaresAustraliaAmy Elsner UNQUALIFIED
Ricardo S BowleyIndiaAnna Fali UNQUALIFIED
Emily L MacleadIndiaIvan Magalhaes RENEWAL
James K InouyeGermanyBernardo Dominic NEW
Aditya Z NestleAustraliaAsiya Javayant UNQUALIFIED
Wickens I CaldareraJapanBernardo Dominic RENEWAL
Claire Z VocelkaArgentinaBernardo Dominic RENEWAL
Morrow H PerinCanadaAnna Fali UNQUALIFIED
Jeanfrancois M WieserSpainAnna Fali RENEWAL
Jennifer A GarufiItalyOnyama Limba RENEWAL
Ricardo F DarakjyRussiaIoni Bowcher RENEWAL
Mayumi Y AmigonCanadaXuxue Feng RENEWAL
Claire J NickaAustraliaAmy Elsner UNQUALIFIED
Leon O NickaUnited KingdomOnyama Limba UNQUALIFIED
Maisha I MaletJapanElwin Sharvill RENEWAL
Greenwood G SchemmerArgentinaIoni Bowcher RENEWAL
Francesco U WaycottUnited KingdomAmy Elsner UNQUALIFIED
Greenwood N SergiFranceBernardo Dominic RENEWAL
Stacey R MacleadItalyElwin Sharvill UNQUALIFIED
Ivar S GillianRussiaAnna Fali NEW
Juan I SchemmerCanadaElwin Sharvill NEGOTIATION
Smith Y TollnerArgentinaStephen Shaw NEGOTIATION
Aruna D CaldareraSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie H WhobreyFranceBernardo Dominic RENEWAL
Aditya C MaletIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois S SchemmerUnited KingdomOnyama Limba PROPOSAL
Jefferson Q MarrierFranceAmy Elsner NEW
Leon J SlusarskiJapanIvan Magalhaes UNQUALIFIED
Isabel C RulapaughBrazilBernardo Dominic RENEWAL
Salvatore T NickaUnited KingdomIvan Magalhaes PROPOSAL
Antonio Q WhobreySpainAmy Elsner QUALIFIED
Francesco I BowleyFranceAsiya Javayant UNQUALIFIED
Silvio U StensethRussiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Y IturbideArgentina2024-08-31Benton, John B Jr RENEWAL7Bernardo Dominic
1001Aika U MaletSpain2024-09-10Feltz Printing Service PROPOSAL17Stephen Shaw
1002Salvatore R TollnerSpain2024-09-09Chanay, Jeffrey A Esq UNQUALIFIED20Elwin Sharvill
1003Mujtaba O SergiIndia2024-09-04Truhlar And Truhlar Attys QUALIFIED82Ioni Bowcher
1004Juan Q VenereRussia2024-09-21Chapman, Ross E Esq UNQUALIFIED50Elwin Sharvill
1005Silvio W KuskoSpain2024-09-24Commercial Press NEGOTIATION72Bernardo Dominic
1006Faith Z AmigonGermany2024-09-06Dorl, James J Esq RENEWAL82Bernardo Dominic
1007Tony O GillianAustralia2024-09-20Feiner Bros RENEWAL23Asiya Javayant
1008Smith Z GauchoBrazil2024-09-11Buckley Miller Wright PROPOSAL13Onyama Limba
1009Aruna F SchemmerBrazil2024-09-13Benton, John B Jr RENEWAL4Elwin Sharvill
1010Morrow N DoeGermany2024-09-06Chemel, James L Cpa RENEWAL57Onyama Limba
1011Chavez Y RutaAustralia2024-09-11Truhlar And Truhlar Attys UNQUALIFIED9Ivan Magalhaes
1012Leja H FerenczSpain2024-09-23Morlong Associates NEW75Anna Fali
1013Mayumi H BriddickAustralia2024-08-29Chapman, Ross E Esq PROPOSAL28Ioni Bowcher
1014Munro U GarufiBrazil2024-09-22Benton, John B Jr NEGOTIATION60Ivan Magalhaes
1015Octavia M OstroskyItaly2024-08-31Printing Dimensions UNQUALIFIED15Anna Fali
1016Mayumi S WieserFrance2024-08-27Truhlar And Truhlar Attys RENEWAL43Anna Fali
1017Jefferson U PoquetteBrazil2024-09-16Morlong Associates NEGOTIATION80Bernardo Dominic
1018Mayumi B PerinJapan2024-09-18Commercial Press PROPOSAL83Xuxue Feng
1019Antonio N IturbideCanada2024-09-15Commercial Press PROPOSAL52Asiya Javayant
1020Jones X VocelkaUnited Kingdom2024-09-24Benton, John B Jr RENEWAL99Asiya Javayant
1021Kaitlin B CampainAustralia2024-09-14Chapman, Ross E Esq UNQUALIFIED5Bernardo Dominic
1022Francesco Q FerenczJapan2024-09-07Printing Dimensions RENEWAL30Bernardo Dominic
1023Stacey L DoeSpain2024-08-29King, Christopher A Esq UNQUALIFIED7Onyama Limba
1024Maisha L ButtArgentina2024-09-17Chanay, Jeffrey A Esq NEW77Amy Elsner
1025James J TollnerBrazil2024-09-07Chapman, Ross E Esq RENEWAL10Asiya Javayant
1026Rodrigues D OldroydSpain2024-09-01Buckley Miller Wright RENEWAL42Ioni Bowcher
1027Deepesh M WaycottArgentina2024-09-21Morlong Associates RENEWAL62Xuxue Feng
1028Emily Y PoquetteFrance2024-09-01Chemel, James L Cpa NEW91Ivan Magalhaes
1029Costa M OldroydBrazil2024-09-16Chapman, Ross E Esq UNQUALIFIED76Bernardo Dominic
1030Sinclair S NickaSpain2024-09-06Rangoni Of Florence RENEWAL6Onyama Limba
1031Nicolas E AmigonFrance2024-09-18Buckley Miller Wright NEGOTIATION11Anna Fali
1032Jones Y RoysterUnited Kingdom2024-08-27Benton, John B Jr NEGOTIATION29Bernardo Dominic
1033Faith C WhobreyItaly2024-08-27King, Christopher A Esq PROPOSAL11Stephen Shaw
1034Rodrigues P MaletAustralia2024-08-29Chemel, James L Cpa RENEWAL45Asiya Javayant
1035Johnson F DarakjySpain2024-09-15Commercial Press RENEWAL31Bernardo Dominic
1036James A DoeRussia2024-09-18Rousseaux, Michael Esq PROPOSAL51Amy Elsner
1037Emily P AlbaresSpain2024-09-11Feltz Printing Service UNQUALIFIED6Ioni Bowcher
1038Leon N SergiCanada2024-09-22Dorl, James J Esq NEW83Xuxue Feng
1039Ivar O MaletBrazil2024-09-09Printing Dimensions UNQUALIFIED1Xuxue Feng
1040Rodrigues I GauchoUnited Kingdom2024-09-04Rousseaux, Michael Esq NEW51Bernardo Dominic
1041Arvin C CaudyCanada2024-08-29Benton, John B Jr UNQUALIFIED62Onyama Limba
1042Jennifer U BriddickGermany2024-09-09Rousseaux, Michael Esq PROPOSAL72Onyama Limba
1043James D IturbideFrance2024-09-07Benton, John B Jr NEW60Stephen Shaw
1044Murillo Y SaylorsFrance2024-09-03Chapman, Ross E Esq NEGOTIATION86Stephen Shaw
1045Aruna V IturbideUnited Kingdom2024-09-17Morlong Associates NEW19Stephen Shaw
1046Wickens A TollnerCanada2024-09-13Rangoni Of Florence RENEWAL59Amy Elsner
1047Morrow W DilliardFrance2024-09-11Rangoni Of Florence NEGOTIATION67Xuxue Feng
1048Kaitlin X SchemmerArgentina2024-08-28Rangoni Of Florence QUALIFIED25Asiya Javayant
1049Chavez K NickaItaly2024-09-16Rangoni Of Florence RENEWAL4Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci E CampainArgentinaIoni Bowcher QUALIFIED
Deepesh L SergiRussiaStephen Shaw PROPOSAL
Chavez U NestleUnited KingdomIoni Bowcher QUALIFIED
Aruna O DilliardRussiaOnyama Limba QUALIFIED
Rodrigues H GauchoUnited KingdomAnna Fali NEW
Costa W KolmetzGermanyIoni Bowcher UNQUALIFIED
Mayumi Y ShinkoUnited KingdomStephen Shaw NEW
Leon I PoquetteUnited KingdomAnna Fali RENEWAL
Morrow W CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Salvatore S TollnerSpainIvan Magalhaes UNQUALIFIED
Smith N RutaJapanXuxue Feng NEGOTIATION
Deepesh Y CaudyArgentinaElwin Sharvill RENEWAL
Mujtaba P RulapaughGermanyBernardo Dominic QUALIFIED
Izzy W WaycottIndiaStephen Shaw NEGOTIATION
Nicolas U SergiAustraliaAmy Elsner QUALIFIED
Misaki P GauchoAustraliaAsiya Javayant RENEWAL
Leon P PaprockiArgentinaIoni Bowcher RENEWAL
Mujtaba K ChuiRussiaAsiya Javayant NEW
Sinclair R KolmetzAustraliaIoni Bowcher UNQUALIFIED
Claire W NestleGermanyAsiya Javayant RENEWAL
Arvin H ShinkoGermanyStephen Shaw UNQUALIFIED
Greenwood M MarrierJapanAnna Fali PROPOSAL
Faith T DarakjyJapanOnyama Limba UNQUALIFIED
Leon Z IturbideIndiaStephen Shaw PROPOSAL
Morrow Z FollerArgentinaXuxue Feng NEGOTIATION
Stacey K AmigonItalyElwin Sharvill RENEWAL
Chavez N WieserRussiaAsiya Javayant PROPOSAL
Juan R DarakjyBrazilIoni Bowcher QUALIFIED
Nicolas H SchemmerBrazilAnna Fali UNQUALIFIED
Salvatore O MacleadJapanOnyama Limba QUALIFIED
Murillo B DoeRussiaElwin Sharvill NEGOTIATION
Chavez U CaldareraBrazilAsiya Javayant NEW
Claire H FerenczCanadaStephen Shaw QUALIFIED
Ricardo O CampainJapanAsiya Javayant UNQUALIFIED
Isabel L SchemmerFranceIvan Magalhaes UNQUALIFIED
Isabel U RutaCanadaIoni Bowcher RENEWAL
Morrow S DoeCanadaElwin Sharvill PROPOSAL
Izzy X SaylorsRussiaElwin Sharvill NEW
Greenwood Q ButtCanadaBernardo Dominic NEW
Costa L KuskoCanadaAsiya Javayant NEW
Johnson F DilliardSpainAsiya Javayant NEW
Clifford Y ChuiSpainStephen Shaw UNQUALIFIED
Deepesh Z SergiBrazilAsiya Javayant NEW
Alejandro N GarufiCanadaXuxue Feng RENEWAL
Darci Q WhobreyArgentinaIoni Bowcher UNQUALIFIED
David D PaprockiIndiaBernardo Dominic RENEWAL
Mayumi A GlickIndiaIvan Magalhaes UNQUALIFIED
Morrow Y GlickAustraliaBernardo Dominic NEGOTIATION
Murillo L TollnerItalyElwin Sharvill NEGOTIATION
Sinclair E CaldareraGermanyXuxue Feng NEGOTIATION
Frozen Columns
Name
Adams O Garufi
Smith G Figeroa
Mayumi S Saylors
Nicolas Q Briddick
Antonio M Marrier
Isabel O Glick
Mayumi L Morasca
Adams H Glick
Mayumi A Kolmetz
Mayumi W Flosi
Murillo B Foller
Kaitlin F Paprocki
Silvio W Vocelka
Ivar A Sergi
Kadeem R Poquette
Rodrigues Z Albares
Ivar X Campain
Antonio H Schemmer
Jennifer N Doe
Leon X Bowley
Antonio O Maclead
David R Rulapaugh
Maisha Z Perin
Sinclair Y Shinko
Costa Q Gillian
Costa J Ferencz
Jennifer V Campain
Isabel K Bolognia
Octavia M Wieser
Aika V Slusarski
Antonio B Schemmer
Silvio J Venere
Maria Z Caldarera
Maria S Venere
Ricardo L Campain
Isabel W Nicka
Greenwood M Vocelka
Smith Q Kolmetz
Cody Y Gillian
Jeanfrancois K Wieser
Antonio G Glick
Aruna T Bowley
James F Morasca
Murillo L Gillian
Costa Y Waycott
Jefferson Q Butt
Rodrigues K Bowley
Aruna W Figeroa
Mayumi L Stenseth
Misaki D Vocelka
IdCountryDate
1000United Kingdom2024-09-02
1001Argentina2024-09-11
1002Spain2024-09-16
1003Brazil2024-09-03
1004Russia2024-09-05
1005Australia2024-08-27
1006Japan2024-09-20
1007Australia2024-08-29
1008Brazil2024-08-29
1009Japan2024-09-20
1010Canada2024-09-12
1011Germany2024-09-12
1012Japan2024-09-21
1013Spain2024-08-29
1014Spain2024-09-01
1015Brazil2024-08-28
1016Russia2024-09-01
1017United Kingdom2024-09-01
1018United Kingdom2024-09-06
1019Argentina2024-09-04
1020India2024-09-21
1021Italy2024-08-31
1022United Kingdom2024-09-17
1023Canada2024-09-17
1024India2024-09-13
1025Argentina2024-09-02
1026India2024-09-06
1027Argentina2024-09-13
1028Argentina2024-09-13
1029India2024-09-03
1030Japan2024-08-29
1031France2024-09-03
1032Italy2024-09-05
1033Brazil2024-09-06
1034India2024-09-10
1035France2024-09-05
1036Brazil2024-09-02
1037Italy2024-09-23
1038Germany2024-09-22
1039Argentina2024-08-28
1040Italy2024-09-20
1041Italy2024-09-13
1042India2024-08-30
1043Brazil2024-09-20
1044Argentina2024-09-19
1045Argentina2024-09-06
1046Japan2024-09-17
1047Germany2024-09-01
1048Japan2024-09-09
1049Spain2024-09-18

On-Demand Data

NameIdCountryDate
Aika S Dilliard1000Germany2024-08-29
Francesco I Shinko1001Italy2024-09-17
Jennifer U Vocelka1002Russia2024-09-07
Jennifer H Kusko1003Argentina2024-09-15
Maria D Nestle1004Germany2024-09-11
Juan G Schemmer1005France2024-09-09
Maria L Caudy1006Brazil2024-09-14
Kaitlin K Gaucho1007Japan2024-09-22
Rodrigues I Kolmetz1008India2024-09-11
Munro J Butt1009Canada2024-08-28
Aruna N Flosi1010India2024-09-22
David B Vocelka1011Brazil2024-09-12
Julie O Ferencz1012Argentina2024-08-31
Aika A Shinko1013Spain2024-09-18
Ivar N Chui1014Spain2024-09-12
Juan O Iturbide1015Italy2024-09-09
Aruna Y Rulapaugh1016Japan2024-09-01
Tony K Ruta1017Argentina2024-09-09
Faith Q Shinko1018Germany2024-09-10
Misaki D Briddick1019Germany2024-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki N CampainRussiaIvan Magalhaes UNQUALIFIED
Alejandro D PoquetteSpainAsiya Javayant NEGOTIATION
Octavia C OstroskyItalyOnyama Limba NEGOTIATION
Claire L BologniaFranceOnyama Limba RENEWAL
Darci R PaprockiFranceIoni Bowcher NEW
Cody P ChuiRussiaAsiya Javayant NEW
Greenwood O CampainArgentinaOnyama Limba UNQUALIFIED
Silvio H WhobreySpainAnna Fali NEGOTIATION
Munro G NickaAustraliaIvan Magalhaes PROPOSAL
Isabel F OldroydJapanOnyama Limba NEW
Jefferson X GlickJapanIvan Magalhaes NEW
Costa C MacleadBrazilAnna Fali UNQUALIFIED
James I WieserArgentinaOnyama Limba NEGOTIATION
Johnson X AlbaresCanadaOnyama Limba PROPOSAL
Costa H ChuiItalyOnyama Limba NEW
Clifford J KuskoArgentinaXuxue Feng NEGOTIATION
Arvin Y SaylorsCanadaAmy Elsner NEGOTIATION
Murillo B RoysterAustraliaOnyama Limba PROPOSAL
Chavez X PaprockiSpainStephen Shaw NEGOTIATION
Deepesh V KuskoAustraliaIvan Magalhaes NEGOTIATION
Maisha Y FlosiRussiaBernardo Dominic PROPOSAL
Chavez C DarakjyIndiaElwin Sharvill RENEWAL
Kaitlin P OldroydRussiaAsiya Javayant UNQUALIFIED
Adams Y FlosiSpainStephen Shaw UNQUALIFIED
Smith D SlusarskiItalyIoni Bowcher NEW
Arvin E ChuiArgentinaAmy Elsner PROPOSAL
Maria Y FollerCanadaElwin Sharvill NEW
Julie G BowleyItalyIoni Bowcher NEW
Ricardo X IturbideRussiaXuxue Feng NEGOTIATION
Cody J StockhamJapanIvan Magalhaes RENEWAL
Morrow M ButtRussiaXuxue Feng NEGOTIATION
Cody B OldroydArgentinaAmy Elsner QUALIFIED
Kadeem Z GarufiArgentinaIoni Bowcher UNQUALIFIED
Chavez B SchemmerJapanIvan Magalhaes PROPOSAL
Smith O RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow K KuskoArgentinaAmy Elsner NEGOTIATION
Munro B SlusarskiItalyXuxue Feng UNQUALIFIED
Claire S IturbideRussiaStephen Shaw NEW
Kaitlin X DoeBrazilXuxue Feng PROPOSAL
Maria L VocelkaBrazilAmy Elsner PROPOSAL

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