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
Francesco U GauchoUnited KingdomIvan Magalhaes RENEWAL
Aditya B BriddickUnited KingdomAnna Fali RENEWAL
Kaitlin L StockhamIndiaAnna Fali RENEWAL
Adams I KuskoArgentinaElwin Sharvill PROPOSAL
Jeanfrancois V OstroskyFranceAnna Fali UNQUALIFIED
Jones U OstroskyCanadaIoni Bowcher QUALIFIED
Francesco O VenereIndiaBernardo Dominic UNQUALIFIED
Claire O DilliardIndiaAsiya Javayant NEGOTIATION
Ashley A BologniaRussiaIoni Bowcher PROPOSAL
Mujtaba V VenereUnited KingdomOnyama Limba PROPOSAL
Smith X DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois M MacleadAustraliaXuxue Feng RENEWAL
Emily C IturbideArgentinaAmy Elsner QUALIFIED
Jeanfrancois R MaletIndiaIvan Magalhaes UNQUALIFIED
Stacey D MaletGermanyOnyama Limba PROPOSAL
Mujtaba T GauchoArgentinaAmy Elsner PROPOSAL
Octavia S VocelkaGermanyStephen Shaw NEGOTIATION
Juan W BriddickAustraliaAnna Fali PROPOSAL
Octavia M OldroydJapanElwin Sharvill NEGOTIATION
Alejandro W GlickArgentinaStephen Shaw QUALIFIED
Ashley D BologniaRussiaAsiya Javayant UNQUALIFIED
David G AlbaresBrazilAnna Fali UNQUALIFIED
Ashley B FigeroaAustraliaOnyama Limba UNQUALIFIED
Leja C ButtItalyStephen Shaw QUALIFIED
Kadeem L PaprockiUnited KingdomStephen Shaw QUALIFIED
Cody D WieserIndiaAmy Elsner RENEWAL
Stacey F WaycottArgentinaXuxue Feng QUALIFIED
James J VocelkaAustraliaOnyama Limba NEW
Emily G MaletIndiaAsiya Javayant NEGOTIATION
Greenwood U GarufiArgentinaAsiya Javayant PROPOSAL
Adams H ChuiJapanStephen Shaw NEGOTIATION
Isabel N NickaIndiaXuxue Feng NEW
Johnson I BowleyJapanElwin Sharvill PROPOSAL
Misaki X MaletItalyStephen Shaw NEGOTIATION
Antonio E WieserGermanyAnna Fali NEW
Emily Y FollerIndiaBernardo Dominic NEGOTIATION
Chavez P PaprockiBrazilOnyama Limba PROPOSAL
Adams R WaycottItalyStephen Shaw NEW
Mayumi O InouyeArgentinaElwin Sharvill RENEWAL
Aika C TollnerUnited KingdomStephen Shaw NEGOTIATION
Silvio Y RoysterRussiaAmy Elsner UNQUALIFIED
Octavia G GauchoItalyBernardo Dominic NEW
Salvatore D FlosiSpainElwin Sharvill NEW
Ivar H DoeRussiaOnyama Limba QUALIFIED
Juan X KolmetzArgentinaStephen Shaw RENEWAL
Silvio I ButtRussiaXuxue Feng NEGOTIATION
Greenwood P AmigonItalyIoni Bowcher UNQUALIFIED
Munro S DarakjyUnited KingdomOnyama Limba RENEWAL
Maria H CaldareraRussiaBernardo Dominic NEGOTIATION
Alejandro P WhobreyJapanAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith L DilliardUnited KingdomIoni Bowcher PROPOSAL
Emily M ChuiGermanyXuxue Feng NEW
Faith G MacleadCanadaIoni Bowcher NEGOTIATION
Clifford O WieserBrazilOnyama Limba PROPOSAL
Murillo O BologniaRussiaIvan Magalhaes UNQUALIFIED
Adams P MacleadSpainXuxue Feng QUALIFIED
Stacey J WhobreyUnited KingdomIoni Bowcher NEW
Ricardo K SergiBrazilElwin Sharvill NEGOTIATION
Ivar O StensethFranceAmy Elsner UNQUALIFIED
Stacey H RulapaughUnited KingdomElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki U CaldareraIndia2024-06-20Dorl, James J Esq NEGOTIATION44Xuxue Feng
1001Maria M SaylorsJapan2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED21Stephen Shaw
1002David O FlosiRussia2024-05-28King, Christopher A Esq RENEWAL92Xuxue Feng
1003Jeanfrancois S WieserIndia2024-06-20Chemel, James L Cpa PROPOSAL8Anna Fali
1004Wickens K TollnerSpain2024-06-06King, Christopher A Esq QUALIFIED52Bernardo Dominic
1005Leja F InouyeFrance2024-06-02King, Christopher A Esq NEGOTIATION30Bernardo Dominic
1006Mujtaba B DarakjyRussia2024-06-22Rangoni Of Florence PROPOSAL38Bernardo Dominic
1007Smith Y BologniaArgentina2024-06-08Printing Dimensions UNQUALIFIED89Bernardo Dominic
1008Kadeem Y CaldareraGermany2024-06-07Dorl, James J Esq QUALIFIED69Ivan Magalhaes
1009Darci Y WaycottUnited Kingdom2024-05-29Printing Dimensions QUALIFIED79Amy Elsner
1010Stacey H StensethUnited Kingdom2024-06-03Rousseaux, Michael Esq RENEWAL16Xuxue Feng
1011Greenwood V CaudyJapan2024-05-31Rangoni Of Florence UNQUALIFIED88Ivan Magalhaes
1012Rodrigues U InouyeGermany2024-06-02Commercial Press NEW25Ivan Magalhaes
1013Adams Z RutaAustralia2024-05-29Morlong Associates NEW81Anna Fali
1014Chavez M FlosiFrance2024-06-13Dorl, James J Esq NEGOTIATION70Xuxue Feng
1015Darci A RimFrance2024-06-07Feiner Bros NEGOTIATION78Ioni Bowcher
1016Jones C BologniaAustralia2024-06-08Morlong Associates QUALIFIED47Xuxue Feng
1017Costa Z WieserSpain2024-06-02Chapman, Ross E Esq NEW72Elwin Sharvill
1018Jeanfrancois H SlusarskiAustralia2024-06-05Rangoni Of Florence QUALIFIED83Ivan Magalhaes
1019Julie T FlosiFrance2024-06-13Morlong Associates RENEWAL8Ioni Bowcher
1020Leon R GillianCanada2024-06-11Rangoni Of Florence PROPOSAL71Onyama Limba
1021Sinclair L FigeroaJapan2024-06-18Morlong Associates NEW60Stephen Shaw
1022Stacey T MarrierSpain2024-06-01Commercial Press RENEWAL25Onyama Limba
1023Misaki T SaylorsItaly2024-06-15Morlong Associates PROPOSAL91Xuxue Feng
1024Antonio C AmigonJapan2024-05-28Commercial Press NEW45Ivan Magalhaes
1025Rodrigues N RimRussia2024-06-23Truhlar And Truhlar Attys RENEWAL39Ivan Magalhaes
1026Aruna H TollnerRussia2024-06-19Feltz Printing Service NEW70Ivan Magalhaes
1027Octavia W MaletCanada2024-06-18Buckley Miller Wright NEW94Ivan Magalhaes
1028Murillo B InouyeIndia2024-06-02Dorl, James J Esq RENEWAL80Asiya Javayant
1029Aditya N NestleIndia2024-06-20Rousseaux, Michael Esq QUALIFIED32Onyama Limba
1030Rodrigues F NestleFrance2024-05-26King, Christopher A Esq QUALIFIED60Ivan Magalhaes
1031Munro M WieserCanada2024-06-01Feltz Printing Service QUALIFIED95Anna Fali
1032Wickens M MaletRussia2024-06-24King, Christopher A Esq PROPOSAL44Onyama Limba
1033Arvin X AlbaresArgentina2024-06-12Buckley Miller Wright RENEWAL52Xuxue Feng
1034Smith G GarufiJapan2024-06-16Feltz Printing Service UNQUALIFIED25Ivan Magalhaes
1035Darci S DarakjySpain2024-06-15Chapman, Ross E Esq NEGOTIATION59Amy Elsner
1036Octavia B KolmetzUnited Kingdom2024-05-30Benton, John B Jr UNQUALIFIED82Anna Fali
1037Nicolas U ButtFrance2024-05-29Morlong Associates NEW68Xuxue Feng
1038Faith E BowleySpain2024-05-26Chemel, James L Cpa NEGOTIATION50Xuxue Feng
1039Julie U FigeroaJapan2024-06-22Commercial Press NEGOTIATION73Bernardo Dominic
1040Sinclair O ButtGermany2024-06-07Morlong Associates NEW70Ivan Magalhaes
1041Alejandro D MacleadFrance2024-05-31Commercial Press RENEWAL34Elwin Sharvill
1042Claire C MarrierSpain2024-06-05Rousseaux, Michael Esq RENEWAL28Xuxue Feng
1043Deepesh X PerinArgentina2024-06-15Chanay, Jeffrey A Esq QUALIFIED16Elwin Sharvill
1044Jefferson B MarrierCanada2024-06-19Feiner Bros PROPOSAL94Amy Elsner
1045Octavia F DarakjyCanada2024-06-01Printing Dimensions UNQUALIFIED42Xuxue Feng
1046Darci N GlickUnited Kingdom2024-06-15Chanay, Jeffrey A Esq NEGOTIATION75Bernardo Dominic
1047Rodrigues Z CampainBrazil2024-06-20Feiner Bros NEGOTIATION94Elwin Sharvill
1048Tony D WhobreyItaly2024-06-17Truhlar And Truhlar Attys QUALIFIED48Amy Elsner
1049Jeanfrancois Z OldroydAustralia2024-05-28Dorl, James J Esq RENEWAL52Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois D AlbaresFranceElwin Sharvill UNQUALIFIED
Deepesh O FigeroaIndiaXuxue Feng NEW
Jefferson T PoquetteBrazilAmy Elsner PROPOSAL
Morrow E PerinCanadaIoni Bowcher PROPOSAL
Jennifer J StensethCanadaBernardo Dominic NEGOTIATION
Johnson K SlusarskiAustraliaAsiya Javayant NEW
Costa E PoquetteAustraliaElwin Sharvill RENEWAL
Arvin V FollerBrazilAmy Elsner NEGOTIATION
Kadeem Q BologniaJapanElwin Sharvill PROPOSAL
Ashley N VenereCanadaAnna Fali NEGOTIATION
Maria T SaylorsAustraliaIvan Magalhaes RENEWAL
Faith U NickaRussiaAsiya Javayant NEW
Clifford B MarrierItalyAnna Fali UNQUALIFIED
Ivar I WaycottIndiaAsiya Javayant NEGOTIATION
Nicolas S BowleyIndiaAsiya Javayant QUALIFIED
Ricardo R AlbaresFranceElwin Sharvill RENEWAL
Kadeem K KuskoFranceAmy Elsner NEW
Maisha G MacleadItalyIoni Bowcher NEGOTIATION
Ricardo N FigeroaItalyIvan Magalhaes NEW
Ashley Z KolmetzGermanyAnna Fali RENEWAL
Smith S CaudySpainAnna Fali NEW
Clifford A RulapaughFranceBernardo Dominic NEGOTIATION
Maria H MacleadIndiaIvan Magalhaes PROPOSAL
Costa B PaprockiAustraliaElwin Sharvill NEGOTIATION
Greenwood Q NestleRussiaIvan Magalhaes NEW
Deepesh R AmigonJapanIoni Bowcher QUALIFIED
Rodrigues H AlbaresBrazilBernardo Dominic RENEWAL
Juan C FerenczUnited KingdomElwin Sharvill NEW
Kaitlin L AmigonCanadaBernardo Dominic PROPOSAL
Juan Q BriddickItalyBernardo Dominic UNQUALIFIED
Murillo A DoeCanadaBernardo Dominic RENEWAL
Tony G SchemmerAustraliaStephen Shaw NEGOTIATION
Faith H MorascaBrazilElwin Sharvill RENEWAL
Morrow D BriddickUnited KingdomBernardo Dominic NEW
Mayumi U FerenczAustraliaOnyama Limba QUALIFIED
James B OstroskyBrazilAnna Fali RENEWAL
Julie D SergiAustraliaElwin Sharvill PROPOSAL
Munro V SchemmerArgentinaXuxue Feng RENEWAL
Cody S NickaFranceElwin Sharvill NEW
Aditya G PerinItalyAnna Fali UNQUALIFIED
Rodrigues V CaldareraGermanyIoni Bowcher UNQUALIFIED
Rodrigues D OstroskyArgentinaStephen Shaw NEGOTIATION
Mujtaba A AmigonFranceBernardo Dominic QUALIFIED
Maisha T StensethArgentinaElwin Sharvill RENEWAL
Greenwood H BriddickFranceAmy Elsner NEGOTIATION
Silvio I SergiArgentinaIoni Bowcher PROPOSAL
Salvatore O RimFranceAsiya Javayant PROPOSAL
Silvio G VocelkaJapanBernardo Dominic QUALIFIED
Jeanfrancois D OldroydSpainAmy Elsner QUALIFIED
Murillo A SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Frozen Columns
Name
Sinclair M Poquette
Munro I Nestle
Misaki L Chui
Aruna O Saylors
James H Rulapaugh
Johnson H Shinko
Aruna I Rim
Ricardo H Butt
Rodrigues Y Caudy
Jeanfrancois E Gaucho
Wickens N Saylors
Kaitlin X Glick
Ashley T Doe
Izzy A Stockham
Jeanfrancois D Poquette
Darci G Wieser
Morrow I Tollner
Chavez X Caudy
Deepesh O Nicka
Maria S Ferencz
Silvio T Rim
Leon M Poquette
Clifford V Morasca
Izzy I Shinko
Francesco P Ferencz
Kaitlin L Ruta
Costa O Waycott
Julie C Vocelka
Kadeem Y Campain
Izzy S Paprocki
Aruna M Gaucho
Adams H Gaucho
Murillo S Darakjy
Maria V Ferencz
Rodrigues F Kusko
Leja L Garufi
Mayumi H Waycott
Maria M Poquette
Ivar O Albares
Jefferson O Rim
Mujtaba U Bolognia
Alejandro P Paprocki
Clifford L Chui
Francesco C Dilliard
Jefferson C Rim
Johnson F Perin
Aika Z Saylors
Izzy P Malet
Misaki K Slusarski
Sinclair N Butt
IdCountryDate
1000Italy2024-06-14
1001France2024-06-06
1002Italy2024-06-11
1003Argentina2024-06-11
1004Brazil2024-06-16
1005Germany2024-06-12
1006Spain2024-06-15
1007Australia2024-06-08
1008Russia2024-05-28
1009France2024-06-18
1010United Kingdom2024-06-23
1011Australia2024-06-01
1012Australia2024-06-01
1013Australia2024-05-29
1014India2024-06-18
1015Germany2024-05-30
1016Brazil2024-06-11
1017France2024-06-07
1018United Kingdom2024-06-21
1019Brazil2024-06-14
1020Australia2024-06-19
1021Italy2024-05-26
1022Brazil2024-06-04
1023France2024-05-29
1024Germany2024-05-29
1025Argentina2024-05-28
1026Brazil2024-05-26
1027India2024-06-10
1028Japan2024-06-18
1029Russia2024-06-08
1030India2024-06-15
1031Germany2024-06-09
1032Italy2024-06-17
1033France2024-06-11
1034Germany2024-05-28
1035Argentina2024-06-19
1036Canada2024-06-23
1037India2024-05-30
1038France2024-06-03
1039Australia2024-05-27
1040Russia2024-06-04
1041Italy2024-06-01
1042Germany2024-06-14
1043Argentina2024-06-04
1044Germany2024-06-16
1045Australia2024-06-04
1046Brazil2024-05-31
1047France2024-06-01
1048Australia2024-06-16
1049Spain2024-05-29

