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
Claire B ButtArgentinaOnyama Limba RENEWAL
Rodrigues K PerinArgentinaAmy Elsner NEW
Deepesh Y ChuiJapanAsiya Javayant NEGOTIATION
Jones Z ButtGermanyIvan Magalhaes NEW
Kadeem A DoeRussiaStephen Shaw RENEWAL
Antonio A VenereItalyOnyama Limba NEW
Maria O VocelkaUnited KingdomStephen Shaw PROPOSAL
Maisha B TollnerJapanIoni Bowcher NEW
Arvin D ShinkoRussiaBernardo Dominic NEGOTIATION
Misaki Z AlbaresAustraliaAsiya Javayant QUALIFIED
Maisha Z StensethIndiaXuxue Feng QUALIFIED
Misaki F AlbaresJapanAmy Elsner RENEWAL
Mujtaba W PerinUnited KingdomIvan Magalhaes NEW
Claire T VocelkaCanadaIoni Bowcher NEW
Murillo R VocelkaGermanyAmy Elsner UNQUALIFIED
Aruna U RulapaughItalyStephen Shaw NEGOTIATION
Faith G RimBrazilAmy Elsner QUALIFIED
Claire Q MorascaRussiaXuxue Feng RENEWAL
Maria R RutaBrazilIoni Bowcher QUALIFIED
Mujtaba Z FerenczJapanElwin Sharvill QUALIFIED
Antonio N VocelkaGermanyAsiya Javayant QUALIFIED
Jennifer F FigeroaItalyAmy Elsner RENEWAL
Silvio X WaycottJapanBernardo Dominic UNQUALIFIED
Jeanfrancois Z MacleadSpainElwin Sharvill PROPOSAL
Ashley V MaletIndiaAsiya Javayant PROPOSAL
Aika T SchemmerAustraliaIoni Bowcher RENEWAL
Kaitlin G WaycottBrazilElwin Sharvill NEGOTIATION
Stacey A StockhamCanadaIoni Bowcher UNQUALIFIED
Faith A MaletArgentinaStephen Shaw UNQUALIFIED
Costa L BriddickItalyElwin Sharvill QUALIFIED
Arvin Y GlickGermanyStephen Shaw QUALIFIED
Rodrigues W MaletUnited KingdomIoni Bowcher UNQUALIFIED
Cody O BowleyItalyOnyama Limba RENEWAL
Silvio P DilliardSpainBernardo Dominic NEW
Clifford B SergiCanadaXuxue Feng NEW
Antonio R NickaAustraliaStephen Shaw NEGOTIATION
Munro S SchemmerGermanyOnyama Limba NEGOTIATION
Leon T StensethUnited KingdomIvan Magalhaes RENEWAL
Nicolas Z CaudyJapanXuxue Feng UNQUALIFIED
Ashley E SaylorsIndiaIvan Magalhaes QUALIFIED
Faith C PaprockiBrazilIvan Magalhaes NEW
Jeanfrancois I VocelkaAustraliaAnna Fali QUALIFIED
Izzy Z BowleyCanadaOnyama Limba NEGOTIATION
Jefferson R PoquetteSpainBernardo Dominic NEW
Morrow S MorascaRussiaAsiya Javayant UNQUALIFIED
Misaki N BowleyBrazilIvan Magalhaes RENEWAL
Deepesh L StensethItalyStephen Shaw NEW
Julie F OldroydSpainAnna Fali NEGOTIATION
Murillo S BologniaUnited KingdomAsiya Javayant QUALIFIED
Izzy J SchemmerAustraliaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily Y OstroskyGermanyAnna Fali RENEWAL
Izzy U ShinkoRussiaOnyama Limba QUALIFIED
Mayumi T SlusarskiRussiaAnna Fali UNQUALIFIED
Maisha S NickaItalyStephen Shaw NEW
Kadeem D FlosiBrazilAmy Elsner RENEWAL
David A FollerSpainStephen Shaw RENEWAL
Juan V DarakjyAustraliaStephen Shaw NEGOTIATION
Smith R GarufiAustraliaAsiya Javayant UNQUALIFIED
Maria W RimRussiaOnyama Limba QUALIFIED
Misaki H MaletItalyIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika M MaletAustralia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED43Bernardo Dominic
1001Greenwood P SchemmerRussia2024-06-01Rousseaux, Michael Esq RENEWAL17Xuxue Feng
1002Ivar C VocelkaArgentina2024-05-20Chapman, Ross E Esq NEGOTIATION99Amy Elsner
1003Francesco I ChuiRussia2024-06-09Feltz Printing Service NEW23Bernardo Dominic
1004Rodrigues J MaletItaly2024-05-24Truhlar And Truhlar Attys NEGOTIATION47Elwin Sharvill
1005Clifford Z AmigonSpain2024-05-30Benton, John B Jr NEGOTIATION95Stephen Shaw
1006Isabel N ButtSpain2024-05-28Rangoni Of Florence QUALIFIED86Bernardo Dominic
1007Sinclair W FigeroaRussia2024-06-06Buckley Miller Wright QUALIFIED82Onyama Limba
1008Deepesh E ChuiArgentina2024-05-27King, Christopher A Esq RENEWAL53Amy Elsner
1009Clifford R PaprockiGermany2024-06-03King, Christopher A Esq QUALIFIED68Amy Elsner
1010Jones D SlusarskiSpain2024-06-04Printing Dimensions PROPOSAL6Asiya Javayant
1011Greenwood E MarrierRussia2024-05-21Morlong Associates PROPOSAL25Asiya Javayant
1012Munro Q ChuiItaly2024-05-20Rousseaux, Michael Esq UNQUALIFIED97Bernardo Dominic
1013Kaitlin P GauchoCanada2024-05-20Morlong Associates NEGOTIATION44Amy Elsner
1014Maisha T SlusarskiUnited Kingdom2024-06-02Benton, John B Jr PROPOSAL7Elwin Sharvill
1015Nicolas K MarrierJapan2024-06-03Printing Dimensions RENEWAL0Bernardo Dominic
1016Jennifer M SergiSpain2024-06-09Rangoni Of Florence PROPOSAL39Onyama Limba
1017Antonio Y GlickCanada2024-06-16Rousseaux, Michael Esq RENEWAL39Ioni Bowcher
1018Sinclair F KuskoArgentina2024-06-11Commercial Press QUALIFIED37Ivan Magalhaes
1019Cody M VocelkaFrance2024-06-06Truhlar And Truhlar Attys UNQUALIFIED82Ivan Magalhaes
1020Julie C KolmetzRussia2024-06-11Chapman, Ross E Esq NEW34Onyama Limba
1021Cody W BriddickIndia2024-06-06Benton, John B Jr QUALIFIED83Onyama Limba
1022Francesco P IturbideFrance2024-06-04Truhlar And Truhlar Attys UNQUALIFIED96Asiya Javayant
1023Arvin I AmigonIndia2024-05-26Feiner Bros UNQUALIFIED2Onyama Limba
1024Ivar S SchemmerArgentina2024-05-26King, Christopher A Esq PROPOSAL51Bernardo Dominic
1025Johnson K GillianJapan2024-06-14Morlong Associates NEW12Xuxue Feng
1026Darci B PoquetteItaly2024-05-30Feiner Bros RENEWAL24Onyama Limba
1027Alejandro F MarrierRussia2024-06-01Rousseaux, Michael Esq QUALIFIED81Bernardo Dominic
1028Clifford Z ButtRussia2024-05-28Feiner Bros UNQUALIFIED43Asiya Javayant
1029Ashley U OldroydArgentina2024-06-17Feltz Printing Service QUALIFIED68Bernardo Dominic
1030Morrow U RoysterJapan2024-06-10Commercial Press PROPOSAL13Onyama Limba
1031Johnson P InouyeArgentina2024-06-18Chapman, Ross E Esq UNQUALIFIED41Asiya Javayant
1032Isabel W BowleyItaly2024-06-16King, Christopher A Esq NEGOTIATION91Onyama Limba
1033Arvin P GauchoArgentina2024-06-09Rangoni Of Florence UNQUALIFIED74Ivan Magalhaes
1034Jones F DarakjySpain2024-06-09Morlong Associates PROPOSAL28Bernardo Dominic
1035Antonio Z KolmetzUnited Kingdom2024-05-23Buckley Miller Wright PROPOSAL42Anna Fali
1036Smith D WaycottItaly2024-06-08Printing Dimensions UNQUALIFIED64Xuxue Feng
1037Isabel E FlosiAustralia2024-06-01Chemel, James L Cpa PROPOSAL4Bernardo Dominic
1038Ricardo P ChuiItaly2024-06-02Dorl, James J Esq RENEWAL77Stephen Shaw
1039Kadeem X InouyeJapan2024-05-28Rousseaux, Michael Esq PROPOSAL69Amy Elsner
1040Tony M PerinIndia2024-06-02King, Christopher A Esq NEGOTIATION69Stephen Shaw
1041Cody T KolmetzBrazil2024-06-01Truhlar And Truhlar Attys QUALIFIED94Asiya Javayant
1042Octavia Y InouyeUnited Kingdom2024-06-07King, Christopher A Esq NEW77Amy Elsner
1043James B CampainFrance2024-05-23Rousseaux, Michael Esq RENEWAL37Asiya Javayant
1044Emily L NickaUnited Kingdom2024-05-26King, Christopher A Esq NEW35Bernardo Dominic
1045Maria W InouyeUnited Kingdom2024-06-02Commercial Press NEGOTIATION51Elwin Sharvill
1046Smith V CaudyItaly2024-06-03Rousseaux, Michael Esq NEW3Xuxue Feng
1047Aditya X RoysterJapan2024-05-22Feltz Printing Service PROPOSAL86Ivan Magalhaes
1048Maisha A VenereCanada2024-06-12Chanay, Jeffrey A Esq PROPOSAL32Elwin Sharvill
1049Wickens S GillianBrazil2024-06-15Chapman, Ross E Esq NEW32Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson L GillianItalyIoni Bowcher NEGOTIATION
Arvin X RulapaughSpainIoni Bowcher QUALIFIED
Maisha R SchemmerAustraliaElwin Sharvill PROPOSAL
Silvio D IturbideArgentinaAmy Elsner PROPOSAL
Emily O PoquetteItalyIvan Magalhaes UNQUALIFIED
Johnson K GlickGermanyOnyama Limba NEW
Faith D StockhamGermanyBernardo Dominic RENEWAL
Arvin O ShinkoGermanyXuxue Feng NEGOTIATION
Arvin B AlbaresGermanyBernardo Dominic QUALIFIED
Jones N WhobreyIndiaStephen Shaw NEGOTIATION
Morrow S CaldareraRussiaStephen Shaw NEGOTIATION
Rodrigues R MorascaBrazilAmy Elsner RENEWAL
Francesco S VenereCanadaIvan Magalhaes RENEWAL
Wickens X MorascaRussiaIoni Bowcher NEGOTIATION
Wickens M MorascaBrazilBernardo Dominic QUALIFIED
Clifford U MaletGermanyStephen Shaw UNQUALIFIED
Ricardo W NestleJapanAsiya Javayant UNQUALIFIED
Johnson F MarrierRussiaStephen Shaw PROPOSAL
Clifford K CaldareraRussiaBernardo Dominic PROPOSAL
Adams Q SaylorsItalyOnyama Limba PROPOSAL
Ivar Y CaudyUnited KingdomElwin Sharvill QUALIFIED
Darci M GlickCanadaElwin Sharvill PROPOSAL
Faith T DoeIndiaOnyama Limba QUALIFIED
Greenwood Q SergiFranceIvan Magalhaes RENEWAL
Chavez Z MarrierGermanyIoni Bowcher NEW
Kaitlin V BowleyJapanAnna Fali NEW
Aika B DilliardItalyAnna Fali NEGOTIATION
Arvin O RutaBrazilIoni Bowcher PROPOSAL
Deepesh N NickaRussiaBernardo Dominic NEGOTIATION
Ivar W AmigonItalyAsiya Javayant QUALIFIED
Johnson K RulapaughBrazilAsiya Javayant NEGOTIATION
Kadeem O OstroskyBrazilAmy Elsner RENEWAL
Leja P WieserRussiaAmy Elsner NEGOTIATION
Clifford H CaldareraGermanyIoni Bowcher NEGOTIATION
Juan Y IturbideItalyXuxue Feng QUALIFIED
Rodrigues K GauchoCanadaStephen Shaw QUALIFIED
Munro Z RutaCanadaStephen Shaw QUALIFIED
Cody A GillianIndiaAmy Elsner RENEWAL
Johnson Z DilliardRussiaAnna Fali NEW
Jeanfrancois J FlosiIndiaAmy Elsner PROPOSAL
Sinclair J AlbaresArgentinaAmy Elsner UNQUALIFIED
Munro G PoquetteFranceIvan Magalhaes UNQUALIFIED
Ashley V GarufiFranceAsiya Javayant NEW
Kaitlin X PoquetteFranceIvan Magalhaes NEGOTIATION
Morrow M RulapaughAustraliaStephen Shaw QUALIFIED
Misaki K NestleGermanyIoni Bowcher NEGOTIATION
Stacey M BriddickGermanyIoni Bowcher NEW
Cody C CaldareraUnited KingdomAmy Elsner QUALIFIED
Cody Q IturbideGermanyIoni Bowcher NEGOTIATION
Izzy D KuskoAustraliaStephen Shaw QUALIFIED
Frozen Columns
Name
Aditya K Flosi
Deepesh F Chui
Ivar G Tollner
Johnson O Maclead
Emily R Perin
Leon Y Darakjy
Leja A Shinko
Chavez I Flosi
Julie A Figeroa
Jones P Whobrey
Juan H Schemmer
Aditya Y Royster
Octavia B Morasca
Ricardo W Albares
David U Doe
Octavia W Saylors
Costa O Darakjy
Kaitlin Z Kolmetz
Isabel Z Paprocki
Jennifer Z Morasca
Leja N Sergi
Emily T Briddick
David Q Caudy
Johnson K Malet
Maisha C Whobrey
Aditya J Caldarera
Arvin M Garufi
Nicolas D Rulapaugh
Morrow U Maclead
Juan A Kolmetz
Costa D Maclead
Jefferson I Nicka
Johnson B Poquette
Nicolas T Darakjy
David Z Briddick
Johnson Y Kusko
Leon N Poquette
Jones N Albares
Rodrigues I Malet
Silvio Q Caldarera
Nicolas C Iturbide
Costa F Darakjy
Leon N Schemmer
Aruna J Perin
Sinclair I Doe
Aika Z Slusarski
Deepesh D Darakjy
Antonio H Bolognia
Aika M Venere
Clifford I Foller
IdCountryDate
1000Brazil2024-05-21
1001Italy2024-06-17
1002India2024-06-06
1003Brazil2024-05-27
1004India2024-05-29
1005Russia2024-06-04
1006Russia2024-06-10
1007United Kingdom2024-05-21
1008United Kingdom2024-05-23
1009Italy2024-05-22
1010France2024-06-16
1011India2024-06-15
1012Russia2024-05-23
1013India2024-06-05
1014Germany2024-06-07
1015Canada2024-06-14
1016India2024-05-27
1017Australia2024-05-26
1018Brazil2024-06-10
1019Japan2024-05-31
1020Germany2024-06-12
1021Canada2024-06-12
1022Japan2024-05-24
1023Germany2024-06-05
1024Argentina2024-06-05
1025India2024-06-10
1026Japan2024-06-07
1027Germany2024-06-04
1028Italy2024-06-15
1029Japan2024-06-10
1030Italy2024-05-20
1031Spain2024-06-14
1032Brazil2024-06-04
1033Argentina2024-06-02
1034United Kingdom2024-05-30
1035Spain2024-05-25
1036Spain2024-05-28
1037Australia2024-06-15
1038Japan2024-06-17
1039France2024-05-26
1040Germany2024-06-16
1041Italy2024-05-29
1042France2024-06-10
1043Australia2024-05-20
1044Germany2024-05-20
1045Brazil2024-05-22
1046Argentina2024-05-22
1047Canada2024-06-15
1048Italy2024-06-08
1049Australia2024-05-25

