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
Kaitlin L SaylorsFranceIvan Magalhaes PROPOSAL
Darci U FlosiUnited KingdomAnna Fali PROPOSAL
Johnson L PoquetteCanadaBernardo Dominic QUALIFIED
Antonio S MaletArgentinaAnna Fali QUALIFIED
Murillo E FigeroaBrazilElwin Sharvill RENEWAL
Munro O KolmetzBrazilOnyama Limba PROPOSAL
Chavez H GlickSpainBernardo Dominic UNQUALIFIED
Izzy A InouyeGermanyBernardo Dominic NEGOTIATION
Jones D MaletAustraliaAmy Elsner RENEWAL
Emily M FerenczCanadaXuxue Feng NEGOTIATION
Jefferson L FerenczBrazilStephen Shaw NEGOTIATION
Leja C DarakjyUnited KingdomAsiya Javayant RENEWAL
Ashley X MaletJapanStephen Shaw UNQUALIFIED
James F IturbideBrazilBernardo Dominic QUALIFIED
Jefferson G NickaCanadaStephen Shaw UNQUALIFIED
Jeanfrancois U PoquetteIndiaAmy Elsner UNQUALIFIED
Munro K DoeBrazilElwin Sharvill QUALIFIED
Sinclair D CampainJapanBernardo Dominic NEW
Aika I ChuiArgentinaIvan Magalhaes NEW
Tony N CaudyIndiaStephen Shaw PROPOSAL
Ashley Q GarufiBrazilElwin Sharvill RENEWAL
Clifford K RoysterFranceBernardo Dominic NEGOTIATION
Leon L FerenczIndiaElwin Sharvill NEW
Antonio V SchemmerFranceBernardo Dominic RENEWAL
Octavia T PaprockiSpainStephen Shaw RENEWAL
Munro F FlosiIndiaXuxue Feng PROPOSAL
Murillo H SchemmerBrazilIoni Bowcher QUALIFIED
Aruna T CampainFranceAmy Elsner RENEWAL
Aditya Y KolmetzIndiaElwin Sharvill RENEWAL
Antonio M MaletAustraliaElwin Sharvill UNQUALIFIED
Jones T FigeroaGermanyAsiya Javayant NEW
Kaitlin V IturbideArgentinaAmy Elsner NEW
David Y FollerGermanyIvan Magalhaes NEW
Deepesh X TollnerFranceAmy Elsner RENEWAL
Stacey P SergiJapanXuxue Feng RENEWAL
Izzy K SergiJapanStephen Shaw RENEWAL
Aruna S GarufiFranceIvan Magalhaes PROPOSAL
Greenwood D KolmetzGermanyAsiya Javayant QUALIFIED
Mayumi J MaletItalyStephen Shaw PROPOSAL
Maria Q AmigonRussiaAnna Fali QUALIFIED
Julie A SergiGermanyIoni Bowcher UNQUALIFIED
Maisha H StensethUnited KingdomXuxue Feng NEGOTIATION
Ashley B FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Salvatore Z GarufiArgentinaIvan Magalhaes QUALIFIED
Leja J AmigonFranceBernardo Dominic RENEWAL
Aruna E GlickGermanyIoni Bowcher QUALIFIED
Mayumi Y PaprockiGermanyBernardo Dominic UNQUALIFIED
Munro A MacleadArgentinaXuxue Feng UNQUALIFIED
Stacey K StensethSpainBernardo Dominic UNQUALIFIED
Munro F StockhamArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson P RoysterArgentinaBernardo Dominic NEW
Stacey S BologniaUnited KingdomElwin Sharvill QUALIFIED
Antonio F KuskoFranceStephen Shaw UNQUALIFIED
Faith L StensethAustraliaAnna Fali PROPOSAL
Aruna T FollerRussiaStephen Shaw NEGOTIATION
Johnson O MorascaRussiaAmy Elsner PROPOSAL
Sinclair J PoquetteAustraliaOnyama Limba QUALIFIED
Sinclair E OstroskyArgentinaAmy Elsner QUALIFIED
Adams T TollnerFranceBernardo Dominic RENEWAL
David V OldroydFranceAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues D KuskoUnited Kingdom2026-06-25Feltz Printing Service UNQUALIFIED76Bernardo Dominic
1001Clifford U NickaRussia2026-06-17Chanay, Jeffrey A Esq PROPOSAL99Onyama Limba
1002Arvin G NestleAustralia2026-06-19Printing Dimensions UNQUALIFIED49Amy Elsner
1003Octavia X RutaCanada2026-06-21Chemel, James L Cpa PROPOSAL21Amy Elsner
1004James Z WieserItaly2026-06-13Feiner Bros NEW79Anna Fali
1005Nicolas Z FigeroaIndia2026-06-22Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1006Chavez L PoquetteBrazil2026-07-12Chanay, Jeffrey A Esq UNQUALIFIED21Ivan Magalhaes
1007Nicolas S ChuiAustralia2026-06-17Rangoni Of Florence QUALIFIED9Stephen Shaw
1008Munro Q SlusarskiFrance2026-07-02Printing Dimensions PROPOSAL81Asiya Javayant
1009Jones E VocelkaAustralia2026-06-16Rangoni Of Florence QUALIFIED14Bernardo Dominic
1010Cody V PaprockiJapan2026-06-21Chemel, James L Cpa RENEWAL40Ioni Bowcher
1011Darci V ShinkoAustralia2026-06-21Rangoni Of Florence RENEWAL78Bernardo Dominic
1012Tony P VocelkaFrance2026-07-01Rousseaux, Michael Esq NEGOTIATION30Anna Fali
1013Julie Y PaprockiBrazil2026-06-13Rousseaux, Michael Esq NEW25Anna Fali
1014Clifford V KolmetzUnited Kingdom2026-07-03Truhlar And Truhlar Attys UNQUALIFIED67Bernardo Dominic
1015Rodrigues L MarrierGermany2026-07-11Commercial Press QUALIFIED38Elwin Sharvill
1016Salvatore T NickaRussia2026-06-30Morlong Associates PROPOSAL34Bernardo Dominic
1017Costa D MorascaArgentina2026-07-11Benton, John B Jr RENEWAL13Stephen Shaw
1018Juan X CaldareraCanada2026-07-06Rousseaux, Michael Esq PROPOSAL98Stephen Shaw
1019David A BologniaUnited Kingdom2026-06-14Chapman, Ross E Esq UNQUALIFIED22Bernardo Dominic
1020Silvio U SergiArgentina2026-07-05Feiner Bros NEGOTIATION67Bernardo Dominic
1021Izzy C VocelkaGermany2026-06-26Buckley Miller Wright UNQUALIFIED98Xuxue Feng
1022Emily V InouyeFrance2026-06-13Benton, John B Jr NEGOTIATION76Onyama Limba
1023Alejandro Z SergiCanada2026-06-25Buckley Miller Wright RENEWAL51Stephen Shaw
1024Isabel U OstroskyUnited Kingdom2026-06-25Commercial Press NEGOTIATION25Onyama Limba
1025Claire B FerenczIndia2026-07-10King, Christopher A Esq RENEWAL2Ioni Bowcher
1026Stacey U PaprockiUnited Kingdom2026-06-21Rangoni Of Florence PROPOSAL79Anna Fali
1027Leon L NickaArgentina2026-06-17Buckley Miller Wright NEW88Bernardo Dominic
1028Chavez D MorascaJapan2026-06-19King, Christopher A Esq UNQUALIFIED84Onyama Limba
1029Adams G GillianAustralia2026-06-15Feiner Bros PROPOSAL54Bernardo Dominic
1030Ricardo N NestleJapan2026-06-29Printing Dimensions NEGOTIATION92Asiya Javayant
1031Octavia B PoquetteArgentina2026-07-09Chanay, Jeffrey A Esq QUALIFIED66Stephen Shaw
1032Jennifer U DoeBrazil2026-06-18Rousseaux, Michael Esq QUALIFIED28Ioni Bowcher
1033Sinclair S AmigonAustralia2026-06-29Feiner Bros QUALIFIED99Elwin Sharvill
1034Aika R DilliardRussia2026-07-11Benton, John B Jr RENEWAL58Bernardo Dominic
1035Izzy N StockhamArgentina2026-06-16Chanay, Jeffrey A Esq NEW72Elwin Sharvill
1036Aditya T BowleyRussia2026-07-11Chanay, Jeffrey A Esq RENEWAL21Amy Elsner
1037Jeanfrancois L WieserSpain2026-07-12Chanay, Jeffrey A Esq RENEWAL81Elwin Sharvill
1038Juan Q SergiCanada2026-06-28Feltz Printing Service NEGOTIATION94Bernardo Dominic
1039Chavez X ChuiItaly2026-07-12Buckley Miller Wright QUALIFIED99Stephen Shaw
1040Costa E FerenczUnited Kingdom2026-06-14Truhlar And Truhlar Attys QUALIFIED17Stephen Shaw
1041Francesco C BologniaUnited Kingdom2026-06-24Feltz Printing Service PROPOSAL42Elwin Sharvill
1042Isabel L BologniaJapan2026-07-12King, Christopher A Esq NEGOTIATION82Xuxue Feng
1043Cody V DarakjyFrance2026-07-01Dorl, James J Esq QUALIFIED19Ivan Magalhaes
1044Deepesh Q InouyeUnited Kingdom2026-06-24Printing Dimensions PROPOSAL10Anna Fali
1045Jennifer L AlbaresRussia2026-06-22Morlong Associates UNQUALIFIED15Bernardo Dominic
1046Deepesh F FigeroaArgentina2026-07-11Printing Dimensions UNQUALIFIED78Ivan Magalhaes
1047Kaitlin C GillianJapan2026-07-08Feltz Printing Service NEGOTIATION89Elwin Sharvill
1048Adams Z PaprockiBrazil2026-06-25Truhlar And Truhlar Attys RENEWAL88Onyama Limba
1049Ricardo X CampainGermany2026-07-01King, Christopher A Esq QUALIFIED63Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Morrow D SlusarskiSpainXuxue Feng NEGOTIATION
Juan W MarrierRussiaAmy Elsner NEGOTIATION
Clifford U NickaItalyIvan Magalhaes QUALIFIED
Alejandro W BriddickItalyAmy Elsner PROPOSAL
Greenwood V SergiSpainStephen Shaw QUALIFIED
Darci G GarufiGermanyAsiya Javayant QUALIFIED
Isabel J NickaUnited KingdomAnna Fali NEW
Jefferson H BriddickArgentinaIoni Bowcher UNQUALIFIED
Ashley C GauchoFranceAsiya Javayant QUALIFIED
Jefferson Z ShinkoBrazilXuxue Feng RENEWAL
Ashley V PerinJapanAsiya Javayant RENEWAL
David X RutaItalyBernardo Dominic PROPOSAL
Silvio N MaletItalyIvan Magalhaes RENEWAL
Silvio K ButtUnited KingdomAmy Elsner QUALIFIED
Francesco C PaprockiFranceAnna Fali NEGOTIATION
Leon U FigeroaCanadaIvan Magalhaes RENEWAL
Aditya S MaletFranceStephen Shaw UNQUALIFIED
Alejandro X StensethUnited KingdomXuxue Feng RENEWAL
Julie O MaletAustraliaAsiya Javayant QUALIFIED
Wickens C KolmetzGermanyStephen Shaw UNQUALIFIED
Costa J SergiIndiaBernardo Dominic NEGOTIATION
Aika I DoeSpainOnyama Limba QUALIFIED
Leja H SlusarskiIndiaAmy Elsner NEGOTIATION
Misaki P SlusarskiJapanAsiya Javayant NEGOTIATION
Leon M PaprockiRussiaStephen Shaw PROPOSAL
Mujtaba I BowleyItalyElwin Sharvill NEGOTIATION
Deepesh X ChuiUnited KingdomAsiya Javayant NEGOTIATION
Francesco G BowleyBrazilStephen Shaw NEGOTIATION
Claire K NestleIndiaStephen Shaw NEGOTIATION
Ricardo X FigeroaRussiaIoni Bowcher QUALIFIED
Munro U PoquetteFranceIvan Magalhaes UNQUALIFIED
Cody K PaprockiCanadaAsiya Javayant RENEWAL
Aditya N VenereGermanyElwin Sharvill QUALIFIED
Darci X MaletItalyIoni Bowcher NEW
Ivar K PoquetteJapanStephen Shaw NEGOTIATION
Ashley X KuskoItalyAsiya Javayant NEW
Izzy U WhobreyFranceAmy Elsner RENEWAL
Octavia L CaldareraUnited KingdomBernardo Dominic RENEWAL
Cody P MarrierGermanyAnna Fali RENEWAL
Aditya J WieserCanadaAsiya Javayant QUALIFIED
Aruna O ChuiArgentinaBernardo Dominic NEGOTIATION
Kadeem L VenereBrazilOnyama Limba RENEWAL
Chavez R DoeUnited KingdomAnna Fali UNQUALIFIED
Stacey F OstroskySpainAmy Elsner UNQUALIFIED
Misaki W KuskoUnited KingdomOnyama Limba NEW
Aruna A ButtAustraliaAmy Elsner PROPOSAL
Johnson W FerenczCanadaOnyama Limba NEW
Cody R GarufiJapanOnyama Limba PROPOSAL
Emily T RoysterBrazilOnyama Limba UNQUALIFIED
Mayumi R GarufiIndiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Ricardo R Schemmer
Kadeem Y Marrier
Arvin A Malet
Faith Q Gaucho
Ivar X Malet
Silvio K Vocelka
Silvio Y Chui
Izzy E Flosi
Leja X Flosi
Darci M Sergi
Aditya I Shinko
Chavez L Gillian
Chavez L Waycott
Ashley Y Foller
Stacey M Caldarera
Jeanfrancois W Briddick
Kaitlin C Venere
Maria H Kusko
Kaitlin D Doe
Mayumi V Nestle
Aruna N Malet
Ashley D Chui
Maisha O Nestle
Maisha F Amigon
James Z Perin
Jefferson H Waycott
Chavez G Gaucho
Emily N Whobrey
Smith Y Foller
Ashley M Caudy
Murillo S Malet
Ivar S Dilliard
Stacey D Glick
Nicolas G Caldarera
Kadeem N Oldroyd
Leja V Saylors
Smith O Caldarera
Sinclair X Doe
Faith R Perin
David E Royster
Ashley M Foller
Tony X Gaucho
Faith T Iturbide
Darci H Ostrosky
Clifford L Chui
Darci K Rim
David I Caudy
Morrow O Darakjy
Juan Z Royster
Julie C Butt
IdCountryDate
1000Spain2026-06-29
1001India2026-06-29
1002Australia2026-07-01
1003Canada2026-06-13
1004Canada2026-06-28
1005Japan2026-06-27
1006France2026-07-05
1007Italy2026-06-17
1008France2026-07-10
1009Russia2026-06-13
1010Canada2026-07-11
1011Argentina2026-06-21
1012Italy2026-06-17
1013Russia2026-07-11
1014Brazil2026-07-06
1015Argentina2026-07-11
1016United Kingdom2026-06-23
1017Australia2026-06-14
1018India2026-06-13
1019Japan2026-06-25
1020Germany2026-06-23
1021United Kingdom2026-06-13
1022Argentina2026-07-11
1023United Kingdom2026-06-17
1024India2026-06-14
1025United Kingdom2026-06-13
1026Brazil2026-07-07
1027Argentina2026-06-30
1028Spain2026-06-27
1029Canada2026-06-17
1030Canada2026-06-22
1031Germany2026-07-12
1032Australia2026-07-07
1033Australia2026-06-16
1034Brazil2026-06-24
1035France2026-06-17
1036Australia2026-06-23
1037Italy2026-06-14
1038United Kingdom2026-06-27
1039United Kingdom2026-06-13
1040Brazil2026-07-07
1041France2026-07-03
1042Spain2026-07-01
1043Spain2026-07-06
1044Japan2026-06-17
1045Russia2026-07-01
1046Germany2026-07-06
1047Italy2026-06-21
1048Canada2026-06-20
1049Germany2026-06-18

