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 GarufiCanadaAsiya Javayant NEW
Jennifer V CampainFranceAsiya Javayant PROPOSAL
Morrow P MarrierItalyIoni Bowcher NEGOTIATION
Leon T CaldareraSpainAmy Elsner NEW
Isabel J RutaGermanyIvan Magalhaes UNQUALIFIED
David O BriddickJapanIvan Magalhaes PROPOSAL
Emily R SaylorsGermanyOnyama Limba NEGOTIATION
Misaki Z BriddickBrazilElwin Sharvill NEW
Aika C OldroydArgentinaOnyama Limba NEW
Deepesh B DoeArgentinaElwin Sharvill RENEWAL
Wickens Q MaletIndiaIoni Bowcher PROPOSAL
Maisha M StockhamIndiaBernardo Dominic PROPOSAL
Chavez P VenereAustraliaAsiya Javayant NEGOTIATION
Leon O DilliardAustraliaOnyama Limba QUALIFIED
Faith V DoeArgentinaBernardo Dominic UNQUALIFIED
Stacey I ShinkoFranceIoni Bowcher UNQUALIFIED
Aditya Q CaldareraIndiaElwin Sharvill PROPOSAL
Aruna O IturbideIndiaXuxue Feng NEGOTIATION
Stacey C NestleBrazilIvan Magalhaes NEGOTIATION
Tony X GlickRussiaIvan Magalhaes RENEWAL
Morrow L PoquetteGermanyStephen Shaw UNQUALIFIED
Cody M VenereAustraliaAmy Elsner QUALIFIED
Greenwood I FigeroaArgentinaStephen Shaw NEGOTIATION
Sinclair N SergiRussiaAnna Fali NEGOTIATION
Ricardo M NestleCanadaOnyama Limba UNQUALIFIED
Johnson D NickaAustraliaOnyama Limba RENEWAL
Maisha T KolmetzFranceXuxue Feng UNQUALIFIED
Cody L WaycottArgentinaOnyama Limba QUALIFIED
Ricardo I VenereIndiaAsiya Javayant QUALIFIED
Aruna R MarrierIndiaElwin Sharvill NEW
Ricardo W WhobreyAustraliaAsiya Javayant QUALIFIED
Kaitlin S NickaSpainStephen Shaw UNQUALIFIED
James T RutaBrazilXuxue Feng PROPOSAL
Jennifer Q SergiAustraliaAmy Elsner NEW
Johnson B AmigonUnited KingdomElwin Sharvill RENEWAL
Morrow G BowleyIndiaAnna Fali PROPOSAL
Deepesh C IturbideArgentinaAnna Fali RENEWAL
Izzy N MaletJapanIvan Magalhaes NEGOTIATION
Kaitlin Q WieserRussiaIvan Magalhaes NEGOTIATION
Stacey L GauchoItalyAnna Fali PROPOSAL
Kaitlin T KolmetzCanadaAnna Fali UNQUALIFIED
Faith N DilliardGermanyAmy Elsner NEW
Nicolas E KuskoItalyIoni Bowcher NEGOTIATION
James G PaprockiArgentinaAmy Elsner NEGOTIATION
Wickens A GauchoRussiaXuxue Feng NEGOTIATION
Ashley X GillianUnited KingdomBernardo Dominic PROPOSAL
Stacey D ChuiCanadaAnna Fali NEGOTIATION
Emily X ShinkoRussiaBernardo Dominic NEGOTIATION
Isabel T CaudyUnited KingdomXuxue Feng RENEWAL
Ricardo B MaletIndiaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith B CaldareraSpainIoni Bowcher UNQUALIFIED
Munro Z OstroskyRussiaXuxue Feng NEW
Aika K BologniaItalyBernardo Dominic NEGOTIATION
Jeanfrancois S IturbideCanadaStephen Shaw UNQUALIFIED
Alejandro G BriddickArgentinaAsiya Javayant PROPOSAL
Octavia U AmigonAustraliaAsiya Javayant UNQUALIFIED
Morrow L RutaUnited KingdomOnyama Limba UNQUALIFIED
Salvatore L KolmetzUnited KingdomStephen Shaw QUALIFIED
Juan I MorascaSpainAmy Elsner NEGOTIATION
Antonio A PaprockiAustraliaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon T KolmetzRussia2024-06-10Truhlar And Truhlar Attys RENEWAL97Stephen Shaw
1001Murillo H StensethUnited Kingdom2024-06-14Printing Dimensions NEGOTIATION97Ivan Magalhaes
1002Alejandro R FollerAustralia2024-05-23Chapman, Ross E Esq QUALIFIED23Stephen Shaw
1003Leja Y NestleFrance2024-06-20Dorl, James J Esq RENEWAL72Onyama Limba
1004Leja B ShinkoSpain2024-06-19Feiner Bros NEW64Anna Fali
1005Maria U RimUnited Kingdom2024-06-10Dorl, James J Esq UNQUALIFIED99Anna Fali
1006Maisha F AmigonCanada2024-06-18Truhlar And Truhlar Attys RENEWAL78Onyama Limba
1007Octavia E WieserAustralia2024-05-29Chanay, Jeffrey A Esq PROPOSAL33Ivan Magalhaes
1008Jennifer T SchemmerGermany2024-05-28Rangoni Of Florence NEW93Ioni Bowcher
1009Jennifer D FigeroaAustralia2024-06-01Morlong Associates NEGOTIATION98Amy Elsner
1010Deepesh Z BriddickFrance2024-05-23Benton, John B Jr NEW17Ivan Magalhaes
1011Arvin A OstroskyIndia2024-05-26Printing Dimensions QUALIFIED53Xuxue Feng
1012Jones Z FerenczGermany2024-06-09Truhlar And Truhlar Attys QUALIFIED43Ivan Magalhaes
1013Clifford B SaylorsIndia2024-06-11Commercial Press PROPOSAL89Amy Elsner
1014Sinclair D IturbideUnited Kingdom2024-06-05Morlong Associates RENEWAL70Ioni Bowcher
1015David Z WhobreyUnited Kingdom2024-06-05Rousseaux, Michael Esq RENEWAL23Asiya Javayant
1016Sinclair R GlickGermany2024-06-16Rangoni Of Florence PROPOSAL53Anna Fali
1017Johnson F GarufiFrance2024-06-07Buckley Miller Wright PROPOSAL60Ivan Magalhaes
1018Greenwood N InouyeFrance2024-06-04Chemel, James L Cpa NEW74Elwin Sharvill
1019Silvio E SaylorsGermany2024-05-30Printing Dimensions NEGOTIATION15Ivan Magalhaes
1020Aika E InouyeBrazil2024-05-23Chapman, Ross E Esq QUALIFIED92Bernardo Dominic
1021Sinclair I FlosiCanada2024-06-03Rangoni Of Florence NEGOTIATION59Asiya Javayant
1022Emily L WieserUnited Kingdom2024-05-27Printing Dimensions NEW35Stephen Shaw
1023Misaki Z MorascaRussia2024-06-12King, Christopher A Esq NEW73Stephen Shaw
1024Octavia E DoeItaly2024-06-11Benton, John B Jr UNQUALIFIED27Bernardo Dominic
1025David N MaletCanada2024-05-26Printing Dimensions RENEWAL62Onyama Limba
1026Arvin M StockhamAustralia2024-05-27Rangoni Of Florence PROPOSAL59Ivan Magalhaes
1027Kaitlin Z CampainItaly2024-06-10Buckley Miller Wright UNQUALIFIED86Ioni Bowcher
1028Claire I StensethCanada2024-06-14Rangoni Of Florence PROPOSAL70Bernardo Dominic
1029Octavia I FollerBrazil2024-06-20Truhlar And Truhlar Attys NEW55Anna Fali
1030Tony B ShinkoAustralia2024-06-02Rousseaux, Michael Esq NEW3Stephen Shaw
1031Johnson P KuskoGermany2024-06-03Rousseaux, Michael Esq RENEWAL92Asiya Javayant
1032Alejandro U ShinkoRussia2024-06-21Benton, John B Jr RENEWAL17Bernardo Dominic
1033Tony Z RulapaughFrance2024-06-11Printing Dimensions RENEWAL86Xuxue Feng
1034James L OstroskyGermany2024-06-02Dorl, James J Esq QUALIFIED50Xuxue Feng
1035James A PoquetteAustralia2024-06-14King, Christopher A Esq UNQUALIFIED93Amy Elsner
1036Julie W IturbideIndia2024-06-03Rangoni Of Florence RENEWAL3Ivan Magalhaes
1037Julie V SchemmerArgentina2024-06-12Feltz Printing Service RENEWAL79Anna Fali
1038Leon W IturbideArgentina2024-05-30Truhlar And Truhlar Attys NEGOTIATION90Onyama Limba
1039Costa V ChuiUnited Kingdom2024-06-14Commercial Press UNQUALIFIED29Stephen Shaw
1040Leja L CampainRussia2024-06-20Morlong Associates UNQUALIFIED74Onyama Limba
1041Maisha Y RoysterGermany2024-06-09King, Christopher A Esq RENEWAL19Anna Fali
1042Juan Q GlickGermany2024-06-11Buckley Miller Wright NEGOTIATION95Amy Elsner
1043Francesco R MaletRussia2024-06-06Chemel, James L Cpa NEGOTIATION67Amy Elsner
1044Morrow O InouyeArgentina2024-05-26Feiner Bros RENEWAL67Elwin Sharvill
1045Jeanfrancois O FerenczRussia2024-05-24Morlong Associates QUALIFIED97Asiya Javayant
1046Chavez A MaletAustralia2024-05-23Dorl, James J Esq PROPOSAL54Elwin Sharvill
1047Leja Y DilliardFrance2024-06-12Chapman, Ross E Esq NEW96Elwin Sharvill
1048Antonio A RulapaughItaly2024-06-11Benton, John B Jr NEGOTIATION53Amy Elsner
1049Isabel A RimSpain2024-05-27Rousseaux, Michael Esq QUALIFIED54Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Francesco I FlosiGermanyIoni Bowcher RENEWAL
Jones W DoeBrazilIoni Bowcher PROPOSAL
Stacey O VocelkaJapanStephen Shaw UNQUALIFIED
Kadeem R DilliardItalyElwin Sharvill RENEWAL
Jones Q AlbaresBrazilBernardo Dominic RENEWAL
Leon P FollerGermanyAsiya Javayant NEW
Johnson A ButtSpainAnna Fali PROPOSAL
Munro Q FollerRussiaXuxue Feng QUALIFIED
Rodrigues W InouyeArgentinaIvan Magalhaes UNQUALIFIED
David R WaycottCanadaAmy Elsner QUALIFIED
Cody T ShinkoJapanAsiya Javayant QUALIFIED
Claire J GlickIndiaAsiya Javayant QUALIFIED
Leon E AlbaresArgentinaAmy Elsner NEGOTIATION
Wickens B AlbaresIndiaAnna Fali NEW
Leja E PoquetteJapanAsiya Javayant NEW
Maisha P KuskoItalyAsiya Javayant NEGOTIATION
Ashley V RimBrazilAnna Fali QUALIFIED
Darci X WaycottSpainIvan Magalhaes UNQUALIFIED
Salvatore D RutaArgentinaIvan Magalhaes QUALIFIED
Julie I TollnerIndiaXuxue Feng PROPOSAL
Cody C MorascaIndiaStephen Shaw NEW
Ivar K CaudyGermanyStephen Shaw PROPOSAL
Mayumi H CampainGermanyAnna Fali QUALIFIED
Adams H WhobreyJapanAmy Elsner NEW
Greenwood I MarrierRussiaOnyama Limba NEW
Izzy P WaycottGermanyXuxue Feng NEW
Emily X ShinkoBrazilOnyama Limba RENEWAL
James L TollnerJapanStephen Shaw QUALIFIED
Jennifer A PaprockiUnited KingdomStephen Shaw PROPOSAL
Adams A DoeBrazilBernardo Dominic RENEWAL
Aika Q KolmetzArgentinaBernardo Dominic UNQUALIFIED
Munro K KolmetzIndiaOnyama Limba NEGOTIATION
Octavia J StensethJapanBernardo Dominic QUALIFIED
Rodrigues P RimUnited KingdomXuxue Feng PROPOSAL
Kaitlin A RoysterIndiaElwin Sharvill RENEWAL
Aika Q MaletJapanStephen Shaw RENEWAL
Claire J WhobreyJapanAmy Elsner UNQUALIFIED
Ashley N RulapaughGermanyOnyama Limba PROPOSAL
Darci K PaprockiArgentinaIoni Bowcher QUALIFIED
Rodrigues L SlusarskiIndiaOnyama Limba RENEWAL
Smith C CaudySpainIvan Magalhaes NEW
Claire S PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio O MaletSpainAsiya Javayant PROPOSAL
Jennifer O MarrierRussiaAsiya Javayant RENEWAL
Juan I PerinItalyAsiya Javayant UNQUALIFIED
Adams J RulapaughCanadaAnna Fali NEGOTIATION
Juan L AmigonUnited KingdomXuxue Feng QUALIFIED
Darci R CaldareraGermanyXuxue Feng RENEWAL
Salvatore R VocelkaItalyAnna Fali RENEWAL
Stacey E DilliardJapanAmy Elsner NEGOTIATION
Frozen Columns
Name
Kadeem X Morasca
Cody U Bowley
Clifford B Bolognia
Maisha P Morasca
Antonio W Royster
Izzy E Butt
Munro D Dilliard
Morrow J Ferencz
Murillo L Amigon
Jefferson V Venere
Costa M Inouye
Aditya O Venere
Ivar Q Bolognia
Arvin P Tollner
Kadeem S Oldroyd
Sinclair K Marrier
Mujtaba R Flosi
Ivar Q Gaucho
Cody Z Rim
Ricardo R Gaucho
Izzy B Venere
Costa E Oldroyd
Jennifer W Poquette
Alejandro N Darakjy
Alejandro B Butt
Aruna C Malet
James J Oldroyd
Maisha Y Kolmetz
Jefferson J Vocelka
Maria Q Rulapaugh
Jennifer H Darakjy
Greenwood I Doe
Johnson Y Waycott
Mayumi O Ruta
Aruna G Dilliard
Octavia R Rim
Jones K Gaucho
David X Rim
Kaitlin X Venere
Deepesh D Malet
Isabel U Tollner
Morrow P Briddick
James B Dilliard
Johnson Q Ruta
Izzy N Chui
Aditya V Tollner
Francesco R Whobrey
Mayumi N Gillian
Adams T Shinko
Aditya N Butt
IdCountryDate
1000Argentina2024-06-15
1001India2024-06-19
1002Spain2024-06-19
1003Canada2024-06-03
1004Argentina2024-05-30
1005India2024-06-21
1006Spain2024-06-17
1007Japan2024-06-03
1008Germany2024-06-19
1009United Kingdom2024-06-11
1010Australia2024-06-07
1011Argentina2024-06-04
1012Australia2024-06-07
1013Australia2024-05-25
1014United Kingdom2024-06-20
1015Australia2024-06-17
1016United Kingdom2024-05-30
1017Italy2024-06-09
1018Brazil2024-06-09
1019Italy2024-05-27
1020Russia2024-06-04
1021Argentina2024-05-31
1022Argentina2024-06-10
1023Germany2024-06-04
1024France2024-06-08
1025Spain2024-06-09
1026Australia2024-06-03
1027France2024-06-17
1028Spain2024-06-17
1029Russia2024-06-10
1030Italy2024-06-21
1031Australia2024-06-20
1032India2024-06-12
1033India2024-05-28
1034France2024-06-15
1035Australia2024-05-28
1036Spain2024-06-16
1037United Kingdom2024-05-30
1038Australia2024-06-16
1039Germany2024-05-24
1040Canada2024-06-20
1041Japan2024-06-14
1042Australia2024-05-30
1043Russia2024-06-20
1044France2024-06-15
1045France2024-05-27
1046Canada2024-06-13
1047Italy2024-05-23
1048Germany2024-06-08
1049Canada2024-05-25

