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
Ashley D WaycottBrazilBernardo Dominic UNQUALIFIED
Claire K BriddickBrazilIoni Bowcher RENEWAL
Mujtaba Y CaudyArgentinaStephen Shaw NEW
Kadeem M NestleRussiaStephen Shaw UNQUALIFIED
Kadeem X GarufiRussiaStephen Shaw UNQUALIFIED
Arvin O WaycottCanadaStephen Shaw NEGOTIATION
Alejandro E MacleadJapanElwin Sharvill QUALIFIED
Salvatore P PaprockiUnited KingdomAmy Elsner PROPOSAL
Aika T VocelkaUnited KingdomElwin Sharvill NEW
Johnson N FollerItalyElwin Sharvill NEGOTIATION
Isabel N FigeroaIndiaAsiya Javayant QUALIFIED
Stacey U InouyeCanadaOnyama Limba QUALIFIED
Silvio F DoeFranceAsiya Javayant PROPOSAL
Stacey J WaycottGermanyAmy Elsner NEW
Silvio B PoquetteBrazilXuxue Feng NEGOTIATION
Claire Y KolmetzRussiaAnna Fali RENEWAL
Ricardo N SaylorsJapanIvan Magalhaes UNQUALIFIED
Francesco M TollnerArgentinaAnna Fali PROPOSAL
Claire B RulapaughSpainBernardo Dominic NEGOTIATION
Silvio U CaldareraSpainXuxue Feng RENEWAL
Ivar E PoquetteBrazilElwin Sharvill UNQUALIFIED
Jones Q WaycottGermanyAsiya Javayant PROPOSAL
Sinclair J RutaIndiaOnyama Limba RENEWAL
Maisha L BologniaCanadaIoni Bowcher RENEWAL
Arvin U NickaBrazilAmy Elsner RENEWAL
Adams Z GlickGermanyAmy Elsner NEW
Ivar W BowleyArgentinaAnna Fali NEW
Francesco U StensethJapanIoni Bowcher NEGOTIATION
Jennifer A FlosiIndiaOnyama Limba UNQUALIFIED
Faith R ButtRussiaStephen Shaw RENEWAL
Izzy L ShinkoUnited KingdomIoni Bowcher NEW
Izzy O WaycottBrazilAnna Fali QUALIFIED
Smith Z MacleadArgentinaXuxue Feng QUALIFIED
Mujtaba W StockhamFranceIoni Bowcher UNQUALIFIED
Mayumi E KuskoJapanStephen Shaw PROPOSAL
Salvatore N FollerBrazilOnyama Limba PROPOSAL
Munro G CampainIndiaAsiya Javayant NEGOTIATION
Maisha J SaylorsCanadaOnyama Limba QUALIFIED
Claire K KuskoIndiaAnna Fali NEW
Ivar Z PaprockiAustraliaIoni Bowcher UNQUALIFIED
Aditya U AmigonGermanyStephen Shaw NEW
Francesco N RutaAustraliaStephen Shaw RENEWAL
Jennifer R FollerJapanXuxue Feng NEW
Francesco G BowleyJapanOnyama Limba NEW
Octavia E IturbideCanadaIvan Magalhaes QUALIFIED
Misaki P WhobreyJapanAnna Fali NEW
Alejandro H StockhamUnited KingdomAsiya Javayant PROPOSAL
Smith B OldroydFranceAmy Elsner NEW
Clifford Q ChuiJapanIvan Magalhaes RENEWAL
Mujtaba D VenereItalyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey P VocelkaJapanIoni Bowcher QUALIFIED
Johnson C StensethUnited KingdomIvan Magalhaes PROPOSAL
David Z RimArgentinaStephen Shaw NEGOTIATION
Kaitlin Z StensethJapanIoni Bowcher RENEWAL
Deepesh Z RimSpainAnna Fali PROPOSAL
Mujtaba B VenereArgentinaElwin Sharvill NEGOTIATION
Jefferson B InouyeBrazilIoni Bowcher PROPOSAL
Octavia W StockhamArgentinaAmy Elsner RENEWAL
Jeanfrancois P GlickRussiaBernardo Dominic NEW
Maria O NestleArgentinaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci A CaldareraUnited Kingdom2024-06-13Truhlar And Truhlar Attys NEW91Elwin Sharvill
1001Adams Z MarrierBrazil2024-05-27Truhlar And Truhlar Attys NEGOTIATION10Ioni Bowcher
1002Rodrigues S AmigonCanada2024-06-15Buckley Miller Wright NEW93Anna Fali
1003Maisha L VocelkaCanada2024-06-15Chapman, Ross E Esq PROPOSAL20Bernardo Dominic
1004Ivar K VocelkaUnited Kingdom2024-06-13Rangoni Of Florence QUALIFIED18Asiya Javayant
1005Ashley Y WhobreyIndia2024-06-14Chanay, Jeffrey A Esq QUALIFIED64Ioni Bowcher
1006Octavia T VenereBrazil2024-05-22Buckley Miller Wright PROPOSAL33Asiya Javayant
1007Cody F DarakjyItaly2024-06-12Printing Dimensions NEW28Xuxue Feng
1008Faith N SchemmerUnited Kingdom2024-05-21Morlong Associates QUALIFIED32Asiya Javayant
1009Deepesh Q SaylorsBrazil2024-06-02Buckley Miller Wright NEW11Ivan Magalhaes
1010Sinclair S BriddickSpain2024-06-11Chapman, Ross E Esq QUALIFIED6Asiya Javayant
1011Aruna I SlusarskiRussia2024-06-06Rangoni Of Florence UNQUALIFIED6Anna Fali
1012Maria Z StockhamCanada2024-05-19Rousseaux, Michael Esq NEGOTIATION34Ivan Magalhaes
1013Johnson X NestleAustralia2024-05-30King, Christopher A Esq PROPOSAL42Stephen Shaw
1014Leon M NestleItaly2024-06-12Chapman, Ross E Esq PROPOSAL67Bernardo Dominic
1015Arvin I BowleyGermany2024-05-26Dorl, James J Esq NEGOTIATION23Ioni Bowcher
1016Misaki K SlusarskiIndia2024-06-09Benton, John B Jr PROPOSAL26Onyama Limba
1017Claire P RutaUnited Kingdom2024-06-01Morlong Associates PROPOSAL61Stephen Shaw
1018Octavia R WaycottFrance2024-06-15Commercial Press RENEWAL61Bernardo Dominic
1019Emily L DilliardJapan2024-05-26Chapman, Ross E Esq UNQUALIFIED90Elwin Sharvill
1020Claire Z DoeAustralia2024-06-12Chemel, James L Cpa NEW23Ioni Bowcher
1021Misaki Y RimItaly2024-05-28Feiner Bros UNQUALIFIED70Ioni Bowcher
1022Stacey Y GlickJapan2024-06-08Feltz Printing Service RENEWAL49Asiya Javayant
1023Chavez B RutaJapan2024-06-08Buckley Miller Wright UNQUALIFIED19Stephen Shaw
1024Clifford V RulapaughFrance2024-05-23Benton, John B Jr UNQUALIFIED90Xuxue Feng
1025Greenwood X KolmetzAustralia2024-05-21Chemel, James L Cpa UNQUALIFIED31Amy Elsner
1026Leon B PerinIndia2024-06-10Morlong Associates PROPOSAL48Ivan Magalhaes
1027Leon R SlusarskiSpain2024-05-31Rangoni Of Florence PROPOSAL12Amy Elsner
1028Greenwood J FigeroaCanada2024-05-27Rousseaux, Michael Esq PROPOSAL74Ivan Magalhaes
1029Maisha S FlosiItaly2024-05-20Truhlar And Truhlar Attys UNQUALIFIED9Bernardo Dominic
1030Costa F KolmetzGermany2024-06-06Feiner Bros NEW0Ioni Bowcher
1031Maria O FlosiArgentina2024-05-19Rousseaux, Michael Esq RENEWAL50Ioni Bowcher
1032Jennifer C MarrierGermany2024-06-13Chemel, James L Cpa NEGOTIATION63Ioni Bowcher
1033Salvatore Q OstroskySpain2024-05-21Chanay, Jeffrey A Esq PROPOSAL51Amy Elsner
1034Ivar E GauchoItaly2024-06-10Morlong Associates UNQUALIFIED6Anna Fali
1035Alejandro Q FerenczBrazil2024-06-04Chemel, James L Cpa UNQUALIFIED63Onyama Limba
1036Maria U KuskoUnited Kingdom2024-06-07Commercial Press NEGOTIATION30Anna Fali
1037Morrow I MacleadCanada2024-06-10Morlong Associates RENEWAL32Elwin Sharvill
1038Rodrigues Y RoysterRussia2024-05-25Printing Dimensions PROPOSAL65Onyama Limba
1039Emily W RulapaughRussia2024-06-04Feltz Printing Service NEGOTIATION95Asiya Javayant
1040Deepesh I MaletGermany2024-05-21Truhlar And Truhlar Attys QUALIFIED45Stephen Shaw
1041Wickens P RulapaughArgentina2024-05-29Feiner Bros NEW1Ivan Magalhaes
1042Stacey O FigeroaIndia2024-06-05Truhlar And Truhlar Attys NEW76Ioni Bowcher
1043Silvio L BowleyJapan2024-06-10Commercial Press NEGOTIATION22Elwin Sharvill
1044Mujtaba D KolmetzItaly2024-05-22Chapman, Ross E Esq NEGOTIATION36Xuxue Feng
1045Johnson H SergiBrazil2024-05-28Printing Dimensions RENEWAL48Ioni Bowcher
1046Smith Q FollerFrance2024-06-10Chemel, James L Cpa RENEWAL53Elwin Sharvill
1047Isabel C CampainSpain2024-05-19Truhlar And Truhlar Attys QUALIFIED96Anna Fali
1048Leja L ButtSpain2024-06-03Rangoni Of Florence PROPOSAL73Anna Fali
1049Mujtaba G MaletArgentina2024-06-01Dorl, James J Esq RENEWAL67Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Darci I BowleyAustraliaOnyama Limba RENEWAL
Jefferson X PerinItalyAnna Fali QUALIFIED
Aditya S BriddickJapanAnna Fali QUALIFIED
Ivar H FigeroaGermanyStephen Shaw NEW
Isabel J WaycottCanadaBernardo Dominic RENEWAL
Morrow F MaletUnited KingdomOnyama Limba PROPOSAL
Octavia F ShinkoArgentinaXuxue Feng NEW
Julie A BowleySpainStephen Shaw PROPOSAL
Mayumi J WieserFranceIvan Magalhaes QUALIFIED
Emily E ButtUnited KingdomAsiya Javayant NEW
Leja D VenereJapanBernardo Dominic UNQUALIFIED
Tony L SlusarskiJapanStephen Shaw NEGOTIATION
Deepesh C BologniaSpainIoni Bowcher NEGOTIATION
Ivar A SaylorsJapanXuxue Feng NEGOTIATION
Kaitlin S MacleadAustraliaElwin Sharvill UNQUALIFIED
Arvin B ButtRussiaAsiya Javayant QUALIFIED
Aruna C FigeroaArgentinaElwin Sharvill NEW
Johnson Z AmigonIndiaAsiya Javayant QUALIFIED
Salvatore Z GillianAustraliaXuxue Feng UNQUALIFIED
Maisha A WhobreySpainOnyama Limba UNQUALIFIED
Tony L SchemmerArgentinaIoni Bowcher RENEWAL
Morrow Z WaycottItalyAmy Elsner RENEWAL
Murillo F FollerBrazilOnyama Limba UNQUALIFIED
Salvatore Q IturbideUnited KingdomAsiya Javayant RENEWAL
Sinclair D MaletItalyAnna Fali NEGOTIATION
Juan X SergiUnited KingdomXuxue Feng RENEWAL
Ivar H DoeIndiaIoni Bowcher NEW
Leja R VenereGermanyIoni Bowcher RENEWAL
Nicolas A TollnerUnited KingdomOnyama Limba NEGOTIATION
Aditya E OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Leon T WieserCanadaAnna Fali RENEWAL
Claire L IturbideAustraliaAnna Fali PROPOSAL
Jeanfrancois Q WieserUnited KingdomOnyama Limba NEW
Sinclair K MaletGermanyStephen Shaw RENEWAL
Maria F OldroydUnited KingdomBernardo Dominic RENEWAL
Johnson J DoeFranceAsiya Javayant QUALIFIED
Wickens H DoeIndiaXuxue Feng QUALIFIED
Faith Y CaldareraSpainElwin Sharvill RENEWAL
Arvin C AmigonItalyOnyama Limba RENEWAL
David K DarakjyGermanyOnyama Limba NEW
Nicolas M SchemmerItalyIoni Bowcher NEGOTIATION
Chavez R SchemmerCanadaStephen Shaw NEGOTIATION
Aika X VenereSpainOnyama Limba NEGOTIATION
Nicolas Z GillianAustraliaXuxue Feng NEGOTIATION
Isabel I KuskoBrazilElwin Sharvill RENEWAL
Claire R DilliardFranceBernardo Dominic UNQUALIFIED
Aruna N WieserUnited KingdomIvan Magalhaes PROPOSAL
Ricardo W VenereUnited KingdomAsiya Javayant NEW
Chavez Q InouyeJapanAsiya Javayant QUALIFIED
Chavez W MorascaAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Juan O Whobrey
Isabel E Marrier
Jones V Vocelka
Aika V Tollner
Ashley Y Ferencz
Mayumi J Iturbide
Leja J Iturbide
Izzy R Whobrey
Aruna V Maclead
Murillo I Vocelka
Alejandro R Kusko
Antonio A Malet
Tony K Waycott
Darci T Caldarera
Jefferson S Slusarski
Julie V Stenseth
Kaitlin E Saylors
Emily S Nicka
Ricardo K Waycott
Nicolas E Chui
Rodrigues U Dilliard
Rodrigues R Stenseth
Leon I Nestle
Smith W Figeroa
Deepesh C Marrier
Maria T Stenseth
Jones O Gaucho
Maisha N Rim
James K Figeroa
Kadeem S Chui
Sinclair W Albares
Francesco V Rim
Alejandro Y Iturbide
David N Rulapaugh
Morrow S Doe
Jeanfrancois Z Kolmetz
Faith U Royster
Tony V Stenseth
David F Malet
Leja H Campain
Mayumi J Foller
Faith Z Campain
Tony G Bolognia
David Q Campain
Francesco F Whobrey
Nicolas R Oldroyd
Arvin H Gaucho
Leja Q Kolmetz
Antonio O Maclead
Adams A Iturbide
IdCountryDate
1000Canada2024-06-04
1001Italy2024-05-25
1002France2024-06-07
1003India2024-05-31
1004Australia2024-06-14
1005Brazil2024-05-22
1006Canada2024-06-15
1007Japan2024-05-30
1008Japan2024-05-21
1009Spain2024-06-11
1010France2024-05-31
1011Spain2024-05-19
1012Australia2024-06-10
1013Germany2024-05-30
1014Germany2024-05-18
1015Canada2024-05-27
1016Russia2024-06-09
1017Japan2024-05-19
1018Italy2024-05-27
1019Italy2024-06-01
1020Germany2024-06-02
1021Germany2024-05-25
1022France2024-06-06
1023Italy2024-06-10
1024France2024-05-28
1025Spain2024-05-21
1026Canada2024-06-06
1027India2024-06-15
1028Russia2024-05-19
1029Italy2024-06-02
1030United Kingdom2024-05-30
1031United Kingdom2024-06-10
1032United Kingdom2024-06-03
1033Japan2024-06-12
1034Argentina2024-05-22
1035Italy2024-06-11
1036Spain2024-06-12
1037Japan2024-06-03
1038Japan2024-06-07
1039Canada2024-05-22
1040Japan2024-06-13
1041India2024-05-24
1042France2024-05-18
1043Brazil2024-06-11
1044France2024-05-29
1045Germany2024-05-20
1046United Kingdom2024-06-11
1047Australia2024-05-22
1048Canada2024-05-29
1049Canada2024-06-11

