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
Jefferson H SchemmerAustraliaElwin Sharvill RENEWAL
Ricardo C RoysterRussiaOnyama Limba RENEWAL
Francesco S FollerJapanAnna Fali QUALIFIED
Juan M MaletCanadaElwin Sharvill NEGOTIATION
Faith Q RutaSpainBernardo Dominic NEGOTIATION
Stacey E StockhamCanadaOnyama Limba NEGOTIATION
Johnson N SlusarskiItalyBernardo Dominic UNQUALIFIED
Ashley E CaldareraGermanyElwin Sharvill NEW
Leon U BowleyRussiaAnna Fali NEGOTIATION
Jeanfrancois J MacleadSpainStephen Shaw PROPOSAL
Ivar B AlbaresGermanyElwin Sharvill QUALIFIED
Ricardo E MorascaBrazilIvan Magalhaes QUALIFIED
Stacey A GarufiFranceIoni Bowcher PROPOSAL
Mujtaba L WieserUnited KingdomBernardo Dominic RENEWAL
Maria Z SlusarskiRussiaXuxue Feng NEW
Aruna J BologniaIndiaStephen Shaw RENEWAL
Francesco J InouyeSpainElwin Sharvill UNQUALIFIED
Cody H FlosiJapanElwin Sharvill NEW
Claire Y SergiGermanyAsiya Javayant PROPOSAL
Jefferson D WieserRussiaAmy Elsner QUALIFIED
Clifford V InouyeIndiaOnyama Limba NEW
Julie B OstroskyItalyOnyama Limba UNQUALIFIED
David C GillianAustraliaIoni Bowcher UNQUALIFIED
Salvatore Q AmigonUnited KingdomAsiya Javayant RENEWAL
Murillo Y KolmetzJapanStephen Shaw QUALIFIED
Aditya A RoysterRussiaIvan Magalhaes NEGOTIATION
Murillo B DoeBrazilAsiya Javayant RENEWAL
Salvatore C GillianJapanAsiya Javayant RENEWAL
Alejandro V GauchoCanadaAsiya Javayant PROPOSAL
Maria S OldroydBrazilAnna Fali NEGOTIATION
Deepesh S AmigonUnited KingdomXuxue Feng NEGOTIATION
Kadeem U MarrierArgentinaIvan Magalhaes RENEWAL
Francesco Q FerenczAustraliaAmy Elsner RENEWAL
Munro I BologniaRussiaIvan Magalhaes UNQUALIFIED
Morrow P CaldareraAustraliaAsiya Javayant NEW
Murillo J MorascaIndiaAnna Fali QUALIFIED
Jennifer Q DilliardCanadaXuxue Feng NEGOTIATION
Faith Q GauchoSpainElwin Sharvill RENEWAL
Octavia F ButtArgentinaOnyama Limba PROPOSAL
Darci N DilliardJapanElwin Sharvill UNQUALIFIED
Aika M PoquetteIndiaOnyama Limba UNQUALIFIED
Alejandro X AlbaresFranceAsiya Javayant PROPOSAL
Darci W SaylorsGermanyIoni Bowcher PROPOSAL
Cody Q MaletItalyAmy Elsner QUALIFIED
Nicolas V FlosiArgentinaAnna Fali NEGOTIATION
Misaki Q MaletIndiaAnna Fali NEW
Octavia A PoquetteIndiaXuxue Feng QUALIFIED
Tony B RimFranceElwin Sharvill NEGOTIATION
Johnson M FerenczFranceAnna Fali NEW
Jones G ButtArgentinaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Isabel Y CampainCanadaXuxue Feng RENEWAL
Nicolas N GillianUnited KingdomAnna Fali UNQUALIFIED
James W GarufiBrazilIvan Magalhaes PROPOSAL
Costa X RulapaughIndiaAmy Elsner RENEWAL
Faith C DarakjyBrazilAmy Elsner NEW
Kaitlin A DoeUnited KingdomBernardo Dominic NEGOTIATION
Adams O MarrierBrazilStephen Shaw QUALIFIED
Jones N OstroskyBrazilBernardo Dominic PROPOSAL
Rodrigues Z DilliardAustraliaAnna Fali UNQUALIFIED
Mayumi O GlickArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro D SchemmerGermany2024-06-16King, Christopher A Esq PROPOSAL90Onyama Limba
1001Francesco Y VenereBrazil2024-06-20Morlong Associates RENEWAL25Elwin Sharvill
1002Juan W SaylorsUnited Kingdom2024-06-03Feltz Printing Service PROPOSAL17Ivan Magalhaes
1003Mayumi D CampainFrance2024-06-13Chanay, Jeffrey A Esq RENEWAL56Anna Fali
1004Jefferson A WaycottUnited Kingdom2024-06-20Benton, John B Jr UNQUALIFIED35Anna Fali
1005Jones R ShinkoUnited Kingdom2024-06-15Feltz Printing Service NEGOTIATION24Elwin Sharvill
1006Sinclair E BologniaBrazil2024-06-20Morlong Associates NEGOTIATION27Stephen Shaw
1007Francesco O NestleUnited Kingdom2024-06-08Chemel, James L Cpa PROPOSAL30Bernardo Dominic
1008James Z WieserArgentina2024-06-21Rangoni Of Florence NEW6Stephen Shaw
1009Julie B OstroskyCanada2024-05-26Dorl, James J Esq NEGOTIATION57Xuxue Feng
1010Isabel X BowleyBrazil2024-06-01Dorl, James J Esq NEW69Bernardo Dominic
1011Aika W TollnerItaly2024-06-10Chapman, Ross E Esq NEGOTIATION49Ioni Bowcher
1012Darci I RimAustralia2024-06-14Feiner Bros RENEWAL23Ivan Magalhaes
1013Aruna G DarakjyFrance2024-05-30Feltz Printing Service QUALIFIED74Anna Fali
1014Jefferson C MaletItaly2024-06-12Rangoni Of Florence NEGOTIATION84Ioni Bowcher
1015Emily E TollnerRussia2024-06-10Truhlar And Truhlar Attys NEW88Ivan Magalhaes
1016Maisha D AmigonCanada2024-06-03Rangoni Of Florence UNQUALIFIED74Bernardo Dominic
1017Costa E BowleyRussia2024-06-09Feiner Bros RENEWAL28Ioni Bowcher
1018Julie R SergiBrazil2024-06-05Commercial Press PROPOSAL14Xuxue Feng
1019Alejandro Q SaylorsUnited Kingdom2024-06-02Chapman, Ross E Esq QUALIFIED36Ioni Bowcher
1020Munro F WaycottSpain2024-06-23Dorl, James J Esq PROPOSAL8Amy Elsner
1021Deepesh P CampainGermany2024-05-27Rangoni Of Florence RENEWAL57Elwin Sharvill
1022Johnson V PaprockiBrazil2024-05-28Chemel, James L Cpa RENEWAL97Asiya Javayant
1023Jeanfrancois N DarakjySpain2024-05-30King, Christopher A Esq QUALIFIED35Stephen Shaw
1024Maisha T WhobreyFrance2024-06-16Chemel, James L Cpa PROPOSAL43Ivan Magalhaes
1025Ashley T WhobreyAustralia2024-06-21Benton, John B Jr RENEWAL92Anna Fali
1026Jeanfrancois M ShinkoItaly2024-06-05Morlong Associates NEGOTIATION71Elwin Sharvill
1027Leon G DoeJapan2024-06-02Printing Dimensions QUALIFIED6Onyama Limba
1028Leja Y SchemmerCanada2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED13Onyama Limba
1029Claire G FlosiArgentina2024-06-01Feltz Printing Service NEGOTIATION81Xuxue Feng
1030Ashley C CampainItaly2024-06-16King, Christopher A Esq RENEWAL22Ivan Magalhaes
1031Aruna H TollnerJapan2024-06-03Printing Dimensions PROPOSAL67Elwin Sharvill
1032Aika E FerenczFrance2024-06-15Rangoni Of Florence UNQUALIFIED68Elwin Sharvill
1033Jennifer W SlusarskiArgentina2024-05-29Chemel, James L Cpa NEW18Amy Elsner
1034Smith T WhobreySpain2024-06-21Buckley Miller Wright NEGOTIATION47Stephen Shaw
1035Alejandro U MarrierArgentina2024-05-28Buckley Miller Wright PROPOSAL46Ivan Magalhaes
1036Nicolas J FigeroaRussia2024-05-30Morlong Associates PROPOSAL14Onyama Limba
1037Aditya H InouyeSpain2024-06-18Rangoni Of Florence UNQUALIFIED33Anna Fali
1038Greenwood K NestleBrazil2024-06-06Rangoni Of Florence NEW47Elwin Sharvill
1039Mujtaba A SergiRussia2024-06-10Benton, John B Jr UNQUALIFIED39Amy Elsner
1040Darci H SlusarskiArgentina2024-06-16Truhlar And Truhlar Attys PROPOSAL33Asiya Javayant
1041Costa K CampainCanada2024-06-03Chapman, Ross E Esq QUALIFIED93Ivan Magalhaes
1042Salvatore E RulapaughArgentina2024-06-16Rousseaux, Michael Esq UNQUALIFIED63Amy Elsner
1043Aika M FerenczAustralia2024-06-03Buckley Miller Wright PROPOSAL56Xuxue Feng
1044Mayumi G FerenczRussia2024-05-27Chemel, James L Cpa UNQUALIFIED24Asiya Javayant
1045Aditya G DoeItaly2024-06-08Dorl, James J Esq UNQUALIFIED98Amy Elsner
1046Darci Q GlickJapan2024-06-02Printing Dimensions NEW77Anna Fali
1047Jeanfrancois I MaletGermany2024-06-17Chanay, Jeffrey A Esq NEW98Onyama Limba
1048Wickens C WieserItaly2024-06-17Truhlar And Truhlar Attys UNQUALIFIED38Anna Fali
1049James X AlbaresAustralia2024-06-21Chanay, Jeffrey A Esq RENEWAL91Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci M WaycottUnited KingdomAmy Elsner QUALIFIED
Clifford A WhobreyItalyIoni Bowcher UNQUALIFIED
Deepesh Y MaletSpainOnyama Limba UNQUALIFIED
David U StockhamSpainAnna Fali PROPOSAL
Sinclair Y VenereUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo I RulapaughCanadaAnna Fali QUALIFIED
David V PaprockiAustraliaOnyama Limba PROPOSAL
Alejandro A SchemmerSpainIoni Bowcher NEW
Adams W SergiArgentinaAmy Elsner UNQUALIFIED
James K CaldareraSpainAmy Elsner QUALIFIED
Jones S ChuiIndiaBernardo Dominic NEW
Leon I MacleadItalyOnyama Limba PROPOSAL
Jones I DarakjyItalyAsiya Javayant RENEWAL
Jeanfrancois L PerinFranceIvan Magalhaes UNQUALIFIED
Costa I GillianUnited KingdomIoni Bowcher UNQUALIFIED
Adams C TollnerJapanOnyama Limba NEW
Tony F MorascaUnited KingdomIvan Magalhaes PROPOSAL
Deepesh A PoquetteCanadaAsiya Javayant PROPOSAL
Wickens G FerenczBrazilAsiya Javayant RENEWAL
Misaki F VocelkaJapanElwin Sharvill UNQUALIFIED
David X BologniaArgentinaStephen Shaw UNQUALIFIED
Juan T MarrierIndiaAnna Fali RENEWAL
James B BowleyBrazilOnyama Limba UNQUALIFIED
Jennifer Q OstroskyIndiaAnna Fali PROPOSAL
Maria M ChuiUnited KingdomStephen Shaw NEW
Deepesh Q MaletItalyOnyama Limba NEGOTIATION
Jeanfrancois C RimIndiaOnyama Limba RENEWAL
Nicolas M CampainIndiaAsiya Javayant NEW
Alejandro G MaletFranceIoni Bowcher PROPOSAL
Octavia A GarufiUnited KingdomIoni Bowcher PROPOSAL
Cody A IturbideCanadaXuxue Feng NEGOTIATION
Costa Z WaycottJapanXuxue Feng RENEWAL
Isabel Z CaldareraSpainAsiya Javayant NEGOTIATION
Deepesh C RulapaughCanadaXuxue Feng QUALIFIED
Clifford V RoysterFranceElwin Sharvill NEW
Nicolas K SergiGermanyOnyama Limba RENEWAL
Ashley Y InouyeJapanAsiya Javayant PROPOSAL
Leon Z DarakjySpainAsiya Javayant RENEWAL
Maria C IturbideIndiaIoni Bowcher NEGOTIATION
Deepesh K ShinkoRussiaStephen Shaw PROPOSAL
Costa T CaldareraSpainAsiya Javayant PROPOSAL
Jones B PaprockiIndiaIoni Bowcher PROPOSAL
Aruna H ButtArgentinaIvan Magalhaes UNQUALIFIED
Chavez S VocelkaGermanyOnyama Limba PROPOSAL
Aika M MorascaGermanyOnyama Limba QUALIFIED
Greenwood V MorascaItalyXuxue Feng RENEWAL
Rodrigues H RulapaughCanadaElwin Sharvill UNQUALIFIED
Tony T MaletRussiaBernardo Dominic NEW
Munro P MaletJapanStephen Shaw NEW
Ashley N SchemmerSpainXuxue Feng PROPOSAL
Frozen Columns
Name
Maria B Marrier
Greenwood D Foller
Clifford O Chui
Kaitlin H Glick
Smith J Kolmetz
Antonio X Maclead
Kaitlin Z Ostrosky
Adams U Sergi
Isabel U Marrier
Rodrigues Z Butt
Aditya T Paprocki
Juan Q Rulapaugh
Adams W Saylors
Cody D Venere
Cody P Paprocki
Clifford M Albares
Izzy Z Royster
Maria K Vocelka
Maisha T Rim
Rodrigues I Nestle
Chavez G Schemmer
David I Kolmetz
Clifford D Gillian
Ivar D Maclead
Mayumi Z Doe
Jefferson M Royster
Arvin A Inouye
Jefferson V Sergi
Isabel G Inouye
Ricardo F Ferencz
Deepesh N Rim
David T Royster
Misaki A Gillian
Mayumi Y Kusko
Clifford M Nestle
Salvatore D Perin
Deepesh M Maclead
Ashley O Briddick
Nicolas K Caudy
Costa P Darakjy
Murillo P Stockham
Chavez R Royster
Emily F Rim
Salvatore Q Gillian
Darci Z Vocelka
Leja M Briddick
Salvatore F Poquette
Claire Q Briddick
David R Gillian
Francesco S Rulapaugh
IdCountryDate
1000Italy2024-06-11
1001France2024-06-04
1002India2024-06-20
1003United Kingdom2024-06-11
1004India2024-06-07
1005India2024-06-21
1006Spain2024-06-09
1007United Kingdom2024-06-22
1008Brazil2024-06-13
1009Canada2024-06-06
1010Germany2024-06-12
1011Russia2024-05-27
1012Argentina2024-06-07
1013Canada2024-06-11
1014Brazil2024-05-27
1015Brazil2024-06-07
1016Russia2024-05-26
1017Argentina2024-06-11
1018Argentina2024-06-22
1019Germany2024-06-04
1020Australia2024-06-12
1021Japan2024-06-02
1022India2024-06-22
1023Italy2024-06-06
1024Argentina2024-06-04
1025Italy2024-05-27
1026Argentina2024-06-23
1027Canada2024-06-13
1028India2024-05-29
1029Australia2024-06-18
1030Russia2024-05-28
1031France2024-06-22
1032Russia2024-06-23
1033Australia2024-06-23
1034Australia2024-06-14
1035Brazil2024-05-27
1036Argentina2024-06-22
1037Italy2024-06-21
1038Canada2024-06-15
1039Russia2024-06-01
1040France2024-06-15
1041France2024-06-11
1042France2024-05-29
1043Canada2024-05-27
1044Spain2024-06-23
1045Argentina2024-06-05
1046Russia2024-06-20
1047United Kingdom2024-05-28
1048United Kingdom2024-06-12
1049Brazil2024-05-29

