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
Jeanfrancois F CaldareraJapanElwin Sharvill PROPOSAL
Adams R WieserJapanAnna Fali RENEWAL
Aruna K AmigonFranceXuxue Feng NEW
Mujtaba W WhobreySpainAnna Fali PROPOSAL
Isabel E GauchoUnited KingdomIoni Bowcher QUALIFIED
Julie P PaprockiIndiaElwin Sharvill QUALIFIED
Aika V KolmetzSpainXuxue Feng UNQUALIFIED
Juan K OstroskyArgentinaBernardo Dominic NEW
Francesco X BologniaArgentinaStephen Shaw UNQUALIFIED
Leon P TollnerAustraliaBernardo Dominic UNQUALIFIED
Francesco Y RimFranceElwin Sharvill NEW
Greenwood Q BowleyItalyOnyama Limba NEGOTIATION
James M OstroskyFranceStephen Shaw NEW
Deepesh K NickaFranceIoni Bowcher PROPOSAL
Chavez W ButtJapanIvan Magalhaes QUALIFIED
Aika G ButtItalyElwin Sharvill RENEWAL
Costa Z CampainItalyBernardo Dominic QUALIFIED
Adams Q PoquetteJapanXuxue Feng RENEWAL
Jennifer R FlosiUnited KingdomIoni Bowcher NEGOTIATION
Deepesh S ButtCanadaIvan Magalhaes UNQUALIFIED
Ivar B PaprockiCanadaStephen Shaw UNQUALIFIED
Francesco G WieserBrazilElwin Sharvill UNQUALIFIED
Julie N GlickItalyElwin Sharvill UNQUALIFIED
David Q FlosiRussiaElwin Sharvill NEGOTIATION
Julie R CaldareraCanadaIvan Magalhaes NEW
Leja D DoeBrazilAmy Elsner RENEWAL
Wickens A BowleySpainIvan Magalhaes NEGOTIATION
Cody K SergiBrazilXuxue Feng RENEWAL
Nicolas P SaylorsBrazilIvan Magalhaes RENEWAL
Izzy O KuskoFranceIvan Magalhaes NEGOTIATION
Maisha Q MacleadIndiaOnyama Limba UNQUALIFIED
Johnson N RimArgentinaOnyama Limba NEW
Salvatore U StockhamSpainElwin Sharvill NEGOTIATION
Morrow D FlosiFranceIoni Bowcher NEGOTIATION
Deepesh I AlbaresRussiaElwin Sharvill UNQUALIFIED
Rodrigues H CampainBrazilIoni Bowcher UNQUALIFIED
Aika V StockhamAustraliaAmy Elsner QUALIFIED
Tony L PaprockiGermanyBernardo Dominic NEGOTIATION
Kadeem T SlusarskiArgentinaOnyama Limba UNQUALIFIED
Julie X DoeRussiaIvan Magalhaes NEGOTIATION
Sinclair A FerenczFranceAsiya Javayant QUALIFIED
Cody R BowleyIndiaOnyama Limba QUALIFIED
Clifford T GillianArgentinaAmy Elsner NEW
Aika Z GarufiSpainXuxue Feng UNQUALIFIED
Kadeem I DoeFranceAsiya Javayant NEGOTIATION
Jefferson H BriddickIndiaOnyama Limba RENEWAL
Julie K DilliardItalyBernardo Dominic NEW
Deepesh T AlbaresGermanyElwin Sharvill PROPOSAL
Maria J VocelkaSpainAnna Fali NEGOTIATION
Mujtaba A NickaGermanyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie T MaletItalyIoni Bowcher QUALIFIED
Jefferson V GarufiCanadaAnna Fali RENEWAL
Adams H SchemmerSpainAsiya Javayant UNQUALIFIED
Francesco S MarrierCanadaIvan Magalhaes UNQUALIFIED
Chavez K CampainGermanyAsiya Javayant NEGOTIATION
Darci L RulapaughFranceBernardo Dominic RENEWAL
Kaitlin X AmigonUnited KingdomIoni Bowcher QUALIFIED
Aditya T GillianItalyAsiya Javayant PROPOSAL
Ashley D VenereBrazilElwin Sharvill NEGOTIATION
Wickens C SergiJapanAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem Y BowleyAustralia2024-05-27Rangoni Of Florence NEGOTIATION30Elwin Sharvill
1001Leon R OldroydUnited Kingdom2024-06-11Commercial Press NEGOTIATION77Bernardo Dominic
1002Maisha Q InouyeSpain2024-06-15Feltz Printing Service RENEWAL60Anna Fali
1003Juan U WaycottCanada2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED11Anna Fali
1004Jones X VocelkaBrazil2024-06-16Chemel, James L Cpa QUALIFIED6Elwin Sharvill
1005Leon H FigeroaIndia2024-06-22Chapman, Ross E Esq UNQUALIFIED60Asiya Javayant
1006Isabel C WieserFrance2024-06-15Chapman, Ross E Esq NEGOTIATION95Asiya Javayant
1007Morrow K PaprockiItaly2024-05-24Printing Dimensions PROPOSAL59Ivan Magalhaes
1008Kaitlin D BologniaSpain2024-05-24Feltz Printing Service UNQUALIFIED17Asiya Javayant
1009Wickens O NestleArgentina2024-05-31Buckley Miller Wright NEW54Anna Fali
1010Misaki A KolmetzBrazil2024-06-15Dorl, James J Esq UNQUALIFIED98Ivan Magalhaes
1011Isabel D KolmetzUnited Kingdom2024-06-13Commercial Press NEGOTIATION20Asiya Javayant
1012Aditya E IturbideAustralia2024-05-29Chemel, James L Cpa NEW25Bernardo Dominic
1013Arvin Z GarufiAustralia2024-06-22Feltz Printing Service UNQUALIFIED8Elwin Sharvill
1014Aditya X ShinkoCanada2024-06-13Chapman, Ross E Esq RENEWAL23Amy Elsner
1015Claire J CampainRussia2024-06-11Rangoni Of Florence RENEWAL63Ivan Magalhaes
1016Munro Z MaletFrance2024-06-02Rousseaux, Michael Esq QUALIFIED43Elwin Sharvill
1017Murillo R GlickItaly2024-05-30Feltz Printing Service RENEWAL81Elwin Sharvill
1018Faith O WhobreyIndia2024-05-30Chemel, James L Cpa NEW89Onyama Limba
1019Kaitlin G WhobreyIndia2024-06-10Benton, John B Jr NEW7Stephen Shaw
1020Francesco N FigeroaAustralia2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED45Asiya Javayant
1021Claire G OstroskyBrazil2024-06-15Chemel, James L Cpa QUALIFIED92Ivan Magalhaes
1022Cody R ButtFrance2024-05-31Dorl, James J Esq RENEWAL87Elwin Sharvill
1023Greenwood D SergiUnited Kingdom2024-06-16Truhlar And Truhlar Attys RENEWAL15Asiya Javayant
1024Adams M StensethRussia2024-06-01Dorl, James J Esq PROPOSAL28Asiya Javayant
1025Misaki X RimItaly2024-05-31Chanay, Jeffrey A Esq PROPOSAL40Ioni Bowcher
1026Faith T MarrierRussia2024-06-07Rangoni Of Florence UNQUALIFIED64Anna Fali
1027Smith K RoysterUnited Kingdom2024-06-04Benton, John B Jr UNQUALIFIED5Amy Elsner
1028Leja T BologniaItaly2024-06-20Feltz Printing Service RENEWAL36Onyama Limba
1029Jennifer F CaldareraIndia2024-06-12Buckley Miller Wright PROPOSAL28Asiya Javayant
1030Aditya V PoquetteItaly2024-05-25Morlong Associates NEW43Asiya Javayant
1031Ashley T BriddickUnited Kingdom2024-05-30Feltz Printing Service QUALIFIED50Elwin Sharvill
1032Maisha U StensethFrance2024-05-27Truhlar And Truhlar Attys QUALIFIED20Amy Elsner
1033Jefferson P NickaItaly2024-06-02Chapman, Ross E Esq NEGOTIATION27Amy Elsner
1034Salvatore A DarakjyAustralia2024-06-02Dorl, James J Esq PROPOSAL63Asiya Javayant
1035Jefferson P KuskoJapan2024-05-30Buckley Miller Wright QUALIFIED64Ivan Magalhaes
1036Kadeem I BriddickBrazil2024-05-31Morlong Associates NEW23Asiya Javayant
1037James M SchemmerBrazil2024-06-10Buckley Miller Wright RENEWAL77Anna Fali
1038Leon V DarakjyFrance2024-06-06Feiner Bros QUALIFIED85Onyama Limba
1039Antonio P CaudyCanada2024-06-13Feiner Bros NEW24Stephen Shaw
1040Leon S StensethGermany2024-06-01Rousseaux, Michael Esq RENEWAL19Amy Elsner
1041Leja J InouyeBrazil2024-06-13Morlong Associates RENEWAL20Onyama Limba
1042Clifford M InouyeCanada2024-06-13Chanay, Jeffrey A Esq PROPOSAL50Xuxue Feng
1043Misaki E ButtGermany2024-05-26Chemel, James L Cpa NEW96Bernardo Dominic
1044Izzy N AmigonAustralia2024-05-26Chapman, Ross E Esq PROPOSAL80Stephen Shaw
1045Aika U ChuiFrance2024-06-18Printing Dimensions UNQUALIFIED81Elwin Sharvill
1046Claire J MaletRussia2024-06-01Morlong Associates RENEWAL21Stephen Shaw
1047Clifford I WieserArgentina2024-06-04Feltz Printing Service RENEWAL48Asiya Javayant
1048Aika A MacleadRussia2024-06-19Morlong Associates UNQUALIFIED28Elwin Sharvill
1049Arvin P WhobreyFrance2024-06-19Commercial Press QUALIFIED47Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Deepesh B KolmetzCanadaIvan Magalhaes RENEWAL
Costa H PoquetteBrazilAmy Elsner NEGOTIATION
Jones K RutaBrazilAmy Elsner RENEWAL
Jeanfrancois F PerinBrazilStephen Shaw UNQUALIFIED
Tony L OstroskyRussiaOnyama Limba RENEWAL
Tony U BologniaUnited KingdomAmy Elsner UNQUALIFIED
Greenwood F ChuiAustraliaAmy Elsner PROPOSAL
Munro L TollnerJapanBernardo Dominic NEGOTIATION
Chavez Y VocelkaRussiaIvan Magalhaes QUALIFIED
Cody A KuskoRussiaStephen Shaw PROPOSAL
Claire O FigeroaGermanyXuxue Feng UNQUALIFIED
Ivar N MaletJapanOnyama Limba RENEWAL
Silvio Z KuskoSpainBernardo Dominic PROPOSAL
Izzy X BriddickJapanAnna Fali UNQUALIFIED
Leja U CaldareraItalyBernardo Dominic PROPOSAL
Cody F ChuiAustraliaIvan Magalhaes RENEWAL
James P FollerUnited KingdomAsiya Javayant QUALIFIED
Emily Y IturbideRussiaStephen Shaw RENEWAL
Deepesh B AlbaresAustraliaIvan Magalhaes RENEWAL
Ricardo E WaycottBrazilIoni Bowcher UNQUALIFIED
Octavia N NestleItalyIvan Magalhaes UNQUALIFIED
Maria M MarrierSpainXuxue Feng UNQUALIFIED
Leon O PaprockiAustraliaAnna Fali UNQUALIFIED
James B RutaSpainStephen Shaw PROPOSAL
Mayumi V GlickJapanIoni Bowcher NEW
Mujtaba E PerinFranceOnyama Limba NEGOTIATION
Salvatore E InouyeItalyStephen Shaw NEW
Mujtaba E NestleUnited KingdomXuxue Feng QUALIFIED
Smith M NestleSpainAmy Elsner NEGOTIATION
Jefferson W CampainItalyAmy Elsner NEGOTIATION
Darci Z DilliardArgentinaStephen Shaw RENEWAL
Ivar G WieserUnited KingdomAmy Elsner NEGOTIATION
Ivar R NestleGermanyOnyama Limba NEGOTIATION
Morrow K FollerRussiaAnna Fali QUALIFIED
Nicolas N ShinkoRussiaStephen Shaw NEW
David Y GillianJapanOnyama Limba RENEWAL
Clifford H VenereItalyXuxue Feng QUALIFIED
Jones V OstroskyItalyStephen Shaw PROPOSAL
Adams M OstroskyArgentinaIoni Bowcher NEGOTIATION
Emily M FigeroaJapanOnyama Limba NEGOTIATION
Aruna M VenereIndiaOnyama Limba QUALIFIED
Antonio Z OldroydGermanyAnna Fali RENEWAL
Jeanfrancois S PaprockiGermanyIoni Bowcher NEW
Kadeem Z FlosiRussiaAnna Fali NEGOTIATION
Jeanfrancois W WieserAustraliaStephen Shaw NEW
Leja M AlbaresGermanyBernardo Dominic UNQUALIFIED
Deepesh S BologniaIndiaAnna Fali QUALIFIED
Jefferson G ShinkoGermanyAnna Fali NEGOTIATION
Wickens U GarufiCanadaIvan Magalhaes QUALIFIED
Maisha A AlbaresIndiaOnyama Limba QUALIFIED
Frozen Columns
Name
Jones Y Glick
Julie B Royster
Mayumi A Slusarski
Chavez S Rim
Kadeem A Foller
Jefferson D Wieser
Johnson N Tollner
Maria P Poquette
Maisha L Malet
Francesco V Albares
Chavez W Doe
Mayumi L Bowley
Wickens J Maclead
Mujtaba L Dilliard
Ricardo C Gaucho
Deepesh F Saylors
Jeanfrancois V Flosi
Costa Q Shinko
Chavez A Gillian
Mujtaba C Paprocki
Jones W Ostrosky
Murillo S Marrier
Arvin E Nestle
David U Chui
Rodrigues R Royster
Leon G Stenseth
Jennifer I Amigon
Octavia K Ferencz
Ashley K Poquette
Smith W Albares
Salvatore T Inouye
Maisha W Garufi
Ashley A Caudy
Maria E Shinko
Deepesh N Figeroa
Sinclair C Darakjy
Kaitlin B Poquette
Juan N Caldarera
Misaki Y Figeroa
Jeanfrancois O Butt
Kadeem U Inouye
Aditya Y Kolmetz
Johnson L Gillian
Aditya C Oldroyd
Alejandro B Amigon
Mujtaba U Bolognia
Leja G Schemmer
Chavez H Rim
Mayumi V Schemmer
Ashley K Perin
IdCountryDate
1000Italy2024-06-08
1001Italy2024-06-10
1002Spain2024-06-08
1003Argentina2024-06-19
1004Italy2024-06-17
1005Brazil2024-06-12
1006Australia2024-06-07
1007Canada2024-06-07
1008Russia2024-06-06
1009Russia2024-06-19
1010Argentina2024-05-27
1011Russia2024-05-29
1012United Kingdom2024-05-31
1013Canada2024-05-30
1014Russia2024-06-21
1015Canada2024-06-21
1016India2024-06-06
1017Brazil2024-06-14
1018India2024-06-05
1019Spain2024-06-21
1020Germany2024-06-07
1021Italy2024-06-03
1022Brazil2024-06-14
1023Brazil2024-06-12
1024Russia2024-06-06
1025Japan2024-05-31
1026India2024-06-13
1027Japan2024-06-10
1028United Kingdom2024-06-03
1029France2024-05-31
1030India2024-06-04
1031Brazil2024-06-17
1032France2024-06-06
1033Italy2024-06-11
1034Germany2024-06-21
1035United Kingdom2024-05-27
1036Germany2024-05-24
1037Australia2024-06-14
1038Italy2024-06-03
1039Spain2024-05-25
1040Spain2024-06-15
1041United Kingdom2024-06-06
1042United Kingdom2024-05-31
1043Argentina2024-06-16
1044Russia2024-06-10
1045Canada2024-06-17
1046India2024-06-21
1047Canada2024-06-05
1048Italy2024-05-28
1049Canada2024-05-30