On-Demand Data

NameIdCountryDate
Faith Y Kusko1000Italy2024-06-12
Greenwood P Caldarera1001Russia2024-06-06
Morrow G Inouye1002Japan2024-05-18
Alejandro W Whobrey1003France2024-05-26
Salvatore T Nestle1004France2024-06-16
Francesco B Bowley1005Brazil2024-06-04
Stacey O Marrier1006Canada2024-06-09
Sinclair X Amigon1007Russia2024-05-31
Costa K Caudy1008Japan2024-05-24
Wickens O Iturbide1009France2024-06-04
Aditya J Malet1010France2024-05-29
Smith E Slusarski1011India2024-05-21
Smith C Caldarera1012Brazil2024-05-22
Kaitlin F Foller1013Canada2024-05-21
Silvio H Vocelka1014Australia2024-06-13
Tony S Ferencz1015Japan2024-06-16
Deepesh T Stenseth1016Australia2024-05-20
Johnson T Amigon1017Russia2024-05-19
Silvio L Tollner1018Italy2024-06-16
Kaitlin O Morasca1019Spain2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair I ChuiUnited KingdomOnyama Limba NEW
Smith Q OstroskyJapanOnyama Limba UNQUALIFIED
James D VenereRussiaAmy Elsner QUALIFIED
Jones J SchemmerUnited KingdomAnna Fali PROPOSAL
Kadeem W PoquetteFranceIoni Bowcher PROPOSAL
Murillo Q SchemmerSpainIoni Bowcher NEGOTIATION
Murillo T RutaFranceElwin Sharvill NEW
Leon G PoquetteAustraliaAmy Elsner RENEWAL
Misaki B BriddickFranceIvan Magalhaes UNQUALIFIED
Wickens L SlusarskiAustraliaElwin Sharvill PROPOSAL
Alejandro X SergiIndiaAnna Fali PROPOSAL
Deepesh G PoquetteArgentinaElwin Sharvill NEGOTIATION
Morrow Q AlbaresIndiaBernardo Dominic QUALIFIED
Darci N RoysterJapanAnna Fali QUALIFIED
Alejandro U WhobreyIndiaXuxue Feng QUALIFIED
Costa M CaudyBrazilAmy Elsner UNQUALIFIED
Sinclair A PerinRussiaStephen Shaw NEGOTIATION
Julie Q KuskoRussiaStephen Shaw PROPOSAL
Morrow F RulapaughUnited KingdomXuxue Feng NEW
Jeanfrancois U VenereRussiaBernardo Dominic NEGOTIATION
Antonio X OldroydSpainStephen Shaw NEGOTIATION
Jeanfrancois X StockhamRussiaIvan Magalhaes QUALIFIED
David T SergiGermanyAsiya Javayant UNQUALIFIED
Silvio C DoeAustraliaStephen Shaw PROPOSAL
Costa L ShinkoFranceAsiya Javayant RENEWAL
Sinclair D MorascaFranceIoni Bowcher NEGOTIATION
Kadeem G FerenczGermanyOnyama Limba RENEWAL
Kaitlin R RulapaughRussiaXuxue Feng QUALIFIED
Tony T ShinkoBrazilAnna Fali NEW
Claire T IturbideCanadaAnna Fali UNQUALIFIED
Stacey H StensethUnited KingdomAsiya Javayant NEGOTIATION
Cody H MacleadItalyAnna Fali NEGOTIATION
Nicolas U WieserJapanXuxue Feng NEW
Aika I BologniaGermanyBernardo Dominic QUALIFIED
Juan N WaycottAustraliaElwin Sharvill RENEWAL
Stacey O RulapaughArgentinaElwin Sharvill NEGOTIATION
Smith Z ShinkoArgentinaIoni Bowcher RENEWAL
Jennifer U TollnerRussiaBernardo Dominic NEW
Clifford R VenereSpainAsiya Javayant NEGOTIATION
Isabel R CampainUnited KingdomBernardo Dominic QUALIFIED

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