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
David E FerenczArgentinaAnna Fali NEW
Mayumi I RutaRussiaIvan Magalhaes NEW
Jeanfrancois W StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Izzy K SaylorsJapanOnyama Limba RENEWAL
James F AlbaresRussiaAmy Elsner QUALIFIED
David Z FigeroaCanadaAmy Elsner NEGOTIATION
Aditya F ChuiBrazilXuxue Feng UNQUALIFIED
Salvatore G BologniaIndiaBernardo Dominic QUALIFIED
Francesco L RoysterSpainAmy Elsner NEGOTIATION
Leon X GarufiJapanIoni Bowcher NEGOTIATION
Ashley X FollerFranceAsiya Javayant QUALIFIED
James H MaletItalyStephen Shaw QUALIFIED
Leon X BowleyFranceXuxue Feng UNQUALIFIED
David V BriddickGermanyAnna Fali RENEWAL
Faith R MorascaAustraliaXuxue Feng UNQUALIFIED
Greenwood R GarufiJapanAmy Elsner QUALIFIED
Mujtaba R KuskoJapanAsiya Javayant RENEWAL
Silvio P SaylorsIndiaAsiya Javayant PROPOSAL
Jeanfrancois R RulapaughSpainStephen Shaw NEGOTIATION
Maisha K MarrierItalyIoni Bowcher RENEWAL
Mayumi O OstroskyArgentinaAmy Elsner RENEWAL
Adams T TollnerItalyAsiya Javayant NEGOTIATION
Sinclair U VenereRussiaIvan Magalhaes UNQUALIFIED
Ashley U MacleadSpainAsiya Javayant NEW
Adams Y VocelkaGermanyAnna Fali PROPOSAL
Darci N SchemmerCanadaXuxue Feng RENEWAL
Mujtaba O SergiFranceXuxue Feng NEW
Juan G GarufiIndiaAmy Elsner PROPOSAL
Aditya H MorascaBrazilXuxue Feng QUALIFIED
Kadeem I PoquetteBrazilBernardo Dominic QUALIFIED
Salvatore V MaletAustraliaIvan Magalhaes UNQUALIFIED
Nicolas L CampainItalyIoni Bowcher NEW
Morrow J ShinkoFranceAnna Fali RENEWAL
Jeanfrancois B BologniaBrazilOnyama Limba NEW
Cody T DoeRussiaStephen Shaw PROPOSAL
Sinclair K FigeroaUnited KingdomAmy Elsner PROPOSAL
Misaki T FigeroaCanadaElwin Sharvill PROPOSAL
Julie E RulapaughJapanElwin Sharvill RENEWAL
Greenwood I WaycottUnited KingdomAmy Elsner QUALIFIED
Julie M ButtRussiaBernardo Dominic UNQUALIFIED
Darci I FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Jones B PerinIndiaAnna Fali RENEWAL
Wickens S WaycottBrazilAnna Fali NEGOTIATION
Emily Q MarrierArgentinaAsiya Javayant QUALIFIED
Arvin T ShinkoFranceAsiya Javayant QUALIFIED
Mayumi C GarufiArgentinaIvan Magalhaes QUALIFIED
Maisha C WieserSpainAsiya Javayant UNQUALIFIED
Costa G NestleIndiaAnna Fali QUALIFIED
Greenwood J WieserCanadaXuxue Feng RENEWAL
Kaitlin J FerenczBrazilAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Munro N StockhamCanadaElwin Sharvill NEGOTIATION
Chavez A StensethFranceOnyama Limba PROPOSAL
Aika B PerinUnited KingdomBernardo Dominic PROPOSAL
Misaki E FigeroaCanadaAnna Fali NEW
Tony M CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Julie H RoysterIndiaIvan Magalhaes UNQUALIFIED
Izzy P CaudyRussiaAmy Elsner QUALIFIED
Isabel Y BriddickIndiaStephen Shaw UNQUALIFIED
Costa Q MaletCanadaStephen Shaw QUALIFIED
Maria B SlusarskiJapanAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro A GlickJapan2024-06-14Feiner Bros NEGOTIATION36Stephen Shaw
1001Aditya P PaprockiUnited Kingdom2024-05-31Dorl, James J Esq RENEWAL58Ioni Bowcher
1002Emily I AlbaresJapan2024-05-31Morlong Associates UNQUALIFIED95Stephen Shaw
1003Juan B StockhamSpain2024-06-05Feiner Bros NEW91Anna Fali
1004Nicolas X PaprockiCanada2024-06-23Feltz Printing Service NEW10Elwin Sharvill
1005Maisha Y DilliardRussia2024-06-04Dorl, James J Esq UNQUALIFIED27Ivan Magalhaes
1006Costa J RimAustralia2024-06-08Dorl, James J Esq RENEWAL3Elwin Sharvill
1007Cody C StockhamItaly2024-06-21Morlong Associates RENEWAL40Elwin Sharvill
1008Wickens E RulapaughGermany2024-06-12Rangoni Of Florence NEW65Xuxue Feng
1009Nicolas N DoeAustralia2024-05-29Dorl, James J Esq NEW40Anna Fali
1010Leja I InouyeArgentina2024-06-23Feltz Printing Service NEGOTIATION53Stephen Shaw
1011Izzy W FerenczUnited Kingdom2024-06-12Rangoni Of Florence RENEWAL86Asiya Javayant
1012Mujtaba H MacleadIndia2024-06-22Truhlar And Truhlar Attys UNQUALIFIED74Stephen Shaw
1013Murillo E SlusarskiItaly2024-06-03Commercial Press NEW22Stephen Shaw
1014Faith B FigeroaAustralia2024-06-02Chemel, James L Cpa PROPOSAL46Stephen Shaw
1015Isabel Q PerinIndia2024-06-18Rangoni Of Florence PROPOSAL26Bernardo Dominic
1016Morrow T KuskoJapan2024-06-01Feiner Bros RENEWAL32Onyama Limba
1017Francesco V OstroskyUnited Kingdom2024-06-04Commercial Press RENEWAL79Bernardo Dominic
1018Silvio H AlbaresSpain2024-05-29Dorl, James J Esq NEGOTIATION89Ivan Magalhaes
1019Tony H MaletBrazil2024-06-24Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1020Isabel F RoysterFrance2024-06-05Benton, John B Jr QUALIFIED55Xuxue Feng
1021Jones R FollerIndia2024-06-23Benton, John B Jr NEGOTIATION76Anna Fali
1022Antonio N WaycottUnited Kingdom2024-05-27King, Christopher A Esq UNQUALIFIED28Asiya Javayant
1023Wickens R VenereArgentina2024-06-06Dorl, James J Esq RENEWAL58Stephen Shaw
1024Rodrigues A PerinUnited Kingdom2024-06-21Buckley Miller Wright UNQUALIFIED42Xuxue Feng
1025Juan F DilliardRussia2024-05-27Commercial Press PROPOSAL8Ivan Magalhaes
1026Chavez C MacleadUnited Kingdom2024-06-12Truhlar And Truhlar Attys UNQUALIFIED79Elwin Sharvill
1027Johnson Q BologniaGermany2024-06-13Rousseaux, Michael Esq NEW79Stephen Shaw
1028Jefferson H SchemmerFrance2024-06-13Feltz Printing Service PROPOSAL11Stephen Shaw
1029Silvio O RimAustralia2024-06-04Rangoni Of Florence PROPOSAL40Ivan Magalhaes
1030Leja X TollnerItaly2024-06-03Printing Dimensions UNQUALIFIED63Onyama Limba
1031Aruna K SergiIndia2024-06-15Truhlar And Truhlar Attys RENEWAL45Elwin Sharvill
1032Costa J NestleGermany2024-06-18King, Christopher A Esq RENEWAL85Onyama Limba
1033Isabel H GillianSpain2024-06-13Feltz Printing Service NEW23Anna Fali
1034Clifford O VenereFrance2024-06-03Buckley Miller Wright RENEWAL47Elwin Sharvill
1035Misaki T KolmetzAustralia2024-06-04Chanay, Jeffrey A Esq PROPOSAL78Asiya Javayant
1036Juan P FlosiCanada2024-05-31Rousseaux, Michael Esq NEGOTIATION59Anna Fali
1037Emily S OldroydCanada2024-06-05Feltz Printing Service UNQUALIFIED10Stephen Shaw
1038Julie A FerenczAustralia2024-05-29Chemel, James L Cpa QUALIFIED50Ioni Bowcher
1039Deepesh H FerenczItaly2024-06-08Morlong Associates UNQUALIFIED85Xuxue Feng
1040Octavia C OstroskySpain2024-06-13Chanay, Jeffrey A Esq QUALIFIED43Onyama Limba
1041Smith D CampainArgentina2024-05-28Dorl, James J Esq UNQUALIFIED61Amy Elsner
1042Izzy L ShinkoGermany2024-06-09Chanay, Jeffrey A Esq NEW5Xuxue Feng
1043Ivar I WhobreyGermany2024-05-28Morlong Associates RENEWAL88Bernardo Dominic
1044Greenwood C SlusarskiRussia2024-06-12King, Christopher A Esq QUALIFIED42Anna Fali
1045Murillo I MorascaBrazil2024-05-26Truhlar And Truhlar Attys NEW16Ioni Bowcher
1046Stacey A SchemmerArgentina2024-06-10Chapman, Ross E Esq RENEWAL80Elwin Sharvill
1047James T MaletGermany2024-06-21King, Christopher A Esq RENEWAL62Anna Fali
1048Maisha W VocelkaRussia2024-06-01Chapman, Ross E Esq RENEWAL74Stephen Shaw
1049Maria A SergiSpain2024-06-16Morlong Associates QUALIFIED33Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja F WaycottFranceIoni Bowcher NEW
Murillo H CaudyUnited KingdomStephen Shaw PROPOSAL
Nicolas Q GillianGermanyIvan Magalhaes QUALIFIED
Greenwood N DoeBrazilIvan Magalhaes NEGOTIATION
Aika I CampainBrazilOnyama Limba NEW
Chavez E NickaBrazilOnyama Limba RENEWAL
Adams T FigeroaJapanAmy Elsner PROPOSAL
Ashley N CampainJapanAnna Fali NEGOTIATION
Kadeem J WieserBrazilIvan Magalhaes NEW
Kaitlin G OldroydJapanAsiya Javayant PROPOSAL
Leja P FerenczArgentinaAsiya Javayant NEGOTIATION
Costa D ChuiRussiaBernardo Dominic QUALIFIED
Izzy A WieserUnited KingdomElwin Sharvill UNQUALIFIED
Leja G SlusarskiUnited KingdomStephen Shaw PROPOSAL
Emily Y DoeJapanXuxue Feng NEGOTIATION
Jones B MacleadAustraliaIvan Magalhaes PROPOSAL
Aika E BologniaSpainStephen Shaw UNQUALIFIED
Juan X MaletArgentinaAsiya Javayant PROPOSAL
Wickens C DilliardJapanXuxue Feng NEW
Isabel E MaletAustraliaXuxue Feng UNQUALIFIED
Izzy U StensethIndiaIvan Magalhaes UNQUALIFIED
Octavia H SlusarskiArgentinaIvan Magalhaes NEW
Clifford C MacleadIndiaIvan Magalhaes UNQUALIFIED
Stacey Q InouyeJapanOnyama Limba PROPOSAL
David R AmigonArgentinaBernardo Dominic QUALIFIED
Aruna L OstroskyArgentinaXuxue Feng RENEWAL
Aditya V InouyeAustraliaAnna Fali NEW
Alejandro C SlusarskiIndiaOnyama Limba NEGOTIATION
Smith T RimFranceOnyama Limba RENEWAL
Faith K SchemmerArgentinaAnna Fali NEW
Mujtaba R DilliardBrazilAnna Fali QUALIFIED
Jeanfrancois S ShinkoIndiaIvan Magalhaes PROPOSAL
Julie E CaldareraIndiaXuxue Feng QUALIFIED
Munro S SergiJapanStephen Shaw RENEWAL
Maisha V VenereUnited KingdomIvan Magalhaes QUALIFIED
Julie T SergiRussiaXuxue Feng NEGOTIATION
Silvio P RutaFranceAsiya Javayant NEGOTIATION
Salvatore S GlickUnited KingdomAmy Elsner PROPOSAL
Emily T DarakjyJapanIvan Magalhaes NEW
Adams R BowleyArgentinaIvan Magalhaes QUALIFIED
Isabel F GarufiItalyIvan Magalhaes NEGOTIATION
Faith B KuskoArgentinaOnyama Limba RENEWAL
Ricardo Z OldroydSpainOnyama Limba RENEWAL
Aruna W GlickUnited KingdomElwin Sharvill RENEWAL
Ashley S FerenczIndiaIvan Magalhaes PROPOSAL
Claire G PaprockiUnited KingdomOnyama Limba RENEWAL
Maria J GarufiArgentinaElwin Sharvill RENEWAL
Arvin Q CaldareraItalyIvan Magalhaes QUALIFIED
Emily T SaylorsArgentinaAmy Elsner QUALIFIED
Murillo G MaletRussiaBernardo Dominic RENEWAL
Frozen Columns
Name
Maisha A Bolognia
Johnson B Schemmer
Francesco V Ostrosky
Claire I Royster
Ivar U Rim
Alejandro F Figeroa
Faith R Garufi
Julie Z Royster
Rodrigues D Maclead
Antonio A Maclead
Kadeem F Malet
Antonio V Slusarski
Smith T Ferencz
Murillo B Maclead
Cody H Vocelka
Ashley K Gaucho
Aika A Rulapaugh
Arvin R Rulapaugh
Jones W Figeroa
Stacey A Ferencz
Aditya D Caudy
Tony B Albares
Juan R Poquette
Stacey B Schemmer
Aika Q Vocelka
Claire N Schemmer
Jefferson L Rulapaugh
Silvio S Darakjy
Alejandro R Albares
Jones E Darakjy
Darci S Sergi
Arvin N Garufi
Nicolas F Bowley
Mayumi J Albares
Murillo V Sergi
Faith R Whobrey
Tony W Briddick
Tony S Gillian
Mayumi U Waycott
Maria D Oldroyd
Mujtaba S Stenseth
Ricardo B Slusarski
Mayumi T Foller
Leon S Gillian
Darci D Caudy
Francesco E Albares
Izzy I Malet
Jeanfrancois P Tollner
Aika G Glick
Ashley B Maclead
IdCountryDate
1000Japan2024-06-07
1001Spain2024-06-12
1002United Kingdom2024-05-30
1003Germany2024-06-21
1004United Kingdom2024-06-08
1005France2024-05-31
1006Russia2024-06-20
1007Italy2024-06-24
1008Japan2024-06-08
1009United Kingdom2024-06-17
1010Italy2024-06-06
1011France2024-05-31
1012Spain2024-06-23
1013Brazil2024-06-12
1014Argentina2024-06-10
1015Brazil2024-06-24
1016Russia2024-06-14
1017Spain2024-06-09
1018Australia2024-06-21
1019France2024-06-24
1020Japan2024-06-23
1021Italy2024-06-18
1022Japan2024-06-10
1023Japan2024-06-03
1024Australia2024-06-17
1025Canada2024-06-14
1026Australia2024-06-02
1027Russia2024-06-23
1028Germany2024-06-13
1029Brazil2024-06-08
1030Russia2024-05-31
1031Germany2024-05-26
1032Germany2024-06-20
1033India2024-05-31
1034France2024-06-09
1035Italy2024-06-21
1036France2024-06-18
1037Spain2024-06-23
1038Australia2024-05-27
1039Canada2024-05-31
1040Germany2024-06-02
1041Italy2024-06-10
1042Argentina2024-06-19
1043France2024-06-01
1044Brazil2024-06-15
1045United Kingdom2024-06-12
1046Russia2024-06-15
1047Argentina2024-06-16
1048India2024-06-06
1049Germany2024-06-24