On-Demand Data

NameIdCountryDate
James V Rim1000Brazil2024-06-08
Murillo I Oldroyd1001Brazil2024-06-20
Greenwood D Venere1002Spain2024-06-09
Salvatore V Tollner1003Canada2024-06-03
Sinclair E Darakjy1004Japan2024-06-03
Ivar P Doe1005Canada2024-06-19
Aruna E Nicka1006United Kingdom2024-06-16
Nicolas O Iturbide1007Australia2024-06-14
Stacey N Bolognia1008Russia2024-06-20
Silvio K Waycott1009Australia2024-05-27
Aika O Caldarera1010Germany2024-06-05
Arvin J Poquette1011Russia2024-05-30
Aruna J Briddick1012Brazil2024-06-19
Maria F Flosi1013Australia2024-06-10
Silvio Z Caldarera1014Australia2024-06-14
Jefferson D Shinko1015Germany2024-06-11
David X Rulapaugh1016Japan2024-06-19
Mayumi U Caldarera1017Argentina2024-06-03
Ashley Q Amigon1018Japan2024-06-17
Clifford W Flosi1019Spain2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson R NestleCanadaOnyama Limba UNQUALIFIED
Ricardo U SaylorsUnited KingdomAmy Elsner NEGOTIATION
Francesco R MarrierAustraliaIoni Bowcher UNQUALIFIED
Cody J OldroydFranceStephen Shaw NEW
Morrow X WhobreyItalyAnna Fali QUALIFIED
Nicolas Q StensethUnited KingdomXuxue Feng UNQUALIFIED
Alejandro M KuskoSpainAsiya Javayant RENEWAL
Octavia J DarakjyArgentinaAsiya Javayant QUALIFIED
Darci F KuskoRussiaBernardo Dominic PROPOSAL
James P RutaIndiaIoni Bowcher RENEWAL
Kaitlin V OldroydItalyAsiya Javayant RENEWAL
Octavia D FollerFranceStephen Shaw PROPOSAL
Octavia L WhobreyBrazilElwin Sharvill UNQUALIFIED
Greenwood W VenereBrazilXuxue Feng RENEWAL
Kadeem V SlusarskiBrazilAsiya Javayant PROPOSAL
Alejandro C StockhamCanadaXuxue Feng UNQUALIFIED
Leon G FerenczAustraliaAnna Fali RENEWAL
Nicolas A CaudyUnited KingdomAmy Elsner NEGOTIATION
Juan C WieserIndiaAsiya Javayant NEGOTIATION
Emily X BologniaCanadaAnna Fali UNQUALIFIED
Misaki C SlusarskiJapanIoni Bowcher UNQUALIFIED
Leja T FlosiBrazilAsiya Javayant NEW
Arvin O ChuiGermanyXuxue Feng QUALIFIED
Morrow V AlbaresGermanyStephen Shaw UNQUALIFIED
Kadeem G SergiIndiaElwin Sharvill QUALIFIED
Leon U NickaAustraliaAmy Elsner QUALIFIED
Greenwood F StensethIndiaAmy Elsner PROPOSAL
Jones J SchemmerUnited KingdomOnyama Limba NEGOTIATION
Mayumi D MaletItalyAsiya Javayant UNQUALIFIED
Adams X IturbideJapanXuxue Feng UNQUALIFIED
Julie Y StensethUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo L KuskoArgentinaIoni Bowcher NEW
Julie Z FollerItalyAnna Fali QUALIFIED
Leon O NestleFranceOnyama Limba QUALIFIED
Misaki I PoquetteItalyAmy Elsner UNQUALIFIED
Aika Z KuskoIndiaBernardo Dominic QUALIFIED
Kaitlin M WieserSpainIoni Bowcher NEW
Aruna S MarrierIndiaIoni Bowcher QUALIFIED
Nicolas V WaycottIndiaAmy Elsner QUALIFIED
Johnson B MaletBrazilXuxue Feng UNQUALIFIED

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