On-Demand Data

NameIdCountryDate
Ivar B Perin1000Spain2024-06-22
Jefferson F Ostrosky1001Argentina2024-05-27
Cody X Darakjy1002United Kingdom2024-05-30
Faith M Nestle1003France2024-06-03
Cody T Darakjy1004Russia2024-06-15
Adams W Whobrey1005Canada2024-06-13
Claire L Glick1006Russia2024-05-27
Greenwood V Rulapaugh1007Canada2024-05-29
Leja J Dilliard1008Argentina2024-06-10
Greenwood G Vocelka1009Canada2024-06-12
Leon H Waycott1010Australia2024-06-06
Morrow I Malet1011Japan2024-05-29
Leja U Stenseth1012India2024-06-02
Ivar O Malet1013Spain2024-05-27
Maisha K Kusko1014Italy2024-05-29
Sinclair Y Albares1015France2024-06-18
Julie G Whobrey1016Australia2024-06-10
Claire V Rim1017Italy2024-06-19
Deepesh O Briddick1018Spain2024-06-15
Isabel X Doe1019United Kingdom2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues S ButtAustraliaStephen Shaw PROPOSAL
Smith F DarakjyArgentinaAnna Fali PROPOSAL
Octavia C FlosiAustraliaAnna Fali NEW
Cody I AmigonIndiaBernardo Dominic NEW
Jeanfrancois M MacleadSpainXuxue Feng NEGOTIATION
Deepesh Z OstroskyIndiaAsiya Javayant PROPOSAL
Misaki I DilliardCanadaAnna Fali QUALIFIED
Isabel O TollnerGermanyElwin Sharvill PROPOSAL
Alejandro K GillianGermanyStephen Shaw PROPOSAL
Mayumi E FigeroaFranceAsiya Javayant QUALIFIED
Smith Y OldroydJapanOnyama Limba UNQUALIFIED
Jeanfrancois D SergiJapanStephen Shaw QUALIFIED
Leja J GillianUnited KingdomBernardo Dominic UNQUALIFIED
Ashley A FigeroaFranceIvan Magalhaes RENEWAL
Morrow I GillianSpainAsiya Javayant RENEWAL
Izzy E AlbaresFranceXuxue Feng NEW
Octavia B CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Juan E PaprockiArgentinaIvan Magalhaes NEGOTIATION
Murillo A SlusarskiIndiaAsiya Javayant NEGOTIATION
Jefferson Y StensethGermanyElwin Sharvill QUALIFIED
Nicolas B DilliardJapanIoni Bowcher NEW
Costa B MaletCanadaStephen Shaw NEGOTIATION
Smith X SergiGermanyAmy Elsner RENEWAL
Izzy C ButtUnited KingdomElwin Sharvill PROPOSAL
Isabel J SlusarskiItalyAsiya Javayant QUALIFIED
Munro H PoquetteArgentinaAsiya Javayant UNQUALIFIED
Ivar P ChuiUnited KingdomBernardo Dominic QUALIFIED
Julie X DarakjyRussiaIvan Magalhaes NEW
Izzy F MaletGermanyOnyama Limba PROPOSAL
Wickens M KuskoRussiaOnyama Limba UNQUALIFIED
Wickens U IturbideIndiaStephen Shaw QUALIFIED
Jeanfrancois W DoeJapanStephen Shaw PROPOSAL
Misaki P PerinItalyOnyama Limba PROPOSAL
Aditya I RoysterCanadaIvan Magalhaes NEGOTIATION
Leja I CaldareraAustraliaXuxue Feng RENEWAL
Rodrigues R WieserAustraliaIoni Bowcher NEGOTIATION
Adams X BowleyIndiaStephen Shaw QUALIFIED
Aditya D SergiJapanAsiya Javayant NEGOTIATION
Leja O CaudyItalyIoni Bowcher RENEWAL
Wickens R GillianCanadaAsiya Javayant 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>