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
Aika I SlusarskiUnited KingdomBernardo Dominic RENEWAL
Chavez Q WaycottFranceIvan Magalhaes NEGOTIATION
Sinclair S MorascaBrazilBernardo Dominic UNQUALIFIED
Julie T DoeJapanIvan Magalhaes PROPOSAL
David H InouyeBrazilIvan Magalhaes RENEWAL
Misaki Y RulapaughFranceStephen Shaw QUALIFIED
Juan J FerenczCanadaOnyama Limba NEW
Chavez S AlbaresJapanElwin Sharvill NEGOTIATION
Aditya E RulapaughSpainElwin Sharvill RENEWAL
Morrow M InouyeGermanyAsiya Javayant UNQUALIFIED
Arvin L SlusarskiArgentinaAnna Fali UNQUALIFIED
Clifford E DoeRussiaAnna Fali NEW
Johnson G BologniaIndiaIvan Magalhaes PROPOSAL
Jones D GauchoAustraliaOnyama Limba PROPOSAL
Darci A DoeJapanXuxue Feng PROPOSAL
Aditya W MaletBrazilAnna Fali NEGOTIATION
Isabel O PaprockiFranceAmy Elsner QUALIFIED
Wickens V NickaArgentinaAsiya Javayant UNQUALIFIED
Adams K DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Leja B MacleadGermanyAsiya Javayant NEW
Mujtaba O AmigonItalyAmy Elsner PROPOSAL
Jones S MacleadBrazilAnna Fali PROPOSAL
Aruna S FerenczBrazilStephen Shaw NEGOTIATION
Faith K RimSpainStephen Shaw PROPOSAL
Julie U GarufiItalyBernardo Dominic RENEWAL
Julie R ShinkoUnited KingdomXuxue Feng RENEWAL
David G ButtGermanyAsiya Javayant NEGOTIATION
James M KolmetzAustraliaAsiya Javayant QUALIFIED
Ashley M RoysterBrazilAnna Fali NEGOTIATION
Alejandro K RoysterGermanyOnyama Limba RENEWAL
Silvio T NickaBrazilAnna Fali UNQUALIFIED
Ivar Q PaprockiAustraliaBernardo Dominic PROPOSAL
Juan V SergiGermanyAnna Fali NEGOTIATION
Murillo O MaletAustraliaStephen Shaw PROPOSAL
Francesco W BologniaFranceAmy Elsner PROPOSAL
Stacey A WieserArgentinaIvan Magalhaes RENEWAL
Emily H ButtUnited KingdomAsiya Javayant UNQUALIFIED
Johnson K SlusarskiBrazilXuxue Feng UNQUALIFIED
Maria E BowleyFranceElwin Sharvill RENEWAL
Morrow F PerinCanadaAsiya Javayant QUALIFIED
Clifford W RulapaughFranceBernardo Dominic QUALIFIED
Darci C FerenczArgentinaAnna Fali NEW
Smith B OldroydItalyIoni Bowcher NEGOTIATION
Leon S BowleyIndiaAnna Fali RENEWAL
Francesco L PaprockiJapanAmy Elsner UNQUALIFIED
Murillo H InouyeRussiaAnna Fali UNQUALIFIED
Aruna T SergiItalyIoni Bowcher PROPOSAL
Silvio L SergiJapanIoni Bowcher RENEWAL
Maisha N WhobreyItalyOnyama Limba PROPOSAL
Adams R ShinkoUnited KingdomElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya J MaletArgentinaOnyama Limba NEW
Wickens Q VenereRussiaIvan Magalhaes QUALIFIED
Tony E FollerArgentinaIvan Magalhaes QUALIFIED
Leja O PoquetteRussiaAmy Elsner NEGOTIATION
Wickens W GarufiGermanyIoni Bowcher QUALIFIED
Aruna H GarufiArgentinaAmy Elsner RENEWAL
Munro H TollnerIndiaIoni Bowcher UNQUALIFIED
Jones S OstroskyArgentinaElwin Sharvill RENEWAL
Greenwood J BowleyFranceBernardo Dominic NEW
Emily M KuskoRussiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel J WaycottCanada2024-06-11Rousseaux, Michael Esq UNQUALIFIED0Asiya Javayant
1001Salvatore S GarufiAustralia2024-05-20Benton, John B Jr UNQUALIFIED73Ivan Magalhaes
1002Antonio R OldroydSpain2024-06-07Chemel, James L Cpa PROPOSAL49Ivan Magalhaes
1003Munro K DoeJapan2024-06-01Truhlar And Truhlar Attys RENEWAL0Amy Elsner
1004Silvio K BowleyJapan2024-05-28Morlong Associates PROPOSAL4Ivan Magalhaes
1005Misaki N SergiRussia2024-05-29Chanay, Jeffrey A Esq PROPOSAL98Bernardo Dominic
1006Izzy H BriddickIndia2024-05-29Feiner Bros PROPOSAL57Amy Elsner
1007Kaitlin V RimRussia2024-05-29Truhlar And Truhlar Attys QUALIFIED54Ivan Magalhaes
1008Nicolas M WaycottGermany2024-05-21Rangoni Of Florence RENEWAL62Anna Fali
1009Sinclair C CaudyRussia2024-06-14Buckley Miller Wright QUALIFIED71Ivan Magalhaes
1010Faith X SaylorsArgentina2024-06-07Printing Dimensions QUALIFIED53Anna Fali
1011Julie O MaletCanada2024-06-17Rousseaux, Michael Esq QUALIFIED46Amy Elsner
1012Aruna K DarakjyCanada2024-06-15Benton, John B Jr PROPOSAL98Xuxue Feng
1013Johnson Y MaletUnited Kingdom2024-06-12Rangoni Of Florence NEW48Ioni Bowcher
1014Adams O GarufiGermany2024-05-30Feiner Bros UNQUALIFIED27Xuxue Feng
1015Sinclair O FlosiBrazil2024-06-01Printing Dimensions UNQUALIFIED19Xuxue Feng
1016Rodrigues H SlusarskiAustralia2024-06-07Feiner Bros QUALIFIED25Stephen Shaw
1017Jeanfrancois V DoeAustralia2024-06-11Printing Dimensions NEGOTIATION16Bernardo Dominic
1018Silvio Z CampainJapan2024-05-24Rangoni Of Florence QUALIFIED39Asiya Javayant
1019Mujtaba L MacleadAustralia2024-05-27Chanay, Jeffrey A Esq RENEWAL42Anna Fali
1020Claire O ChuiBrazil2024-05-25Feltz Printing Service NEGOTIATION94Elwin Sharvill
1021Darci L InouyeBrazil2024-06-14Printing Dimensions RENEWAL44Asiya Javayant
1022Ricardo S RoysterAustralia2024-06-08Truhlar And Truhlar Attys RENEWAL2Stephen Shaw
1023Jennifer R BriddickRussia2024-06-07Feltz Printing Service UNQUALIFIED54Elwin Sharvill
1024Ivar R WaycottGermany2024-05-21Morlong Associates NEW99Xuxue Feng
1025Jeanfrancois L WieserItaly2024-06-10Dorl, James J Esq NEGOTIATION5Anna Fali
1026Jennifer E CaudyArgentina2024-06-07Truhlar And Truhlar Attys QUALIFIED80Stephen Shaw
1027Clifford P MorascaUnited Kingdom2024-05-30Feiner Bros UNQUALIFIED76Amy Elsner
1028Juan T AmigonCanada2024-05-23Commercial Press UNQUALIFIED7Ivan Magalhaes
1029Alejandro M WaycottGermany2024-06-10Feltz Printing Service RENEWAL79Anna Fali
1030Izzy X FigeroaUnited Kingdom2024-06-02Feltz Printing Service UNQUALIFIED14Stephen Shaw
1031Clifford J DilliardGermany2024-06-08Commercial Press PROPOSAL37Amy Elsner
1032Salvatore M SchemmerSpain2024-06-10Dorl, James J Esq NEGOTIATION99Ivan Magalhaes
1033Kadeem U VocelkaGermany2024-06-14Chapman, Ross E Esq QUALIFIED35Anna Fali
1034Deepesh W ButtIndia2024-06-18Chapman, Ross E Esq QUALIFIED2Ioni Bowcher
1035Kadeem S FigeroaItaly2024-05-24Commercial Press NEGOTIATION29Xuxue Feng
1036Emily F MaletCanada2024-06-17Morlong Associates QUALIFIED69Amy Elsner
1037Jefferson L KolmetzSpain2024-06-17Buckley Miller Wright PROPOSAL90Onyama Limba
1038Morrow A RoysterIndia2024-05-30Truhlar And Truhlar Attys QUALIFIED81Anna Fali
1039Jennifer D ButtCanada2024-06-07Dorl, James J Esq NEGOTIATION21Stephen Shaw
1040Wickens D GarufiFrance2024-06-05Commercial Press NEGOTIATION45Amy Elsner
1041Misaki K KuskoJapan2024-05-22Chemel, James L Cpa PROPOSAL16Xuxue Feng
1042Jeanfrancois O CaudyJapan2024-06-16Chanay, Jeffrey A Esq NEGOTIATION89Xuxue Feng
1043Silvio U TollnerBrazil2024-06-08Printing Dimensions NEGOTIATION70Ivan Magalhaes
1044Octavia K OstroskySpain2024-05-29Chapman, Ross E Esq NEW82Stephen Shaw
1045Clifford Z WaycottRussia2024-06-14Printing Dimensions PROPOSAL65Ivan Magalhaes
1046Salvatore B CaudySpain2024-05-23Feiner Bros RENEWAL91Bernardo Dominic
1047Leja T CaldareraBrazil2024-06-13Truhlar And Truhlar Attys PROPOSAL7Anna Fali
1048Nicolas N NestleFrance2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED93Asiya Javayant
1049Ivar B AlbaresArgentina2024-05-30Dorl, James J Esq UNQUALIFIED47Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba M BologniaBrazilXuxue Feng QUALIFIED
James F AmigonSpainAmy Elsner QUALIFIED
Greenwood R BologniaSpainOnyama Limba UNQUALIFIED
Tony O RoysterAustraliaStephen Shaw PROPOSAL
Antonio E CampainSpainIoni Bowcher QUALIFIED
Stacey C WhobreyFranceStephen Shaw NEGOTIATION
James O KuskoBrazilAsiya Javayant NEW
Nicolas T BologniaCanadaAsiya Javayant RENEWAL
Sinclair A MarrierUnited KingdomOnyama Limba NEGOTIATION
Cody G WieserArgentinaElwin Sharvill UNQUALIFIED
Johnson S RoysterRussiaAmy Elsner PROPOSAL
Leon E AmigonBrazilOnyama Limba NEGOTIATION
Murillo S TollnerRussiaBernardo Dominic UNQUALIFIED
Nicolas J GauchoRussiaAnna Fali RENEWAL
Jones D PoquetteCanadaXuxue Feng RENEWAL
Aika B GillianItalyXuxue Feng UNQUALIFIED
Ricardo L SergiCanadaAnna Fali RENEWAL
Cody P ButtFranceElwin Sharvill RENEWAL
Julie I GlickItalyAmy Elsner UNQUALIFIED
Faith C VocelkaAustraliaStephen Shaw QUALIFIED
Cody L MarrierJapanStephen Shaw NEW
Mujtaba Y AlbaresJapanAnna Fali QUALIFIED
Julie K SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Cody D InouyeUnited KingdomAnna Fali PROPOSAL
Stacey C KuskoGermanyStephen Shaw PROPOSAL
Ashley W BowleyRussiaAnna Fali NEW
Kaitlin B KolmetzUnited KingdomOnyama Limba QUALIFIED
Claire A ChuiFranceIoni Bowcher QUALIFIED
Maisha Q NestleAustraliaAsiya Javayant PROPOSAL
Murillo S GlickArgentinaAsiya Javayant NEGOTIATION
Rodrigues G CampainAustraliaXuxue Feng UNQUALIFIED
Kaitlin Z PaprockiFranceIoni Bowcher PROPOSAL
David G DoeGermanyIvan Magalhaes QUALIFIED
Jones O PaprockiGermanyXuxue Feng NEW
Clifford O OstroskyFranceIoni Bowcher NEGOTIATION
Ashley T SlusarskiGermanyElwin Sharvill UNQUALIFIED
Stacey J WaycottRussiaAnna Fali NEW
Wickens R FlosiGermanyStephen Shaw QUALIFIED
Francesco Z MacleadBrazilAmy Elsner PROPOSAL
Costa D BriddickJapanOnyama Limba QUALIFIED
Wickens K VocelkaGermanyAnna Fali NEW
Izzy A InouyeSpainAmy Elsner NEGOTIATION
Ricardo A StockhamFranceElwin Sharvill RENEWAL
Salvatore F AmigonAustraliaElwin Sharvill RENEWAL
Wickens W MarrierGermanyElwin Sharvill QUALIFIED
Salvatore A ChuiCanadaOnyama Limba NEGOTIATION
Rodrigues V CaldareraBrazilIoni Bowcher NEGOTIATION
Jones Y MaletCanadaBernardo Dominic PROPOSAL
Morrow Z StensethCanadaIoni Bowcher NEGOTIATION
Leon K InouyeIndiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Murillo U Rim
Morrow I Kusko
Deepesh Y Butt
Nicolas O Poquette
Mayumi U Maclead
Ivar F Venere
Greenwood V Gillian
Morrow K Malet
Izzy X Malet
Ivar F Malet
Johnson W Saylors
Maria D Butt
Chavez E Vocelka
Kadeem F Vocelka
Tony C Ostrosky
Cody Y Inouye
Alejandro V Waycott
Ashley N Perin
Francesco J Caudy
Ricardo C Nicka
Alejandro W Glick
Nicolas V Tollner
Greenwood I Glick
Jeanfrancois A Briddick
Deepesh O Venere
Adams Y Bolognia
Aika A Glick
Francesco R Campain
Aika D Morasca
Arvin R Caldarera
David X Caudy
Juan U Shinko
Jones O Figeroa
James U Gaucho
Rodrigues O Marrier
Emily S Oldroyd
Aruna X Vocelka
Mujtaba C Poquette
Nicolas P Waycott
Clifford J Oldroyd
Kaitlin K Nestle
Misaki W Darakjy
Silvio K Schemmer
Leon V Waycott
David B Marrier
Emily P Flosi
Kadeem Y Rim
Murillo G Foller
Jeanfrancois J Butt
Cody M Shinko
IdCountryDate
1000India2024-06-15
1001Russia2024-06-12
1002India2024-05-29
1003Japan2024-06-13
1004United Kingdom2024-06-02
1005Russia2024-06-01
1006India2024-05-30
1007Brazil2024-05-26
1008Italy2024-06-03
1009Germany2024-06-02
1010India2024-06-14
1011Spain2024-05-29
1012France2024-06-15
1013Spain2024-06-05
1014Japan2024-06-17
1015India2024-06-07
1016France2024-06-14
1017Japan2024-06-07
1018Spain2024-05-23
1019Spain2024-06-06
1020Spain2024-06-09
1021Germany2024-05-23
1022France2024-06-16
1023Italy2024-06-09
1024Brazil2024-06-17
1025Italy2024-05-20
1026Brazil2024-05-23
1027Brazil2024-06-03
1028Japan2024-06-15
1029Germany2024-06-09
1030Russia2024-06-16
1031Argentina2024-05-23
1032Canada2024-06-02
1033Argentina2024-05-23
1034Russia2024-06-17
1035United Kingdom2024-05-26
1036Italy2024-06-01
1037France2024-05-22
1038France2024-05-28
1039France2024-06-01
1040Australia2024-06-10
1041Argentina2024-06-09
1042Japan2024-06-11
1043Brazil2024-06-06
1044Japan2024-06-18
1045Spain2024-06-10
1046United Kingdom2024-06-05
1047India2024-05-21
1048France2024-06-01
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Antonio Q Bowley1000France2024-06-03
Julie J Foller1001Italy2024-06-12
Aruna T Sergi1002United Kingdom2024-06-04
Mayumi C Paprocki1003Italy2024-05-21
Smith S Malet1004Japan2024-06-13
Isabel A Vocelka1005United Kingdom2024-06-11
Aditya C Royster1006Argentina2024-06-03
Munro M Doe1007United Kingdom2024-06-13
Isabel F Bowley1008Argentina2024-05-29
Antonio S Morasca1009India2024-05-28
Munro Y Wieser1010Spain2024-06-13
Aditya S Kolmetz1011Spain2024-06-13
Jones J Garufi1012Canada2024-06-17
Arvin N Bolognia1013France2024-05-22
Tony L Campain1014Japan2024-05-20
Cody Y Bolognia1015Italy2024-05-20
Mayumi Z Amigon1016Australia2024-06-05
Greenwood S Gaucho1017India2024-06-16
Salvatore G Wieser1018Brazil2024-05-31
Tony F Stockham1019Canada2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley L DilliardCanadaXuxue Feng QUALIFIED
Mujtaba R SaylorsRussiaOnyama Limba RENEWAL
Jeanfrancois C WhobreyGermanyAsiya Javayant NEGOTIATION
Nicolas C BologniaGermanyAnna Fali PROPOSAL
Juan I MarrierFranceBernardo Dominic RENEWAL
Murillo G WieserBrazilAnna Fali RENEWAL
James J WaycottFranceAnna Fali PROPOSAL
Wickens P PaprockiGermanyStephen Shaw NEW
James X FerenczItalyAsiya Javayant NEW
Murillo W SaylorsIndiaIvan Magalhaes PROPOSAL
Francesco R KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Faith Z OstroskyJapanAsiya Javayant QUALIFIED
Johnson T FlosiBrazilBernardo Dominic NEGOTIATION
Sinclair U SchemmerArgentinaOnyama Limba NEW
Julie S GillianBrazilStephen Shaw NEGOTIATION
Francesco J VocelkaGermanyOnyama Limba QUALIFIED
Antonio O SlusarskiFranceIvan Magalhaes NEW
Maria F TollnerGermanyXuxue Feng NEW
James D IturbideIndiaOnyama Limba UNQUALIFIED
Adams E FerenczCanadaAmy Elsner PROPOSAL
James J FerenczSpainBernardo Dominic UNQUALIFIED
Aruna D ShinkoBrazilBernardo Dominic RENEWAL
Smith L BologniaIndiaOnyama Limba RENEWAL
Stacey B GillianArgentinaXuxue Feng UNQUALIFIED
Stacey H FlosiSpainXuxue Feng PROPOSAL
Jennifer G IturbideCanadaAnna Fali UNQUALIFIED
Leja Y TollnerArgentinaXuxue Feng PROPOSAL
Aika N KolmetzFranceStephen Shaw UNQUALIFIED
Adams G StockhamArgentinaAsiya Javayant RENEWAL
Isabel S BologniaSpainIoni Bowcher NEGOTIATION
Deepesh K RoysterUnited KingdomIoni Bowcher PROPOSAL
Deepesh H MaletGermanyAmy Elsner RENEWAL
Wickens Y MaletGermanyElwin Sharvill PROPOSAL
Kaitlin C MorascaJapanAsiya Javayant QUALIFIED
Clifford I FerenczFranceAnna Fali QUALIFIED
Ivar W StockhamIndiaStephen Shaw NEGOTIATION
Leon V GarufiJapanElwin Sharvill UNQUALIFIED
Claire I SlusarskiUnited KingdomStephen Shaw RENEWAL
Leon F PerinIndiaElwin Sharvill NEW
Johnson S CaldareraUnited KingdomAsiya Javayant PROPOSAL

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