On-Demand Data

NameIdCountryDate
Faith A Garufi1000Germany2024-06-22
Aditya G Ferencz1001Italy2024-06-17
Mayumi B Venere1002Germany2024-06-01
Aditya H Dilliard1003India2024-06-05
Izzy Q Darakjy1004India2024-06-01
Mayumi D Caudy1005Argentina2024-06-23
Octavia L Figeroa1006Australia2024-06-08
Isabel C Bowley1007France2024-06-22
Aditya P Doe1008Spain2024-06-16
Wickens L Malet1009Australia2024-05-27
Faith H Nestle1010Russia2024-06-22
Salvatore A Caldarera1011France2024-06-18
Aditya H Schemmer1012Argentina2024-06-05
Kadeem U Caudy1013Australia2024-06-01
Stacey H Amigon1014Italy2024-06-20
Faith B Schemmer1015India2024-06-07
Rodrigues Z Foller1016India2024-06-09
Aika V Bowley1017France2024-06-01
Salvatore H Nestle1018Spain2024-06-12
Julie Y Perin1019Canada2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire H CampainFranceXuxue Feng NEW
Izzy I SchemmerItalyAnna Fali PROPOSAL
Alejandro N IturbideFranceStephen Shaw PROPOSAL
David M TollnerCanadaXuxue Feng QUALIFIED
Mayumi O WhobreySpainElwin Sharvill NEGOTIATION
Salvatore M StensethSpainIoni Bowcher RENEWAL
Jennifer N RulapaughAustraliaBernardo Dominic PROPOSAL
Juan F MorascaJapanAsiya Javayant NEW
Francesco F BologniaBrazilAnna Fali RENEWAL
Juan Y BriddickGermanyOnyama Limba NEW
Mayumi H FigeroaAustraliaStephen Shaw PROPOSAL
Rodrigues T OstroskyRussiaStephen Shaw NEGOTIATION
Faith X CaudyArgentinaAmy Elsner PROPOSAL
Johnson F ChuiItalyBernardo Dominic QUALIFIED
Mujtaba L DilliardCanadaStephen Shaw PROPOSAL
James F FollerIndiaAnna Fali NEW
Ashley P WhobreyUnited KingdomIvan Magalhaes PROPOSAL
Julie J GillianUnited KingdomAmy Elsner RENEWAL
David F WieserAustraliaAnna Fali NEW
Tony K MacleadAustraliaAmy Elsner QUALIFIED
Jones R NickaItalyOnyama Limba PROPOSAL
Isabel D NickaRussiaBernardo Dominic NEGOTIATION
Costa Z CaldareraFranceAmy Elsner UNQUALIFIED
Kaitlin U NickaJapanAnna Fali RENEWAL
Jones H VenereGermanyElwin Sharvill NEW
Faith I CaudyJapanAmy Elsner NEW
Faith R MorascaItalyIvan Magalhaes UNQUALIFIED
Ricardo F DilliardGermanyAsiya Javayant UNQUALIFIED
Chavez M ShinkoAustraliaAsiya Javayant NEW
Morrow L StensethAustraliaElwin Sharvill NEW
Maria E RimUnited KingdomBernardo Dominic NEGOTIATION
Aditya R GlickArgentinaOnyama Limba RENEWAL
Aruna W SlusarskiBrazilOnyama Limba NEW
Misaki I PaprockiFranceIvan Magalhaes NEGOTIATION
Ivar N WaycottItalyIoni Bowcher NEW
Jones L MaletArgentinaElwin Sharvill NEW
Maisha F MaletRussiaIoni Bowcher UNQUALIFIED
Silvio T TollnerJapanIoni Bowcher QUALIFIED
David D PoquetteCanadaAsiya Javayant UNQUALIFIED
Maria X MaletBrazilIoni Bowcher 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>