On-Demand Data

NameIdCountryDate
Costa H Nicka1000France2024-06-17
Julie U Bowley1001France2024-06-18
Aditya A Royster1002India2024-06-19
Misaki D Kolmetz1003Argentina2024-06-02
Kadeem U Schemmer1004Italy2024-06-17
Cody A Ferencz1005Australia2024-06-10
Izzy S Schemmer1006France2024-06-15
Kadeem S Gaucho1007India2024-05-24
Ashley I Vocelka1008Australia2024-06-10
Emily R Royster1009Argentina2024-06-18
Arvin T Albares1010Japan2024-06-10
Ashley Q Slusarski1011Argentina2024-05-30
Smith J Gaucho1012Argentina2024-06-19
Mayumi C Caudy1013Russia2024-06-20
Leon O Inouye1014Italy2024-05-26
Emily W Albares1015Japan2024-05-30
Deepesh W Venere1016Australia2024-05-27
Silvio G Caudy1017Canada2024-05-25
Smith U Inouye1018Australia2024-06-18
Aika Z Sergi1019Spain2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo X OldroydUnited KingdomAmy Elsner RENEWAL
Silvio U BologniaUnited KingdomAmy Elsner NEGOTIATION
Jennifer D KuskoAustraliaStephen Shaw UNQUALIFIED
Tony R FollerIndiaOnyama Limba QUALIFIED
Aditya Q PaprockiFranceAmy Elsner UNQUALIFIED
Misaki O NestleCanadaAsiya Javayant UNQUALIFIED
Kaitlin Q RimUnited KingdomBernardo Dominic PROPOSAL
Julie I ButtCanadaStephen Shaw NEGOTIATION
Alejandro S OstroskyUnited KingdomIoni Bowcher QUALIFIED
Jones H DarakjyGermanyIvan Magalhaes UNQUALIFIED
Salvatore K DoeJapanStephen Shaw PROPOSAL
Leja N FollerItalyOnyama Limba NEW
Mayumi G DoeRussiaOnyama Limba RENEWAL
Misaki T IturbideCanadaAsiya Javayant UNQUALIFIED
Silvio J InouyeGermanyAmy Elsner NEW
Isabel B DoeJapanStephen Shaw PROPOSAL
Darci C WaycottFranceXuxue Feng NEW
Octavia L MacleadAustraliaXuxue Feng RENEWAL
Kaitlin E FlosiIndiaStephen Shaw QUALIFIED
Mujtaba W MacleadAustraliaOnyama Limba QUALIFIED
Aruna Z RutaUnited KingdomAsiya Javayant NEW
Juan S MaletGermanyIoni Bowcher PROPOSAL
Costa W GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Misaki O SlusarskiUnited KingdomElwin Sharvill RENEWAL
Maisha E MarrierJapanElwin Sharvill QUALIFIED
Faith Y PerinGermanyBernardo Dominic RENEWAL
Ivar X BowleyJapanAnna Fali UNQUALIFIED
Mayumi Y StensethIndiaAmy Elsner RENEWAL
Mujtaba T CaldareraCanadaStephen Shaw QUALIFIED
Maisha K KolmetzCanadaXuxue Feng NEW
Jeanfrancois P ChuiGermanyOnyama Limba PROPOSAL
Clifford C CaldareraFranceIoni Bowcher PROPOSAL
Munro Q DoeSpainIoni Bowcher NEGOTIATION
Sinclair J IturbideRussiaAnna Fali PROPOSAL
Jones R InouyeSpainStephen Shaw QUALIFIED
Johnson H AmigonFranceAmy Elsner UNQUALIFIED
Salvatore K PoquetteFranceAnna Fali NEGOTIATION
Aditya J GillianAustraliaIvan Magalhaes NEW
Leon R RimArgentinaAmy Elsner PROPOSAL
Aditya S SaylorsArgentinaAnna Fali 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>