On-Demand Data

NameIdCountryDate
Jeanfrancois L Poquette1000Russia2026-06-29
Darci S Butt1001Australia2026-07-02
Morrow B Royster1002United Kingdom2026-07-08
Cody K Malet1003Germany2026-07-08
Salvatore R Briddick1004France2026-06-25
Salvatore R Royster1005India2026-06-28
Jones B Kusko1006India2026-06-26
Mayumi V Stockham1007Brazil2026-06-20
Darci X Doe1008Italy2026-06-26
Maisha Y Oldroyd1009United Kingdom2026-06-25
Adams I Sergi1010United Kingdom2026-06-26
Costa B Briddick1011Brazil2026-07-01
Maria Z Garufi1012Italy2026-07-03
Aika N Venere1013Australia2026-07-08
Isabel U Nestle1014Canada2026-06-29
Tony Q Stenseth1015Brazil2026-06-28
Izzy C Inouye1016Brazil2026-06-18
Maisha T Ferencz1017Russia2026-06-20
Darci C Flosi1018Germany2026-06-20
Adams T Iturbide1019Argentina2026-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon B PerinUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo W BologniaBrazilAsiya Javayant NEW
Jeanfrancois L ShinkoItalyXuxue Feng NEGOTIATION
Adams U IturbideBrazilOnyama Limba RENEWAL
James B PerinUnited KingdomIoni Bowcher UNQUALIFIED
Faith G MarrierIndiaAnna Fali QUALIFIED
Julie E AlbaresBrazilAmy Elsner RENEWAL
Stacey O CaldareraItalyIoni Bowcher PROPOSAL
Maria T CaldareraFranceIoni Bowcher QUALIFIED
Greenwood D WaycottSpainOnyama Limba NEGOTIATION
Darci D MaletFranceStephen Shaw QUALIFIED
Chavez E GlickJapanXuxue Feng NEGOTIATION
Tony N FollerAustraliaBernardo Dominic UNQUALIFIED
Smith L StensethBrazilAsiya Javayant NEGOTIATION
Isabel T ButtSpainElwin Sharvill RENEWAL
Kaitlin I BriddickRussiaAsiya Javayant UNQUALIFIED
Leon M StensethArgentinaAmy Elsner NEGOTIATION
Salvatore E SchemmerItalyIoni Bowcher NEGOTIATION
James Z OstroskyGermanyStephen Shaw RENEWAL
Stacey B SchemmerSpainAsiya Javayant NEGOTIATION
Rodrigues Z BologniaArgentinaBernardo Dominic QUALIFIED
Isabel Z DilliardUnited KingdomAmy Elsner NEGOTIATION
Misaki T GillianArgentinaElwin Sharvill RENEWAL
Juan X RoysterRussiaAnna Fali UNQUALIFIED
Isabel V WhobreyJapanIoni Bowcher NEW
Aditya T KuskoArgentinaAnna Fali PROPOSAL
Claire H FlosiUnited KingdomAmy Elsner NEW
Jones L StensethUnited KingdomXuxue Feng PROPOSAL
Deepesh I NickaAustraliaXuxue Feng QUALIFIED
Kaitlin S FigeroaBrazilAnna Fali NEW
Jones B RoysterSpainAmy Elsner NEW
Juan P GlickSpainBernardo Dominic UNQUALIFIED
Alejandro V SaylorsGermanyAnna Fali QUALIFIED
Silvio W CampainArgentinaStephen Shaw UNQUALIFIED
Ricardo J BowleyArgentinaXuxue Feng PROPOSAL
Aika J GarufiAustraliaOnyama Limba RENEWAL
Kaitlin Z FollerGermanyAsiya Javayant RENEWAL
Leja D OstroskyBrazilIvan Magalhaes RENEWAL
Munro I StensethFranceOnyama Limba QUALIFIED
Octavia E SergiRussiaAmy Elsner 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>