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 S StockhamUnited KingdomStephen Shaw NEGOTIATION
Arvin F BologniaArgentinaXuxue Feng QUALIFIED
Darci E VocelkaArgentinaAsiya Javayant PROPOSAL
Deepesh N TollnerItalyBernardo Dominic UNQUALIFIED
Kadeem V FollerFranceAmy Elsner NEGOTIATION
Ricardo A CampainFranceAmy Elsner PROPOSAL
Cody P VocelkaJapanBernardo Dominic NEW
Francesco Y CaldareraItalyAnna Fali UNQUALIFIED
Smith A DilliardFranceAsiya Javayant NEGOTIATION
Julie M MorascaAustraliaAmy Elsner QUALIFIED
Izzy X NickaArgentinaIvan Magalhaes UNQUALIFIED
Murillo E StensethSpainElwin Sharvill UNQUALIFIED
Chavez E MorascaRussiaIoni Bowcher NEGOTIATION
Aditya Z VocelkaGermanyAnna Fali QUALIFIED
Aruna E IturbideIndiaXuxue Feng RENEWAL
David N MaletSpainIoni Bowcher RENEWAL
Antonio Y TollnerAustraliaOnyama Limba PROPOSAL
Jennifer B VenereCanadaAmy Elsner UNQUALIFIED
Kaitlin B AmigonSpainAmy Elsner NEGOTIATION
Ricardo G AmigonFranceIoni Bowcher QUALIFIED
Aruna G MacleadJapanIoni Bowcher PROPOSAL
Silvio T ButtItalyAsiya Javayant RENEWAL
Stacey U InouyeRussiaIvan Magalhaes QUALIFIED
Emily X NestleCanadaAmy Elsner NEGOTIATION
Chavez S CampainCanadaIvan Magalhaes PROPOSAL
Leja Z BriddickRussiaAsiya Javayant NEW
Leja X VenereBrazilAsiya Javayant NEGOTIATION
Izzy S IturbideIndiaIoni Bowcher QUALIFIED
Maria B FigeroaRussiaStephen Shaw QUALIFIED
Mayumi D CaldareraIndiaElwin Sharvill UNQUALIFIED
Chavez E RoysterRussiaBernardo Dominic NEW
Leja W StockhamArgentinaElwin Sharvill RENEWAL
Aika G AmigonGermanyStephen Shaw PROPOSAL
Salvatore Q WaycottCanadaIoni Bowcher RENEWAL
Izzy O GarufiArgentinaXuxue Feng NEGOTIATION
Kaitlin P KolmetzFranceAsiya Javayant QUALIFIED
James G FigeroaRussiaOnyama Limba NEGOTIATION
Kaitlin Y InouyeUnited KingdomStephen Shaw RENEWAL
Aruna K MaletIndiaAnna Fali QUALIFIED
Greenwood Q AlbaresGermanyOnyama Limba RENEWAL
Emily S WaycottGermanyOnyama Limba RENEWAL
Clifford I MorascaUnited KingdomBernardo Dominic NEW
Ivar D TollnerAustraliaAmy Elsner PROPOSAL
Mayumi B TollnerUnited KingdomXuxue Feng NEGOTIATION
Leja R OstroskyItalyAmy Elsner NEW
Jefferson V SchemmerGermanyIoni Bowcher NEW
James V TollnerIndiaElwin Sharvill UNQUALIFIED
Ashley X BologniaAustraliaAmy Elsner QUALIFIED
Nicolas P MorascaFranceAnna Fali NEW
Leja D ShinkoAustraliaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson P RutaIndiaAmy Elsner UNQUALIFIED
Nicolas A KolmetzItalyIvan Magalhaes UNQUALIFIED
Claire G SchemmerCanadaAmy Elsner PROPOSAL
Costa Q RulapaughCanadaAnna Fali NEW
Octavia M AmigonCanadaBernardo Dominic RENEWAL
Costa S WieserAustraliaIvan Magalhaes UNQUALIFIED
Isabel X MaletFranceIoni Bowcher PROPOSAL
David O RimJapanOnyama Limba NEW
Emily N FollerAustraliaAnna Fali PROPOSAL
Kadeem K ButtCanadaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin J KolmetzArgentina2024-06-20Printing Dimensions RENEWAL62Bernardo Dominic
1001Silvio W NickaBrazil2024-06-10Feltz Printing Service RENEWAL16Elwin Sharvill
1002Salvatore U DarakjyBrazil2024-06-24Dorl, James J Esq UNQUALIFIED43Ivan Magalhaes
1003Faith N MaletUnited Kingdom2024-06-11Feiner Bros PROPOSAL40Elwin Sharvill
1004Johnson G PaprockiIndia2024-06-09Truhlar And Truhlar Attys UNQUALIFIED45Bernardo Dominic
1005Jefferson F AlbaresItaly2024-06-05Chapman, Ross E Esq QUALIFIED98Ivan Magalhaes
1006Salvatore N BriddickJapan2024-06-18Chanay, Jeffrey A Esq NEW20Ioni Bowcher
1007Emily K DoeItaly2024-06-07Truhlar And Truhlar Attys NEW72Ioni Bowcher
1008Darci U BowleyArgentina2024-06-16Morlong Associates PROPOSAL75Elwin Sharvill
1009Octavia V GauchoIndia2024-06-07Feltz Printing Service NEW59Asiya Javayant
1010Antonio U FollerBrazil2024-06-11Truhlar And Truhlar Attys QUALIFIED0Stephen Shaw
1011Mayumi K KuskoFrance2024-06-14Feltz Printing Service RENEWAL77Ioni Bowcher
1012James M ButtSpain2024-06-21Dorl, James J Esq UNQUALIFIED99Bernardo Dominic
1013Munro H PoquetteGermany2024-06-03Benton, John B Jr PROPOSAL95Anna Fali
1014Cody M GarufiBrazil2024-06-18Rousseaux, Michael Esq RENEWAL0Ivan Magalhaes
1015Murillo G DoeSpain2024-06-02Printing Dimensions NEW16Xuxue Feng
1016Emily H FerenczAustralia2024-06-24King, Christopher A Esq QUALIFIED94Amy Elsner
1017Mujtaba U SergiUnited Kingdom2024-06-02Commercial Press RENEWAL62Amy Elsner
1018Aditya J DilliardJapan2024-05-27Feiner Bros QUALIFIED18Asiya Javayant
1019Mujtaba V BowleyFrance2024-06-06Dorl, James J Esq NEGOTIATION63Amy Elsner
1020Francesco M IturbideJapan2024-06-10Chanay, Jeffrey A Esq PROPOSAL61Elwin Sharvill
1021Sinclair N WaycottGermany2024-06-19Morlong Associates PROPOSAL2Onyama Limba
1022Mujtaba B AlbaresJapan2024-05-31Rousseaux, Michael Esq NEGOTIATION56Stephen Shaw
1023Mujtaba R PaprockiBrazil2024-06-21Chemel, James L Cpa NEW85Ioni Bowcher
1024Nicolas X IturbideUnited Kingdom2024-06-08Truhlar And Truhlar Attys QUALIFIED14Asiya Javayant
1025Tony B MorascaSpain2024-06-16Chapman, Ross E Esq RENEWAL16Anna Fali
1026Octavia G PerinBrazil2024-05-29Printing Dimensions NEW86Amy Elsner
1027Mayumi H RutaRussia2024-06-10Chemel, James L Cpa RENEWAL46Ivan Magalhaes
1028Leon V DoeUnited Kingdom2024-06-16Feltz Printing Service PROPOSAL56Bernardo Dominic
1029Francesco M PaprockiIndia2024-05-27Chanay, Jeffrey A Esq RENEWAL14Elwin Sharvill
1030Rodrigues I CaldareraJapan2024-05-29Feltz Printing Service NEGOTIATION72Amy Elsner
1031Adams D OldroydFrance2024-06-01Benton, John B Jr UNQUALIFIED54Stephen Shaw
1032Jennifer S KolmetzFrance2024-06-24Rousseaux, Michael Esq PROPOSAL70Ioni Bowcher
1033Tony Y DarakjyBrazil2024-06-20Buckley Miller Wright RENEWAL65Asiya Javayant
1034Sinclair X MaletRussia2024-06-22Buckley Miller Wright UNQUALIFIED65Ivan Magalhaes
1035Izzy W RimGermany2024-06-17Chanay, Jeffrey A Esq NEW82Onyama Limba
1036Smith F MarrierJapan2024-06-12Commercial Press QUALIFIED15Elwin Sharvill
1037Kaitlin I CaudyItaly2024-06-03Morlong Associates UNQUALIFIED5Ioni Bowcher
1038Cody A GillianBrazil2024-05-30Commercial Press UNQUALIFIED68Ioni Bowcher
1039Ricardo A MarrierArgentina2024-05-28Rangoni Of Florence PROPOSAL53Bernardo Dominic
1040Chavez S SergiItaly2024-06-05Chemel, James L Cpa UNQUALIFIED16Xuxue Feng
1041Jefferson G VenereJapan2024-06-19Dorl, James J Esq NEGOTIATION52Bernardo Dominic
1042Clifford D FollerSpain2024-05-26Dorl, James J Esq RENEWAL89Stephen Shaw
1043Greenwood T DoeAustralia2024-05-30Rangoni Of Florence QUALIFIED42Ioni Bowcher
1044Juan W WhobreyGermany2024-06-09Feltz Printing Service PROPOSAL12Onyama Limba
1045Silvio B PerinArgentina2024-06-16Buckley Miller Wright NEW34Amy Elsner
1046Leja Y BriddickCanada2024-06-06Rousseaux, Michael Esq NEW10Ivan Magalhaes
1047Chavez I MorascaFrance2024-05-26Dorl, James J Esq UNQUALIFIED56Elwin Sharvill
1048Rodrigues F DilliardFrance2024-05-30Chemel, James L Cpa NEGOTIATION64Elwin Sharvill
1049James L PaprockiBrazil2024-06-13King, Christopher A Esq UNQUALIFIED33Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Greenwood B ButtBrazilAsiya Javayant QUALIFIED
Aika L SlusarskiRussiaIvan Magalhaes PROPOSAL
Costa P SaylorsCanadaAnna Fali NEGOTIATION
Aika Z GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas N DoeSpainAnna Fali UNQUALIFIED
Maria P SaylorsArgentinaStephen Shaw NEW
Kadeem I SergiItalyAnna Fali UNQUALIFIED
Jefferson E FigeroaSpainAsiya Javayant RENEWAL
Sinclair L BowleySpainOnyama Limba NEW
Emily X MaletAustraliaBernardo Dominic QUALIFIED
Silvio B GlickBrazilIvan Magalhaes QUALIFIED
Nicolas X RimCanadaIoni Bowcher RENEWAL
Emily E BriddickSpainAmy Elsner NEGOTIATION
Nicolas M MorascaFranceAnna Fali RENEWAL
Aika X GauchoRussiaBernardo Dominic UNQUALIFIED
Munro D RutaArgentinaStephen Shaw NEGOTIATION
Jeanfrancois R PerinBrazilOnyama Limba NEGOTIATION
Wickens H RoysterBrazilAsiya Javayant PROPOSAL
Munro Z FlosiIndiaElwin Sharvill NEW
Wickens C InouyeUnited KingdomAnna Fali QUALIFIED
Silvio H DoeFranceXuxue Feng QUALIFIED
David N DarakjyIndiaAsiya Javayant RENEWAL
Faith C VocelkaGermanyAnna Fali PROPOSAL
Silvio W RimFranceAsiya Javayant NEGOTIATION
David I VocelkaUnited KingdomBernardo Dominic RENEWAL
Misaki V VocelkaUnited KingdomXuxue Feng NEW
Misaki S RimGermanyXuxue Feng NEGOTIATION
Deepesh W VenereAustraliaIoni Bowcher QUALIFIED
Rodrigues U VenereCanadaOnyama Limba PROPOSAL
Ashley T DilliardJapanStephen Shaw UNQUALIFIED
Salvatore D ButtRussiaBernardo Dominic PROPOSAL
Clifford O BologniaFranceIvan Magalhaes NEGOTIATION
Tony Q FollerIndiaIvan Magalhaes UNQUALIFIED
Faith D KuskoUnited KingdomAnna Fali NEW
Kaitlin L NickaBrazilElwin Sharvill PROPOSAL
Silvio L RutaRussiaIvan Magalhaes NEGOTIATION
Emily G ShinkoFranceIvan Magalhaes NEGOTIATION
Misaki V OstroskyItalyIvan Magalhaes NEW
Deepesh D KolmetzAustraliaBernardo Dominic RENEWAL
Octavia T MaletItalyBernardo Dominic QUALIFIED
Aruna S VenereUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro P DoeArgentinaIoni Bowcher NEW
Kaitlin T NestleGermanyBernardo Dominic NEW
Francesco I GlickUnited KingdomXuxue Feng QUALIFIED
Costa P VenereCanadaOnyama Limba RENEWAL
Greenwood U CaldareraFranceIvan Magalhaes RENEWAL
Leja G DoeJapanOnyama Limba PROPOSAL
Leon W VenereFranceElwin Sharvill NEW
Leon L VenereAustraliaAnna Fali NEGOTIATION
Julie F IturbideGermanyAnna Fali NEGOTIATION
Frozen Columns
Name
Stacey M Tollner
Jefferson L Wieser
Jefferson A Wieser
Wickens G Bowley
Maisha D Marrier
Izzy D Inouye
Cody Y Flosi
Kaitlin S Tollner
Izzy A Caudy
Jennifer P Stenseth
Aditya X Gillian
Ivar G Ostrosky
Clifford I Kusko
Antonio Z Maclead
Mujtaba N Wieser
Johnson D Paprocki
Munro X Glick
Jeanfrancois X Rulapaugh
Jones J Figeroa
Ashley W Venere
Mujtaba U Royster
Costa K Kusko
Francesco C Flosi
Faith A Foller
Silvio H Rim
Darci V Gaucho
Izzy U Darakjy
Sinclair I Morasca
Jefferson Q Morasca
Cody I Garufi
Jefferson I Chui
Mayumi F Chui
Maria L Malet
Aditya H Caudy
Kadeem E Bolognia
Ashley Q Gillian
Misaki S Dilliard
Ivar Q Foller
Ashley F Stockham
Maria N Bolognia
Octavia Y Nestle
Deepesh W Darakjy
Aruna C Dilliard
Aika K Bowley
Aika E Iturbide
Cody K Royster
Cody Y Flosi
Julie N Oldroyd
Leon B Schemmer
Maisha Z Iturbide
IdCountryDate
1000Brazil2024-06-18
1001France2024-06-24
1002Germany2024-06-13
1003Russia2024-06-08
1004Japan2024-06-20
1005Australia2024-06-15
1006Japan2024-05-31
1007Russia2024-06-13
1008Spain2024-05-30
1009Japan2024-06-11
1010Argentina2024-06-08
1011Italy2024-06-24
1012Germany2024-06-16
1013India2024-06-13
1014United Kingdom2024-06-09
1015France2024-06-02
1016Germany2024-06-18
1017Brazil2024-06-11
1018Australia2024-06-19
1019France2024-06-03
1020Germany2024-06-02
1021Australia2024-06-16
1022Spain2024-06-09
1023France2024-06-06
1024Brazil2024-06-02
1025Spain2024-06-19
1026Argentina2024-05-31
1027Russia2024-05-30
1028Australia2024-05-31
1029India2024-06-10
1030Brazil2024-05-27
1031Canada2024-06-15
1032Japan2024-06-16
1033United Kingdom2024-06-03
1034United Kingdom2024-06-12
1035India2024-06-03
1036Italy2024-05-27
1037United Kingdom2024-06-18
1038Russia2024-05-27
1039Argentina2024-06-05
1040United Kingdom2024-06-05
1041Germany2024-06-02
1042Germany2024-05-27
1043Japan2024-05-30
1044Japan2024-06-11
1045United Kingdom2024-06-22
1046Argentina2024-06-18
1047Argentina2024-06-18
1048Canada2024-05-29
1049Australia2024-06-19

