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 C TollnerAustraliaBernardo Dominic NEGOTIATION
Rodrigues R SlusarskiCanadaAmy Elsner RENEWAL
Darci Y NestleAustraliaStephen Shaw UNQUALIFIED
Smith X GauchoRussiaIoni Bowcher PROPOSAL
Nicolas L BriddickAustraliaAmy Elsner NEGOTIATION
Jeanfrancois P KolmetzRussiaIoni Bowcher UNQUALIFIED
Octavia X SergiArgentinaXuxue Feng UNQUALIFIED
Julie A TollnerArgentinaAnna Fali NEGOTIATION
Julie W VenereRussiaStephen Shaw UNQUALIFIED
Ivar P ChuiRussiaAmy Elsner QUALIFIED
Isabel V CaudyCanadaIvan Magalhaes UNQUALIFIED
Arvin J SlusarskiCanadaBernardo Dominic PROPOSAL
Jeanfrancois K DoeBrazilBernardo Dominic QUALIFIED
Chavez P FlosiBrazilOnyama Limba NEGOTIATION
Maria O KuskoSpainElwin Sharvill RENEWAL
Wickens Y CaudyCanadaAsiya Javayant PROPOSAL
Deepesh P OldroydJapanElwin Sharvill NEGOTIATION
Johnson S BowleyItalyIoni Bowcher NEW
Nicolas S SergiArgentinaElwin Sharvill NEW
Darci H ShinkoGermanyAnna Fali PROPOSAL
Adams E OldroydFranceAsiya Javayant PROPOSAL
Sinclair X PerinGermanyOnyama Limba NEW
David M SchemmerCanadaAnna Fali PROPOSAL
Arvin L SergiAustraliaElwin Sharvill RENEWAL
Jones O BriddickJapanXuxue Feng RENEWAL
Jeanfrancois U MarrierSpainStephen Shaw QUALIFIED
Isabel D AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Aruna L MorascaBrazilStephen Shaw NEW
Wickens L ShinkoSpainIoni Bowcher UNQUALIFIED
Ivar I AmigonRussiaStephen Shaw PROPOSAL
David L GlickBrazilIoni Bowcher NEGOTIATION
Kadeem R OldroydRussiaElwin Sharvill RENEWAL
Kaitlin Y RimCanadaAsiya Javayant UNQUALIFIED
Misaki T MaletRussiaIoni Bowcher RENEWAL
Jeanfrancois M FigeroaIndiaIvan Magalhaes NEW
Antonio R FollerAustraliaXuxue Feng PROPOSAL
Isabel L PoquetteItalyIvan Magalhaes PROPOSAL
James H FlosiRussiaIvan Magalhaes NEGOTIATION
Mujtaba N IturbideFranceBernardo Dominic QUALIFIED
Leon E RoysterUnited KingdomStephen Shaw QUALIFIED
Alejandro O SchemmerSpainAnna Fali PROPOSAL
Silvio C SergiGermanyAmy Elsner PROPOSAL
Aruna E IturbideAustraliaStephen Shaw NEW
Mayumi F GauchoAustraliaAmy Elsner PROPOSAL
Murillo T SaylorsGermanyIoni Bowcher UNQUALIFIED
Cody A PerinItalyAsiya Javayant QUALIFIED
James B CaudyIndiaAnna Fali RENEWAL
Silvio Y BriddickCanadaStephen Shaw UNQUALIFIED
Leon K RutaUnited KingdomIvan Magalhaes NEGOTIATION
Francesco W OldroydCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon U StensethRussiaAnna Fali QUALIFIED
Jones C ChuiGermanyAmy Elsner NEGOTIATION
Munro O PerinBrazilIvan Magalhaes PROPOSAL
Misaki N RulapaughRussiaOnyama Limba RENEWAL
Sinclair V KolmetzUnited KingdomAnna Fali UNQUALIFIED
Juan Q BologniaGermanyBernardo Dominic PROPOSAL
Chavez T CaldareraBrazilXuxue Feng NEGOTIATION
Juan I BriddickSpainBernardo Dominic NEW
Mayumi X StensethGermanyIoni Bowcher QUALIFIED
Maria M PaprockiUnited KingdomAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon K VenereBrazil2025-04-01Printing Dimensions RENEWAL45Ivan Magalhaes
1001Leon N VenereUnited Kingdom2025-04-12Feiner Bros UNQUALIFIED25Asiya Javayant
1002Deepesh H DoeRussia2025-04-22King, Christopher A Esq NEGOTIATION3Ioni Bowcher
1003Rodrigues C WaycottGermany2025-04-04Morlong Associates QUALIFIED61Xuxue Feng
1004Isabel O PoquetteAustralia2025-04-15Chanay, Jeffrey A Esq NEW98Anna Fali
1005Maisha Q GlickAustralia2025-04-08King, Christopher A Esq PROPOSAL75Stephen Shaw
1006Alejandro E ChuiJapan2025-04-03Benton, John B Jr PROPOSAL52Onyama Limba
1007Ivar H SlusarskiJapan2025-04-23Rousseaux, Michael Esq UNQUALIFIED65Anna Fali
1008Chavez U RimUnited Kingdom2025-04-04Rangoni Of Florence NEGOTIATION24Elwin Sharvill
1009Jeanfrancois R BriddickIndia2025-04-17Chemel, James L Cpa QUALIFIED77Ioni Bowcher
1010Maria K DilliardGermany2025-04-27Printing Dimensions PROPOSAL90Elwin Sharvill
1011Stacey S BriddickFrance2025-04-04Printing Dimensions RENEWAL55Elwin Sharvill
1012Ivar L GlickSpain2025-04-11Printing Dimensions NEGOTIATION36Ioni Bowcher
1013Stacey M ShinkoItaly2025-04-11Morlong Associates UNQUALIFIED77Onyama Limba
1014Jeanfrancois D RutaFrance2025-04-19Commercial Press RENEWAL26Stephen Shaw
1015Kadeem T SlusarskiBrazil2025-04-03Rousseaux, Michael Esq RENEWAL33Amy Elsner
1016Ricardo B PoquetteItaly2025-04-18Feiner Bros NEGOTIATION9Asiya Javayant
1017Jefferson T FlosiSpain2025-04-26Chapman, Ross E Esq NEW16Asiya Javayant
1018Kaitlin B SaylorsUnited Kingdom2025-04-27King, Christopher A Esq QUALIFIED79Amy Elsner
1019Silvio S WaycottJapan2025-04-03Printing Dimensions NEGOTIATION60Anna Fali
1020Francesco U IturbideGermany2025-04-22Rangoni Of Florence RENEWAL64Ioni Bowcher
1021Deepesh U CaudyCanada2025-04-15Morlong Associates NEGOTIATION49Ioni Bowcher
1022Greenwood K InouyeAustralia2025-04-05King, Christopher A Esq RENEWAL78Ivan Magalhaes
1023Nicolas N ShinkoUnited Kingdom2025-04-11Commercial Press PROPOSAL98Elwin Sharvill
1024Deepesh N MaletBrazil2025-04-06Chanay, Jeffrey A Esq PROPOSAL40Xuxue Feng
1025Faith U MorascaAustralia2025-04-08Feiner Bros RENEWAL14Xuxue Feng
1026Misaki N SchemmerUnited Kingdom2025-04-28Truhlar And Truhlar Attys RENEWAL48Xuxue Feng
1027Octavia W VenereSpain2025-04-28Feiner Bros PROPOSAL60Asiya Javayant
1028David Z MarrierArgentina2025-04-20Truhlar And Truhlar Attys NEGOTIATION92Ioni Bowcher
1029Claire X GlickFrance2025-04-29Commercial Press UNQUALIFIED70Anna Fali
1030Maria Y MaletAustralia2025-04-15Rousseaux, Michael Esq NEGOTIATION29Amy Elsner
1031Morrow K PaprockiIndia2025-04-24Printing Dimensions RENEWAL18Xuxue Feng
1032Octavia Y RulapaughJapan2025-04-06Feiner Bros UNQUALIFIED43Xuxue Feng
1033Munro V MaletBrazil2025-04-21Chapman, Ross E Esq RENEWAL89Ioni Bowcher
1034Johnson S MacleadBrazil2025-04-06Printing Dimensions RENEWAL39Xuxue Feng
1035Sinclair J CampainBrazil2025-04-15Dorl, James J Esq PROPOSAL48Amy Elsner
1036David D CampainIndia2025-04-21Morlong Associates NEW75Bernardo Dominic
1037Aditya R MaletRussia2025-04-07Rousseaux, Michael Esq QUALIFIED69Xuxue Feng
1038Jones I FerenczCanada2025-04-07Feiner Bros NEGOTIATION71Onyama Limba
1039Rodrigues X RoysterIndia2025-04-16Morlong Associates RENEWAL41Elwin Sharvill
1040Ricardo I CaudyItaly2025-04-25Truhlar And Truhlar Attys NEGOTIATION30Xuxue Feng
1041Silvio B GarufiGermany2025-04-19Morlong Associates UNQUALIFIED24Bernardo Dominic
1042Salvatore B KolmetzGermany2025-04-24Benton, John B Jr NEGOTIATION24Onyama Limba
1043Kaitlin W AlbaresBrazil2025-04-22Feiner Bros NEW40Stephen Shaw
1044Stacey K MacleadJapan2025-04-20King, Christopher A Esq NEGOTIATION82Onyama Limba
1045Costa V TollnerIndia2025-04-08Feiner Bros NEGOTIATION9Anna Fali
1046Mayumi U SchemmerJapan2025-04-23Benton, John B Jr QUALIFIED95Anna Fali
1047Morrow V CaldareraItaly2025-04-08Commercial Press NEW24Onyama Limba
1048Aika K SlusarskiUnited Kingdom2025-04-10Rangoni Of Florence RENEWAL35Elwin Sharvill
1049Jones F MacleadGermany2025-04-20King, Christopher A Esq NEW43Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio B TollnerJapanOnyama Limba UNQUALIFIED
Smith C PerinRussiaStephen Shaw QUALIFIED
Alejandro Z FerenczSpainOnyama Limba NEW
Clifford S WaycottArgentinaXuxue Feng QUALIFIED
Stacey U NestleJapanOnyama Limba NEGOTIATION
Aruna C VocelkaBrazilStephen Shaw PROPOSAL
Jennifer B ChuiIndiaIvan Magalhaes RENEWAL
Greenwood A BowleyAustraliaXuxue Feng QUALIFIED
Murillo F MaletFranceBernardo Dominic RENEWAL
Clifford P CaldareraRussiaIvan Magalhaes QUALIFIED
Misaki L GillianSpainIoni Bowcher PROPOSAL
Cody L ShinkoJapanAsiya Javayant PROPOSAL
Mayumi Z InouyeBrazilOnyama Limba NEW
Ivar D MaletSpainAsiya Javayant PROPOSAL
Stacey H GarufiUnited KingdomAmy Elsner NEGOTIATION
Tony W VenereGermanyIoni Bowcher UNQUALIFIED
Antonio N MorascaCanadaXuxue Feng RENEWAL
Jeanfrancois U WaycottRussiaAmy Elsner UNQUALIFIED
Smith J RoysterItalyAnna Fali UNQUALIFIED
Aruna W AmigonRussiaElwin Sharvill PROPOSAL
Clifford O AmigonFranceIvan Magalhaes UNQUALIFIED
Misaki E GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba N MacleadGermanyOnyama Limba NEW
Jones V DilliardGermanyBernardo Dominic NEGOTIATION
Misaki M OstroskyFranceXuxue Feng NEW
Ricardo U BologniaUnited KingdomIoni Bowcher QUALIFIED
Leja F StockhamArgentinaBernardo Dominic RENEWAL
Johnson L OstroskyIndiaBernardo Dominic UNQUALIFIED
Nicolas W FlosiCanadaAsiya Javayant NEGOTIATION
Aditya M GillianAustraliaXuxue Feng QUALIFIED
Claire W FerenczJapanOnyama Limba QUALIFIED
Deepesh J CampainBrazilAnna Fali NEW
Maisha K OldroydBrazilAmy Elsner PROPOSAL
Leja I ChuiItalyBernardo Dominic RENEWAL
Jennifer I GillianCanadaBernardo Dominic PROPOSAL
Johnson W PaprockiItalyStephen Shaw RENEWAL
Octavia Q FerenczAustraliaBernardo Dominic QUALIFIED
Faith U BriddickJapanStephen Shaw UNQUALIFIED
Ashley P SaylorsRussiaBernardo Dominic NEW
Smith A BriddickAustraliaXuxue Feng RENEWAL
Isabel B ChuiArgentinaStephen Shaw UNQUALIFIED
Leja T IturbideIndiaElwin Sharvill NEW
Ashley N InouyeIndiaOnyama Limba RENEWAL
Francesco A SchemmerRussiaXuxue Feng PROPOSAL
Ricardo E WhobreySpainXuxue Feng PROPOSAL
Tony V DoeItalyIvan Magalhaes RENEWAL
Murillo Z NickaRussiaAmy Elsner PROPOSAL
Sinclair U DilliardItalyIvan Magalhaes NEW
Smith Y CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy X ShinkoArgentinaIoni Bowcher RENEWAL
Frozen Columns
Name
Aditya V Glick
Deepesh F Bowley
Maria D Bowley
Silvio N Sergi
Antonio J Poquette
James J Inouye
Juan P Kusko
Maisha F Doe
Murillo L Waycott
Salvatore L Bowley
Rodrigues X Stenseth
Murillo P Venere
Aditya A Slusarski
Mujtaba C Perin
Sinclair O Rulapaugh
Julie P Foller
Sinclair Q Poquette
Costa M Wieser
Silvio T Perin
Aditya K Garufi
Wickens D Albares
Sinclair T Flosi
Rodrigues X Stockham
Tony X Poquette
Antonio Q Oldroyd
Wickens R Malet
Nicolas O Albares
Jones A Stenseth
Sinclair U Stenseth
Mujtaba B Stenseth
Aruna W Briddick
Deepesh I Nicka
Jennifer U Sergi
Isabel V Maclead
Emily L Paprocki
Jeanfrancois X Oldroyd
Faith Q Gaucho
Johnson G Darakjy
Tony L Briddick
Jones C Slusarski
Arvin J Glick
Kadeem O Venere
Jefferson E Sergi
Murillo F Doe
Kadeem D Briddick
Chavez D Garufi
Tony M Rulapaugh
Antonio K Whobrey
Adams Q Campain
Leon A Ruta
IdCountryDate
1000Japan2025-04-25
1001United Kingdom2025-04-20
1002Spain2025-04-21
1003India2025-04-08
1004Italy2025-04-21
1005Canada2025-04-14
1006India2025-04-12
1007United Kingdom2025-04-29
1008Italy2025-04-26
1009France2025-04-05
1010Italy2025-04-29
1011Brazil2025-04-13
1012Russia2025-04-11
1013Russia2025-04-15
1014Germany2025-04-05
1015Canada2025-04-04
1016Germany2025-04-19
1017Japan2025-04-09
1018Canada2025-04-22
1019France2025-04-19
1020Argentina2025-04-24
1021Japan2025-04-07
1022France2025-04-18
1023Germany2025-04-12
1024Australia2025-04-08
1025Spain2025-04-22
1026Germany2025-04-26
1027Japan2025-04-19
1028India2025-04-06
1029United Kingdom2025-04-01
1030Canada2025-04-12
1031United Kingdom2025-04-26
1032Spain2025-04-29
1033Brazil2025-04-05
1034Germany2025-04-05
1035France2025-04-07
1036Spain2025-04-02
1037Germany2025-04-13
1038Canada2025-04-22
1039France2025-04-12
1040Canada2025-04-04
1041Italy2025-04-17
1042Argentina2025-04-09
1043Australia2025-04-03
1044India2025-04-11
1045Russia2025-04-06
1046Germany2025-04-27
1047Germany2025-04-18
1048Italy2025-04-16
1049United Kingdom2025-04-12

