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
Stacey P BologniaBrazilStephen Shaw QUALIFIED
Murillo J PaprockiIndiaElwin Sharvill RENEWAL
Maisha Q InouyeGermanyBernardo Dominic NEW
Tony Q KolmetzAustraliaIoni Bowcher QUALIFIED
Francesco F SchemmerUnited KingdomAmy Elsner QUALIFIED
Leon W StensethItalyElwin Sharvill NEGOTIATION
Ivar L ShinkoArgentinaIoni Bowcher QUALIFIED
Jefferson C InouyeJapanAnna Fali NEGOTIATION
Julie J DarakjyRussiaIvan Magalhaes NEW
Costa W FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Murillo M FollerFranceAnna Fali QUALIFIED
Stacey Q MaletIndiaAmy Elsner NEW
Francesco G FlosiFranceAmy Elsner RENEWAL
Isabel X GauchoJapanAnna Fali RENEWAL
Leja T MacleadItalyAnna Fali NEGOTIATION
Emily T IturbideBrazilOnyama Limba QUALIFIED
Jeanfrancois V OstroskySpainIvan Magalhaes RENEWAL
Faith L KuskoGermanyAsiya Javayant UNQUALIFIED
Arvin N WieserIndiaAsiya Javayant NEGOTIATION
Aruna M CampainRussiaIoni Bowcher PROPOSAL
Jeanfrancois A NestleJapanBernardo Dominic NEGOTIATION
Jones Q MacleadItalyAnna Fali PROPOSAL
Julie Y NestleArgentinaXuxue Feng NEW
Chavez B ButtUnited KingdomElwin Sharvill UNQUALIFIED
Morrow G CaldareraBrazilAmy Elsner NEGOTIATION
Sinclair P MaletUnited KingdomAnna Fali UNQUALIFIED
Smith M TollnerArgentinaStephen Shaw UNQUALIFIED
Izzy V BowleyGermanyAnna Fali RENEWAL
Juan S KuskoUnited KingdomAmy Elsner UNQUALIFIED
Salvatore F DoeCanadaStephen Shaw QUALIFIED
Jones Z PoquetteItalyAnna Fali QUALIFIED
David W MacleadUnited KingdomAmy Elsner NEGOTIATION
Arvin S SergiUnited KingdomBernardo Dominic PROPOSAL
Stacey F FigeroaUnited KingdomOnyama Limba NEGOTIATION
Antonio M SchemmerBrazilStephen Shaw NEGOTIATION
Clifford E CampainBrazilOnyama Limba NEW
Deepesh F PaprockiRussiaAsiya Javayant NEGOTIATION
Faith Z SlusarskiRussiaBernardo Dominic NEW
Kaitlin C BriddickUnited KingdomIoni Bowcher QUALIFIED
Clifford O KuskoUnited KingdomOnyama Limba NEGOTIATION
Arvin K ShinkoRussiaAsiya Javayant QUALIFIED
Antonio Y PoquetteArgentinaIvan Magalhaes QUALIFIED
Munro F MarrierRussiaIoni Bowcher UNQUALIFIED
Kadeem A FollerItalyIvan Magalhaes QUALIFIED
Jefferson X AlbaresSpainIoni Bowcher PROPOSAL
Kaitlin W VocelkaIndiaIvan Magalhaes PROPOSAL
Misaki Y DoeRussiaStephen Shaw QUALIFIED
Deepesh X MaletAustraliaAsiya Javayant QUALIFIED
Aditya M PaprockiRussiaAsiya Javayant PROPOSAL
Nicolas Q MorascaIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony A FigeroaGermanyStephen Shaw QUALIFIED
Rodrigues Q GillianItalyElwin Sharvill UNQUALIFIED
Sinclair U DarakjyAustraliaIoni Bowcher NEGOTIATION
Salvatore G SaylorsCanadaXuxue Feng QUALIFIED
Arvin J IturbideCanadaBernardo Dominic PROPOSAL
Sinclair P MorascaFranceAnna Fali UNQUALIFIED
Isabel O FollerFranceElwin Sharvill NEGOTIATION
Emily L InouyeRussiaElwin Sharvill QUALIFIED
Chavez T FollerIndiaAsiya Javayant NEW
Leon Z FerenczArgentinaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki G ChuiFrance2024-05-21Chanay, Jeffrey A Esq QUALIFIED62Ioni Bowcher
1001Leja L BologniaRussia2024-05-05Feltz Printing Service RENEWAL78Ioni Bowcher
1002Costa Q WhobreySpain2024-05-20Rangoni Of Florence PROPOSAL31Elwin Sharvill
1003Antonio O CaudyArgentina2024-04-30Dorl, James J Esq NEW2Bernardo Dominic
1004Kaitlin Z BriddickAustralia2024-05-15Morlong Associates UNQUALIFIED1Ivan Magalhaes
1005Sinclair E DilliardSpain2024-05-22Chapman, Ross E Esq NEGOTIATION79Bernardo Dominic
1006Mayumi E FlosiGermany2024-05-01Commercial Press NEW30Elwin Sharvill
1007Aika U FerenczAustralia2024-05-01Dorl, James J Esq RENEWAL18Ivan Magalhaes
1008Wickens D GlickJapan2024-05-27Chanay, Jeffrey A Esq NEGOTIATION86Anna Fali
1009Salvatore Z MacleadArgentina2024-05-07Rangoni Of Florence NEGOTIATION23Ivan Magalhaes
1010Clifford B SchemmerRussia2024-05-02King, Christopher A Esq UNQUALIFIED1Onyama Limba
1011Isabel M DilliardItaly2024-05-08Printing Dimensions UNQUALIFIED15Ioni Bowcher
1012Mayumi U MaletGermany2024-05-15Chapman, Ross E Esq NEGOTIATION12Onyama Limba
1013Aika J WieserFrance2024-04-29King, Christopher A Esq UNQUALIFIED97Xuxue Feng
1014Ricardo G KuskoArgentina2024-05-06Rousseaux, Michael Esq NEGOTIATION25Ivan Magalhaes
1015Misaki Z BologniaFrance2024-05-01Feiner Bros NEW26Bernardo Dominic
1016Jones V IturbideJapan2024-05-07Morlong Associates RENEWAL97Xuxue Feng
1017Deepesh U PerinBrazil2024-05-11Truhlar And Truhlar Attys QUALIFIED2Xuxue Feng
1018Maisha J OstroskyIndia2024-05-23Printing Dimensions NEGOTIATION41Anna Fali
1019Rodrigues C WaycottUnited Kingdom2024-05-26Chemel, James L Cpa NEGOTIATION64Anna Fali
1020Jennifer F GauchoCanada2024-04-28Feltz Printing Service QUALIFIED22Ioni Bowcher
1021Munro V AmigonGermany2024-05-24Feltz Printing Service RENEWAL31Bernardo Dominic
1022Munro W GillianCanada2024-05-16Feltz Printing Service NEW62Anna Fali
1023Murillo U SchemmerRussia2024-05-18Feiner Bros QUALIFIED40Xuxue Feng
1024Arvin M VocelkaUnited Kingdom2024-05-09King, Christopher A Esq QUALIFIED89Anna Fali
1025Greenwood F AlbaresIndia2024-05-02Feiner Bros RENEWAL80Elwin Sharvill
1026Wickens Q ButtSpain2024-05-20Printing Dimensions UNQUALIFIED95Elwin Sharvill
1027Francesco K GlickFrance2024-05-03Printing Dimensions NEW95Stephen Shaw
1028Aditya C VocelkaCanada2024-05-18Benton, John B Jr NEGOTIATION50Asiya Javayant
1029Stacey U FlosiUnited Kingdom2024-05-17Morlong Associates RENEWAL15Elwin Sharvill
1030Smith B PaprockiGermany2024-05-17Printing Dimensions NEW66Ioni Bowcher
1031Mayumi S RutaGermany2024-05-08Rousseaux, Michael Esq UNQUALIFIED25Xuxue Feng
1032Misaki V PerinAustralia2024-05-13Commercial Press NEGOTIATION36Bernardo Dominic
1033Isabel Y TollnerCanada2024-04-30Rangoni Of Florence RENEWAL27Bernardo Dominic
1034Clifford N BologniaUnited Kingdom2024-04-28Rousseaux, Michael Esq PROPOSAL11Ivan Magalhaes
1035David Q CampainAustralia2024-04-28Buckley Miller Wright NEGOTIATION65Elwin Sharvill
1036Ivar T StensethFrance2024-04-30Printing Dimensions NEW28Xuxue Feng
1037Emily U DoeGermany2024-05-20King, Christopher A Esq PROPOSAL74Stephen Shaw
1038Alejandro S PaprockiFrance2024-05-14Feltz Printing Service NEGOTIATION1Amy Elsner
1039Aditya M SlusarskiArgentina2024-05-26Rangoni Of Florence PROPOSAL97Stephen Shaw
1040Sinclair R KolmetzSpain2024-05-05Rousseaux, Michael Esq RENEWAL58Anna Fali
1041Jeanfrancois L WieserUnited Kingdom2024-05-18Morlong Associates QUALIFIED87Anna Fali
1042Sinclair K ShinkoAustralia2024-05-17Commercial Press UNQUALIFIED74Anna Fali
1043Aruna Q AlbaresGermany2024-05-04Rousseaux, Michael Esq UNQUALIFIED55Asiya Javayant
1044Aditya O AlbaresItaly2024-05-01King, Christopher A Esq NEW99Ivan Magalhaes
1045James D StensethGermany2024-04-29Morlong Associates PROPOSAL3Ivan Magalhaes
1046Silvio H GillianArgentina2024-05-01Chemel, James L Cpa NEGOTIATION55Xuxue Feng
1047Johnson K GarufiItaly2024-05-19Truhlar And Truhlar Attys RENEWAL7Asiya Javayant
1048Jones J KolmetzSpain2024-05-05Rangoni Of Florence PROPOSAL53Xuxue Feng
1049Deepesh T MacleadBrazil2024-05-10Chapman, Ross E Esq PROPOSAL42Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ashley I NestleCanadaXuxue Feng RENEWAL
Claire Z DoeArgentinaIvan Magalhaes NEGOTIATION
Claire C PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Maisha R StockhamUnited KingdomElwin Sharvill RENEWAL
Tony D StensethAustraliaOnyama Limba QUALIFIED
Aruna S ButtJapanIoni Bowcher NEGOTIATION
Ivar X GillianSpainBernardo Dominic QUALIFIED
Costa B PoquetteFranceAnna Fali UNQUALIFIED
Clifford Y InouyeGermanyAmy Elsner RENEWAL
Aika V MaletSpainStephen Shaw UNQUALIFIED
Murillo Y RulapaughArgentinaIoni Bowcher RENEWAL
Nicolas W CaudyFranceIvan Magalhaes UNQUALIFIED
Ashley K GillianArgentinaOnyama Limba RENEWAL
Emily G CaldareraCanadaBernardo Dominic QUALIFIED
Ashley H IturbideGermanyIvan Magalhaes UNQUALIFIED
Clifford T RimIndiaElwin Sharvill PROPOSAL
Munro V GarufiArgentinaIvan Magalhaes NEW
Smith A RoysterFranceIoni Bowcher NEW
Kadeem T AmigonGermanyOnyama Limba RENEWAL
Salvatore P SchemmerIndiaAmy Elsner UNQUALIFIED
Mujtaba C GarufiFranceOnyama Limba NEGOTIATION
Emily B MaletGermanyAnna Fali UNQUALIFIED
Octavia E PerinItalyElwin Sharvill PROPOSAL
Jones Z ShinkoCanadaOnyama Limba NEGOTIATION
Rodrigues G WieserItalyXuxue Feng UNQUALIFIED
Francesco B SlusarskiRussiaOnyama Limba NEW
Isabel U OstroskyItalyAsiya Javayant RENEWAL
Mujtaba L AmigonArgentinaAmy Elsner NEGOTIATION
Greenwood P GillianIndiaElwin Sharvill RENEWAL
Cody Y FerenczAustraliaIvan Magalhaes NEW
Nicolas S IturbideRussiaBernardo Dominic UNQUALIFIED
Claire J FlosiRussiaElwin Sharvill NEGOTIATION
Morrow R RulapaughRussiaAnna Fali PROPOSAL
Maria J FerenczAustraliaXuxue Feng QUALIFIED
Munro L SaylorsIndiaIoni Bowcher NEGOTIATION
Murillo U OstroskyUnited KingdomStephen Shaw NEW
Nicolas T StockhamJapanBernardo Dominic UNQUALIFIED
Claire C InouyeIndiaBernardo Dominic NEW
Juan D SergiArgentinaAsiya Javayant RENEWAL
Johnson B PerinUnited KingdomIvan Magalhaes QUALIFIED
David O GarufiBrazilStephen Shaw NEGOTIATION
Juan R MarrierFranceIvan Magalhaes PROPOSAL
Faith B PoquetteJapanAsiya Javayant RENEWAL
Jennifer G SchemmerRussiaBernardo Dominic PROPOSAL
Maisha O WhobreyFranceXuxue Feng QUALIFIED
Jeanfrancois M CaudyGermanyElwin Sharvill UNQUALIFIED
Mujtaba E StensethGermanyAnna Fali NEGOTIATION
Arvin S MaletCanadaIoni Bowcher PROPOSAL
Ashley A FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Tony I AlbaresGermanyIvan Magalhaes RENEWAL
Frozen Columns
Name
Adams Q Ferencz
Cody B Foller
Salvatore H Nicka
Jennifer L Iturbide
Ashley A Morasca
Maria R Stenseth
Stacey P Oldroyd
Leja Y Ostrosky
Alejandro J Royster
Kaitlin T Albares
Izzy F Iturbide
Ricardo G Maclead
Johnson L Gillian
Octavia D Stockham
Mujtaba P Whobrey
Ivar C Amigon
Costa T Paprocki
James J Venere
Aika L Inouye
Leon A Glick
Leja M Saylors
Sinclair H Bolognia
Deepesh X Ostrosky
Darci M Morasca
Julie M Caldarera
Jennifer O Wieser
Aditya O Slusarski
Jefferson K Shinko
Misaki V Gaucho
Adams B Foller
Murillo T Darakjy
Morrow R Campain
Stacey N Whobrey
Smith M Garufi
Maisha K Gaucho
Francesco U Perin
Jennifer B Stockham
James N Vocelka
David X Maclead
Sinclair E Ferencz
Darci H Waycott
Wickens E Iturbide
Salvatore Y Ostrosky
Tony Z Gaucho
Mujtaba W Malet
Greenwood D Saylors
Arvin D Waycott
Maisha Y Ferencz
Chavez T Darakjy
Ricardo V Stenseth
IdCountryDate
1000Australia2024-05-05
1001Germany2024-05-20
1002Brazil2024-05-25
1003Italy2024-05-16
1004Australia2024-05-19
1005Brazil2024-05-06
1006India2024-05-18
1007Brazil2024-05-22
1008Italy2024-05-01
1009Japan2024-04-29
1010Germany2024-04-28
1011Germany2024-05-08
1012Spain2024-05-21
1013United Kingdom2024-05-22
1014Germany2024-05-02
1015Australia2024-05-24
1016Germany2024-05-15
1017Brazil2024-05-23
1018Germany2024-05-03
1019Russia2024-05-10
1020Canada2024-05-03
1021Germany2024-05-21
1022United Kingdom2024-05-24
1023Argentina2024-05-15
1024United Kingdom2024-05-26
1025Brazil2024-05-02
1026Argentina2024-05-08
1027Australia2024-05-24
1028United Kingdom2024-05-26
1029Argentina2024-04-28
1030France2024-05-27
1031Italy2024-05-07
1032United Kingdom2024-05-05
1033United Kingdom2024-05-02
1034Canada2024-05-17
1035Spain2024-05-03
1036Germany2024-05-19
1037Russia2024-05-02
1038Australia2024-05-17
1039Canada2024-05-19
1040United Kingdom2024-05-13
1041Brazil2024-05-16
1042Japan2024-05-06
1043Argentina2024-05-18
1044Italy2024-05-11
1045France2024-05-06
1046Australia2024-05-15
1047Russia2024-04-28
1048France2024-05-22
1049Germany2024-05-21