On-Demand Data

NameIdCountryDate
Faith K Poquette1000Russia2024-05-29
Deepesh E Whobrey1001Japan2024-05-30
Ivar N Slusarski1002Japan2024-05-27
Cody N Whobrey1003France2024-06-08
Jennifer Q Saylors1004France2024-06-11
Octavia M Figeroa1005France2024-05-27
Rodrigues B Butt1006France2024-06-02
Mujtaba Q Sergi1007Spain2024-05-30
Claire G Rulapaugh1008United Kingdom2024-06-08
Silvio P Poquette1009Russia2024-06-24
Leja I Caldarera1010United Kingdom2024-06-02
Nicolas K Briddick1011Canada2024-06-17
Nicolas I Whobrey1012Argentina2024-06-24
Adams C Oldroyd1013United Kingdom2024-06-10
Faith Q Inouye1014Canada2024-06-09
Misaki T Schemmer1015Spain2024-06-23
Silvio I Albares1016France2024-06-10
Leon J Venere1017India2024-06-02
Maria N Ostrosky1018Canada2024-06-07
Mujtaba V Flosi1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie G SchemmerJapanIoni Bowcher NEW
Antonio B FerenczFranceOnyama Limba NEW
Francesco N SlusarskiRussiaElwin Sharvill NEW
Izzy U WieserUnited KingdomIoni Bowcher PROPOSAL
Mayumi K IturbideBrazilStephen Shaw PROPOSAL
Alejandro H BologniaGermanyAnna Fali QUALIFIED
Francesco W BriddickCanadaAsiya Javayant QUALIFIED
Leon Z OstroskyGermanyIoni Bowcher NEGOTIATION
Juan H MarrierArgentinaAnna Fali QUALIFIED
Claire U MaletUnited KingdomXuxue Feng NEW
Darci K SaylorsIndiaIvan Magalhaes NEW
Leja J NestleJapanXuxue Feng NEW
Leon W TollnerBrazilAnna Fali NEGOTIATION
Jones J GillianCanadaIvan Magalhaes NEW
Clifford T AlbaresCanadaStephen Shaw UNQUALIFIED
Jeanfrancois O DilliardArgentinaBernardo Dominic RENEWAL
Claire F AmigonJapanAnna Fali QUALIFIED
Ivar K CaldareraIndiaOnyama Limba QUALIFIED
Mayumi U NestleIndiaStephen Shaw NEW
Costa E SchemmerGermanyElwin Sharvill RENEWAL
Jeanfrancois Y BowleyAustraliaStephen Shaw QUALIFIED
James V StockhamCanadaIoni Bowcher QUALIFIED
Kaitlin Q NickaGermanyBernardo Dominic PROPOSAL
Ivar Q PoquetteSpainAmy Elsner NEGOTIATION
Antonio F GillianIndiaAsiya Javayant NEGOTIATION
Julie F MaletFranceBernardo Dominic QUALIFIED
Jeanfrancois N VenereGermanyIoni Bowcher PROPOSAL
Morrow V RulapaughRussiaAsiya Javayant QUALIFIED
Arvin T TollnerFranceXuxue Feng PROPOSAL
Leon R CaudyAustraliaIoni Bowcher NEGOTIATION
Chavez W WieserCanadaElwin Sharvill UNQUALIFIED
James M SchemmerSpainIvan Magalhaes NEGOTIATION
Munro X SaylorsBrazilAsiya Javayant NEGOTIATION
Jennifer K GauchoArgentinaIoni Bowcher RENEWAL
Stacey J SaylorsJapanIvan Magalhaes PROPOSAL
Mujtaba L FollerFranceStephen Shaw UNQUALIFIED
Deepesh H AmigonArgentinaBernardo Dominic QUALIFIED
Costa X DarakjyGermanyStephen Shaw PROPOSAL
Mayumi V KuskoArgentinaAnna Fali UNQUALIFIED
Mujtaba V FollerItalyIvan Magalhaes 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>