On-Demand Data

NameIdCountryDate
Emily O Darakjy1000Argentina2024-06-03
Antonio G Inouye1001Canada2024-05-22
Maria A Slusarski1002Germany2024-06-03
Morrow R Darakjy1003India2024-06-12
Murillo X Saylors1004France2024-05-29
Mayumi P Wieser1005Canada2024-05-28
Faith R Butt1006Japan2024-06-01
Aditya T Royster1007India2024-06-11
Mujtaba Z Caudy1008Canada2024-06-01
Aruna R Bowley1009Japan2024-06-10
Antonio P Schemmer1010Spain2024-05-25
Juan R Perin1011Brazil2024-05-21
Silvio K Kusko1012Canada2024-06-03
Maria U Morasca1013Japan2024-05-26
Ricardo W Perin1014Italy2024-06-18
Darci G Oldroyd1015Brazil2024-05-28
Aruna K Doe1016Argentina2024-06-09
Faith A Garufi1017United Kingdom2024-06-03
Kaitlin M Venere1018United Kingdom2024-06-08
Morrow Q Gaucho1019Brazil2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco R FigeroaItalyElwin Sharvill RENEWAL
Aruna E InouyeItalyXuxue Feng PROPOSAL
Sinclair N MorascaAustraliaAsiya Javayant UNQUALIFIED
Kaitlin E WaycottRussiaXuxue Feng NEGOTIATION
Alejandro F SlusarskiItalyXuxue Feng NEGOTIATION
Darci W RoysterGermanyElwin Sharvill RENEWAL
Octavia Z InouyeIndiaBernardo Dominic NEGOTIATION
Johnson S SaylorsCanadaXuxue Feng NEGOTIATION
James L WaycottRussiaIoni Bowcher NEW
David Z CaudyFranceOnyama Limba RENEWAL
Jones W StockhamItalyAnna Fali NEGOTIATION
Tony U BologniaIndiaOnyama Limba PROPOSAL
Maria H SaylorsIndiaAmy Elsner NEGOTIATION
Antonio V InouyeRussiaXuxue Feng NEGOTIATION
Jones O FlosiArgentinaElwin Sharvill QUALIFIED
Francesco K PaprockiBrazilIvan Magalhaes QUALIFIED
Chavez L IturbideBrazilStephen Shaw RENEWAL
Murillo H CaudyJapanAmy Elsner PROPOSAL
Leja R VocelkaAustraliaAnna Fali UNQUALIFIED
Clifford S GillianGermanyAmy Elsner NEW
Maria H StockhamCanadaBernardo Dominic NEW
Stacey E FollerJapanAmy Elsner RENEWAL
Mayumi G InouyeIndiaXuxue Feng NEGOTIATION
Alejandro J OldroydIndiaBernardo Dominic QUALIFIED
Mayumi O MaletBrazilOnyama Limba PROPOSAL
Emily Z OstroskyJapanIvan Magalhaes PROPOSAL
Silvio C RulapaughFranceXuxue Feng PROPOSAL
Darci R DoeIndiaAsiya Javayant PROPOSAL
Leja Q RoysterBrazilIoni Bowcher NEW
James Y AlbaresBrazilAmy Elsner NEW
Ricardo Z ButtCanadaStephen Shaw NEW
Jennifer I TollnerJapanIvan Magalhaes NEW
Maria W FlosiRussiaIoni Bowcher UNQUALIFIED
Francesco T BriddickGermanyIvan Magalhaes NEGOTIATION
Tony Y CaudySpainAsiya Javayant RENEWAL
Jeanfrancois X TollnerItalyStephen Shaw NEGOTIATION
Clifford F FigeroaUnited KingdomAsiya Javayant RENEWAL
Darci S MarrierRussiaXuxue Feng UNQUALIFIED
Clifford W CaudyCanadaAnna Fali QUALIFIED
Izzy G FigeroaBrazilElwin Sharvill 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>