On-Demand Data

NameIdCountryDate
Silvio F Wieser1000Italy2024-05-16
Arvin G Saylors1001Japan2024-05-13
Octavia T Darakjy1002Japan2024-05-16
Claire H Malet1003Germany2024-05-24
Ashley W Ruta1004India2024-05-25
Arvin E Figeroa1005France2024-05-27
Leon C Caldarera1006Italy2024-05-03
Smith L Malet1007Argentina2024-05-11
Kaitlin N Whobrey1008United Kingdom2024-04-28
Smith A Campain1009Germany2024-05-19
Cody A Poquette1010Germany2024-04-28
Arvin Y Rulapaugh1011United Kingdom2024-05-04
Emily F Waycott1012Russia2024-05-22
Alejandro M Malet1013Brazil2024-05-16
Costa M Amigon1014United Kingdom2024-05-04
Isabel U Iturbide1015France2024-05-25
James L Bolognia1016Spain2024-05-10
Stacey B Nicka1017United Kingdom2024-05-08
Morrow N Gaucho1018Italy2024-05-14
Stacey U Glick1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha M FollerSpainElwin Sharvill QUALIFIED
Jeanfrancois P OldroydAustraliaStephen Shaw PROPOSAL
Salvatore F GarufiFranceBernardo Dominic RENEWAL
Emily N FlosiBrazilAsiya Javayant NEGOTIATION
Aditya R BriddickAustraliaElwin Sharvill RENEWAL
Kaitlin T DarakjyJapanAsiya Javayant NEGOTIATION
Aruna I CaldareraFranceElwin Sharvill UNQUALIFIED
Maria O StockhamRussiaAmy Elsner NEW
Antonio M InouyeFranceIvan Magalhaes NEW
Silvio W OstroskyBrazilAsiya Javayant NEW
David F GlickSpainStephen Shaw PROPOSAL
Faith O BologniaBrazilIvan Magalhaes QUALIFIED
Jeanfrancois O MaletUnited KingdomAsiya Javayant QUALIFIED
Aditya G WaycottIndiaBernardo Dominic UNQUALIFIED
Emily V AmigonRussiaAnna Fali QUALIFIED
Kadeem E ChuiRussiaAsiya Javayant RENEWAL
James F NickaGermanyBernardo Dominic QUALIFIED
Clifford M MarrierAustraliaAsiya Javayant NEW
Jennifer A SlusarskiCanadaAsiya Javayant NEW
Sinclair X GauchoArgentinaStephen Shaw QUALIFIED
Kaitlin G ButtBrazilIvan Magalhaes NEGOTIATION
Silvio J MacleadUnited KingdomIvan Magalhaes NEW
Leon O SlusarskiJapanIoni Bowcher PROPOSAL
Mayumi A KolmetzArgentinaIvan Magalhaes NEW
Costa D GauchoItalyXuxue Feng QUALIFIED
Adams U PoquetteBrazilXuxue Feng NEW
Sinclair A BriddickAustraliaIvan Magalhaes NEW
Stacey K PaprockiBrazilXuxue Feng NEGOTIATION
Wickens P RulapaughBrazilXuxue Feng QUALIFIED
Jennifer S PaprockiIndiaIvan Magalhaes PROPOSAL
Jennifer Y PerinGermanyIvan Magalhaes NEW
Mujtaba Z DarakjyBrazilAmy Elsner QUALIFIED
Kaitlin C ButtCanadaElwin Sharvill NEW
Arvin S FollerSpainOnyama Limba NEGOTIATION
Julie Y OldroydUnited KingdomStephen Shaw NEW
Antonio T GlickAustraliaStephen Shaw QUALIFIED
Juan A OstroskyCanadaXuxue Feng NEW
Emily M SergiAustraliaAsiya Javayant NEW
Alejandro M GillianJapanBernardo Dominic NEGOTIATION
Juan W OldroydArgentinaAnna Fali 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>