On-Demand Data

NameIdCountryDate
Maria V Venere1000Spain2024-06-07
Isabel M Bowley1001Australia2024-06-20
Ivar X Figeroa1002Brazil2024-05-27
Cody J Malet1003Brazil2024-06-23
Aika Z Rim1004United Kingdom2024-06-09
Morrow O Ferencz1005Brazil2024-06-12
James Z Amigon1006Argentina2024-06-02
Izzy M Kolmetz1007India2024-06-06
Costa Q Flosi1008Italy2024-06-17
Leja X Kusko1009India2024-06-11
Deepesh D Schemmer1010Italy2024-06-03
James V Chui1011Italy2024-06-08
Ashley G Perin1012India2024-05-30
Clifford G Kusko1013Canada2024-06-22
Maria O Sergi1014Australia2024-06-13
Emily Q Caudy1015Canada2024-06-09
Cody E Vocelka1016Germany2024-06-15
Antonio O Foller1017Australia2024-06-02
Maria J Glick1018United Kingdom2024-06-16
Octavia H Stockham1019Italy2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio C VocelkaGermanyIvan Magalhaes QUALIFIED
Maria X DoeArgentinaBernardo Dominic NEGOTIATION
Deepesh A WaycottSpainOnyama Limba QUALIFIED
Jefferson K DilliardFranceIoni Bowcher QUALIFIED
Mujtaba G ButtAustraliaStephen Shaw PROPOSAL
Ashley K SergiArgentinaElwin Sharvill RENEWAL
Mayumi T FerenczUnited KingdomStephen Shaw NEGOTIATION
James X AmigonJapanXuxue Feng UNQUALIFIED
Cody V CaudyFranceXuxue Feng RENEWAL
Wickens U CaldareraBrazilBernardo Dominic PROPOSAL
Johnson H AlbaresJapanAnna Fali RENEWAL
Rodrigues X BowleyGermanyBernardo Dominic QUALIFIED
Julie N GarufiArgentinaOnyama Limba NEGOTIATION
Wickens N WaycottArgentinaOnyama Limba NEW
Maisha P DilliardItalyBernardo Dominic NEGOTIATION
Jones V WieserArgentinaStephen Shaw PROPOSAL
David L MacleadBrazilOnyama Limba RENEWAL
Smith J WieserIndiaStephen Shaw NEGOTIATION
Wickens X CaldareraCanadaAsiya Javayant RENEWAL
Mayumi Y OstroskyBrazilIvan Magalhaes NEW
Francesco E KolmetzUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois G VenereFranceAmy Elsner NEW
Antonio X CaldareraAustraliaAsiya Javayant UNQUALIFIED
Greenwood C VocelkaArgentinaIoni Bowcher QUALIFIED
Silvio B RoysterSpainAsiya Javayant NEGOTIATION
Julie R SergiItalyIvan Magalhaes QUALIFIED
Costa K RutaCanadaElwin Sharvill PROPOSAL
Rodrigues X VenereJapanOnyama Limba PROPOSAL
Leon H CaldareraBrazilIvan Magalhaes NEGOTIATION
Juan J GauchoFranceIoni Bowcher RENEWAL
Salvatore Z AlbaresGermanyBernardo Dominic QUALIFIED
Aditya B StockhamUnited KingdomAsiya Javayant RENEWAL
Costa A FollerSpainIvan Magalhaes NEGOTIATION
Maria H OstroskyBrazilOnyama Limba NEGOTIATION
Sinclair U InouyeUnited KingdomAmy Elsner NEGOTIATION
Emily W SaylorsGermanyStephen Shaw QUALIFIED
Arvin C StockhamJapanIoni Bowcher NEGOTIATION
Octavia F BologniaCanadaIoni Bowcher NEGOTIATION
Leon P ChuiCanadaIvan Magalhaes NEW
Deepesh L BologniaBrazilOnyama Limba NEGOTIATION

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