On-Demand Data

NameIdCountryDate
Alejandro B Tollner1000Spain2025-04-20
Johnson S Ruta1001Argentina2025-04-01
Jefferson F Saylors1002France2025-04-22
Munro T Amigon1003Australia2025-04-26
Ashley N Bolognia1004Brazil2025-04-29
Faith K Kolmetz1005India2025-04-27
Greenwood V Saylors1006France2025-04-14
Greenwood D Rulapaugh1007Argentina2025-04-07
Kadeem G Perin1008Canada2025-04-18
Johnson A Glick1009Spain2025-04-16
Cody T Malet1010Germany2025-04-17
Jeanfrancois F Bolognia1011France2025-04-14
Maisha X Waycott1012Spain2025-04-12
Deepesh F Wieser1013Germany2025-04-14
Murillo A Wieser1014Argentina2025-04-22
Aruna V Marrier1015Spain2025-04-10
Misaki Y Kolmetz1016Australia2025-04-24
Rodrigues H Whobrey1017Russia2025-04-24
Mujtaba P Butt1018Russia2025-04-26
Tony P Darakjy1019United Kingdom2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith E OstroskyArgentinaXuxue Feng PROPOSAL
Juan E CaudyRussiaBernardo Dominic UNQUALIFIED
Izzy N FigeroaFranceOnyama Limba UNQUALIFIED
Izzy Z StockhamAustraliaAmy Elsner QUALIFIED
Deepesh L VocelkaItalyIoni Bowcher QUALIFIED
Stacey N IturbideArgentinaAsiya Javayant UNQUALIFIED
Octavia O TollnerUnited KingdomOnyama Limba NEGOTIATION
Salvatore Q GlickItalyStephen Shaw QUALIFIED
Clifford W TollnerGermanyBernardo Dominic NEW
Murillo S FigeroaUnited KingdomElwin Sharvill NEW
Juan N KolmetzCanadaXuxue Feng PROPOSAL
Smith B ShinkoArgentinaXuxue Feng NEGOTIATION
Antonio F StensethUnited KingdomElwin Sharvill NEW
Jones V InouyeArgentinaXuxue Feng RENEWAL
Deepesh O NickaJapanAmy Elsner UNQUALIFIED
Stacey O InouyeArgentinaIoni Bowcher PROPOSAL
Ricardo Q MarrierAustraliaAsiya Javayant RENEWAL
Octavia V NestleIndiaElwin Sharvill QUALIFIED
Chavez P RoysterAustraliaAnna Fali NEGOTIATION
Jefferson F GauchoAustraliaIvan Magalhaes UNQUALIFIED
Claire D GauchoUnited KingdomAsiya Javayant RENEWAL
Jefferson M ShinkoCanadaAsiya Javayant NEW
Jefferson W MacleadAustraliaXuxue Feng UNQUALIFIED
Clifford B GauchoJapanStephen Shaw NEW
Aditya O CaldareraAustraliaIvan Magalhaes RENEWAL
Stacey N CaldareraFranceIoni Bowcher RENEWAL
Jennifer M GauchoJapanAnna Fali PROPOSAL
Nicolas B StensethJapanXuxue Feng UNQUALIFIED
Morrow V TollnerCanadaIoni Bowcher QUALIFIED
Francesco B FerenczUnited KingdomIoni Bowcher NEGOTIATION
Arvin A RutaAustraliaXuxue Feng QUALIFIED
Alejandro O VenereBrazilElwin Sharvill NEW
Emily G DarakjyRussiaElwin Sharvill PROPOSAL
Izzy C PoquetteItalyBernardo Dominic RENEWAL
Leja A SaylorsUnited KingdomStephen Shaw PROPOSAL
Greenwood B SergiRussiaOnyama Limba NEW
Octavia E ShinkoFranceIoni Bowcher UNQUALIFIED
Costa Q PerinSpainAsiya Javayant RENEWAL
Francesco K RoysterGermanyElwin Sharvill NEGOTIATION
Maisha L PerinUnited KingdomOnyama 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>