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
Mayumi O MarrierRussiaBernardo Dominic UNQUALIFIED
Francesco Z WhobreyFranceIoni Bowcher UNQUALIFIED
Misaki L SlusarskiIndiaXuxue Feng RENEWAL
Jefferson A StensethFranceIoni Bowcher UNQUALIFIED
Salvatore B ShinkoFranceAnna Fali PROPOSAL
Rodrigues G FerenczUnited KingdomOnyama Limba NEW
Juan L MacleadUnited KingdomAmy Elsner NEW
Nicolas F StensethUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair R RutaFranceIvan Magalhaes UNQUALIFIED
Arvin E MacleadItalyStephen Shaw PROPOSAL
Rodrigues N KolmetzSpainStephen Shaw NEW
Sinclair S FigeroaCanadaAsiya Javayant QUALIFIED
Mujtaba U PaprockiAustraliaIvan Magalhaes QUALIFIED
David S BriddickRussiaAnna Fali QUALIFIED
James T MacleadFranceIvan Magalhaes UNQUALIFIED
Tony G NestleArgentinaXuxue Feng PROPOSAL
Greenwood H SergiRussiaIoni Bowcher PROPOSAL
Kaitlin R DoeJapanStephen Shaw RENEWAL
Adams O IturbideSpainStephen Shaw NEGOTIATION
Jefferson L FlosiRussiaAsiya Javayant QUALIFIED
Jones E ShinkoRussiaIoni Bowcher NEGOTIATION
Greenwood G FollerRussiaAnna Fali NEW
Murillo Q GarufiJapanAmy Elsner PROPOSAL
Morrow J GauchoIndiaOnyama Limba NEW
Rodrigues B BowleyBrazilAmy Elsner UNQUALIFIED
Chavez N CaudyCanadaAmy Elsner RENEWAL
Aika U TollnerArgentinaStephen Shaw UNQUALIFIED
Aditya M RulapaughSpainAmy Elsner RENEWAL
Morrow O SaylorsSpainElwin Sharvill NEGOTIATION
Clifford N KuskoUnited KingdomOnyama Limba RENEWAL
Alejandro I NestleRussiaBernardo Dominic NEW
Aditya F MarrierIndiaXuxue Feng RENEWAL
Jeanfrancois D RimIndiaElwin Sharvill NEGOTIATION
Isabel Q SaylorsIndiaStephen Shaw PROPOSAL
Isabel O DoeItalyIvan Magalhaes QUALIFIED
Aditya Z SergiArgentinaAmy Elsner UNQUALIFIED
Jefferson N CaldareraJapanOnyama Limba NEGOTIATION
Rodrigues J VenereUnited KingdomStephen Shaw NEGOTIATION
Kaitlin B AmigonSpainElwin Sharvill NEW
Adams V MaletUnited KingdomAmy Elsner PROPOSAL
Octavia D StensethItalyOnyama Limba NEGOTIATION
Mujtaba G OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Clifford U GillianArgentinaAnna Fali NEW
Cody Z CampainCanadaXuxue Feng UNQUALIFIED
Juan Y RutaCanadaElwin Sharvill RENEWAL
Maria E MaletCanadaAmy Elsner QUALIFIED
Ivar S WieserCanadaIoni Bowcher UNQUALIFIED
Izzy F ButtSpainAmy Elsner QUALIFIED
Maisha C GarufiItalyElwin Sharvill UNQUALIFIED
Maisha L KolmetzArgentinaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna G GarufiRussiaAmy Elsner NEW
Sinclair X BologniaJapanIoni Bowcher UNQUALIFIED
Munro Y AlbaresCanadaIoni Bowcher NEGOTIATION
Ivar L RulapaughGermanyAsiya Javayant PROPOSAL
Silvio S RulapaughIndiaAmy Elsner PROPOSAL
Nicolas A SaylorsCanadaBernardo Dominic QUALIFIED
Salvatore H IturbideRussiaIoni Bowcher UNQUALIFIED
Clifford M DoeBrazilAsiya Javayant RENEWAL
James G PerinJapanAsiya Javayant NEW
Stacey A NickaJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja U WaycottArgentina2024-05-22Buckley Miller Wright PROPOSAL57Ioni Bowcher
1001Aditya C NestleBrazil2024-05-27Commercial Press PROPOSAL95Elwin Sharvill
1002David Z WieserFrance2024-06-12Feiner Bros UNQUALIFIED55Onyama Limba
1003Adams U PerinUnited Kingdom2024-05-24Chapman, Ross E Esq QUALIFIED67Bernardo Dominic
1004Salvatore I WaycottArgentina2024-05-25Printing Dimensions PROPOSAL32Ivan Magalhaes
1005Octavia V MorascaSpain2024-05-23King, Christopher A Esq NEW73Onyama Limba
1006Ricardo A VenereSpain2024-05-20Feltz Printing Service UNQUALIFIED6Stephen Shaw
1007Chavez T KolmetzCanada2024-05-31Printing Dimensions QUALIFIED40Xuxue Feng
1008Emily F GlickIndia2024-06-01Morlong Associates NEGOTIATION8Stephen Shaw
1009Tony Y ShinkoFrance2024-06-16Chemel, James L Cpa UNQUALIFIED26Ivan Magalhaes
1010Wickens V NickaItaly2024-05-31Feiner Bros NEGOTIATION82Onyama Limba
1011Jennifer M SaylorsAustralia2024-05-22Truhlar And Truhlar Attys QUALIFIED13Asiya Javayant
1012Antonio H DoeJapan2024-05-19Morlong Associates UNQUALIFIED21Asiya Javayant
1013Mayumi C FigeroaArgentina2024-06-10Printing Dimensions RENEWAL20Xuxue Feng
1014Jeanfrancois N ChuiIndia2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED58Ivan Magalhaes
1015Kaitlin W InouyeSpain2024-06-17Feiner Bros RENEWAL25Xuxue Feng
1016Stacey Y FigeroaFrance2024-05-22Chanay, Jeffrey A Esq RENEWAL3Ivan Magalhaes
1017David U DarakjyItaly2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED82Ivan Magalhaes
1018Deepesh I StockhamBrazil2024-06-02Benton, John B Jr NEGOTIATION85Stephen Shaw
1019Munro C FlosiSpain2024-05-26Feltz Printing Service PROPOSAL39Stephen Shaw
1020Silvio V MaletJapan2024-06-04Benton, John B Jr NEW20Onyama Limba
1021Salvatore R DilliardFrance2024-05-27Dorl, James J Esq QUALIFIED13Amy Elsner
1022Francesco L RoysterUnited Kingdom2024-06-13Feiner Bros UNQUALIFIED32Stephen Shaw
1023Maisha I RoysterUnited Kingdom2024-06-11Dorl, James J Esq RENEWAL65Anna Fali
1024Alejandro L GarufiCanada2024-05-26Truhlar And Truhlar Attys NEW81Amy Elsner
1025Octavia W CaudyItaly2024-05-22Commercial Press PROPOSAL16Ioni Bowcher
1026Johnson P StockhamAustralia2024-06-02Chemel, James L Cpa PROPOSAL3Bernardo Dominic
1027Arvin D DarakjyAustralia2024-06-13Morlong Associates UNQUALIFIED84Ioni Bowcher
1028Jones I WaycottRussia2024-05-23Dorl, James J Esq QUALIFIED50Elwin Sharvill
1029Salvatore F NickaJapan2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED76Anna Fali
1030Wickens Q IturbideUnited Kingdom2024-06-16Morlong Associates PROPOSAL47Stephen Shaw
1031Smith L PaprockiAustralia2024-05-20Rangoni Of Florence NEGOTIATION6Elwin Sharvill
1032Alejandro Z FlosiBrazil2024-06-07Rangoni Of Florence QUALIFIED59Xuxue Feng
1033David J FlosiAustralia2024-06-02Benton, John B Jr PROPOSAL10Asiya Javayant
1034Izzy T SchemmerJapan2024-06-16King, Christopher A Esq RENEWAL96Ioni Bowcher
1035Alejandro B BriddickArgentina2024-05-24Benton, John B Jr RENEWAL4Asiya Javayant
1036Deepesh Z RulapaughRussia2024-05-30Dorl, James J Esq RENEWAL93Stephen Shaw
1037Sinclair E DoeSpain2024-05-29Printing Dimensions PROPOSAL5Anna Fali
1038Juan B IturbideGermany2024-05-19Truhlar And Truhlar Attys NEW62Onyama Limba
1039Misaki J KolmetzCanada2024-05-29Chanay, Jeffrey A Esq NEGOTIATION88Asiya Javayant
1040Clifford J FerenczFrance2024-06-01Morlong Associates NEGOTIATION74Xuxue Feng
1041Leon U FerenczArgentina2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED10Amy Elsner
1042Emily F IturbideCanada2024-05-26Printing Dimensions PROPOSAL91Amy Elsner
1043Jones M WhobreyJapan2024-05-26Rousseaux, Michael Esq RENEWAL79Ioni Bowcher
1044Ricardo I NestleItaly2024-06-14Truhlar And Truhlar Attys QUALIFIED88Ioni Bowcher
1045Darci V SchemmerBrazil2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED8Onyama Limba
1046Jeanfrancois V NestleBrazil2024-06-10Chemel, James L Cpa PROPOSAL77Ioni Bowcher
1047Adams Q RulapaughIndia2024-06-04King, Christopher A Esq RENEWAL29Ioni Bowcher
1048Jennifer W DarakjyUnited Kingdom2024-06-07Chemel, James L Cpa PROPOSAL66Ivan Magalhaes
1049Mayumi H RulapaughFrance2024-05-25Rangoni Of Florence RENEWAL92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey G NickaUnited KingdomBernardo Dominic RENEWAL
Smith Z SchemmerGermanyAmy Elsner PROPOSAL
Darci C VocelkaItalyStephen Shaw UNQUALIFIED
Julie D FigeroaAustraliaBernardo Dominic QUALIFIED
David N FlosiUnited KingdomAnna Fali RENEWAL
Munro S VocelkaGermanyXuxue Feng PROPOSAL
Faith F TollnerSpainOnyama Limba RENEWAL
Stacey Y DarakjyArgentinaAmy Elsner QUALIFIED
Johnson Z PoquetteFranceIoni Bowcher QUALIFIED
Murillo K DarakjyFranceOnyama Limba QUALIFIED
Alejandro T VocelkaArgentinaIoni Bowcher QUALIFIED
Salvatore T PerinGermanyBernardo Dominic RENEWAL
Munro Q DoeAustraliaElwin Sharvill QUALIFIED
Aruna P GauchoBrazilAmy Elsner QUALIFIED
Kadeem L PerinSpainElwin Sharvill PROPOSAL
Leon F IturbideUnited KingdomBernardo Dominic RENEWAL
Faith C OstroskyJapanAmy Elsner RENEWAL
James U FollerRussiaAmy Elsner QUALIFIED
Alejandro X VenereIndiaAmy Elsner PROPOSAL
Jennifer E IturbideFranceIoni Bowcher NEGOTIATION
Costa J NestleSpainBernardo Dominic NEW
Clifford F StockhamRussiaIoni Bowcher NEGOTIATION
Isabel E MacleadJapanStephen Shaw RENEWAL
Nicolas S MaletRussiaIoni Bowcher NEW
Sinclair N MacleadArgentinaStephen Shaw NEGOTIATION
Aruna L SaylorsUnited KingdomAsiya Javayant QUALIFIED
Claire Y BowleyFranceXuxue Feng NEGOTIATION
Alejandro L OstroskyBrazilAsiya Javayant UNQUALIFIED
Jones R MorascaJapanElwin Sharvill QUALIFIED
David S VenereCanadaIvan Magalhaes NEGOTIATION
Leon W IturbideBrazilElwin Sharvill PROPOSAL
Darci P WhobreyArgentinaAmy Elsner NEW
Francesco E RutaSpainAmy Elsner NEGOTIATION
Adams V RutaItalyElwin Sharvill UNQUALIFIED
Julie T RimFranceIvan Magalhaes NEW
Jeanfrancois U FerenczArgentinaIoni Bowcher NEW
Alejandro V WaycottGermanyStephen Shaw NEW
Izzy I GlickArgentinaOnyama Limba NEGOTIATION
Johnson V AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Maria F InouyeUnited KingdomElwin Sharvill NEW
Chavez M WaycottArgentinaAsiya Javayant UNQUALIFIED
Johnson O MorascaSpainIvan Magalhaes NEGOTIATION
Ashley Q SlusarskiGermanyAnna Fali QUALIFIED
Cody M BologniaRussiaAsiya Javayant UNQUALIFIED
Smith U DilliardItalyOnyama Limba RENEWAL
Johnson T NestleSpainBernardo Dominic PROPOSAL
Stacey R GauchoItalyBernardo Dominic NEW
Stacey R MarrierIndiaOnyama Limba PROPOSAL
Claire C GillianUnited KingdomElwin Sharvill QUALIFIED
Izzy A GillianSpainAnna Fali RENEWAL
Frozen Columns
Name
Munro R Malet
Jones M Malet
Kadeem X Dilliard
Adams K Gaucho
Alejandro F Stockham
Antonio B Briddick
Wickens H Saylors
Costa Z Doe
Arvin C Nestle
Aditya D Chui
Johnson T Malet
Mayumi U Oldroyd
Silvio O Iturbide
Rodrigues A Wieser
Jennifer T Perin
Jones G Briddick
Ashley H Maclead
Jones F Royster
Jeanfrancois Y Ferencz
Octavia X Stockham
Jennifer I Doe
Maria X Butt
Isabel P Gaucho
Greenwood H Chui
Smith Y Venere
Kadeem S Figeroa
Isabel C Wieser
Maisha X Stenseth
Faith P Albares
Arvin K Malet
Murillo L Wieser
Aruna Y Gaucho
Izzy F Shinko
Isabel Y Oldroyd
Kaitlin U Saylors
Mayumi Q Maclead
Wickens S Doe
Aditya P Waycott
Rodrigues L Gillian
Isabel Q Vocelka
Leja D Tollner
Juan O Glick
Leja E Rulapaugh
Greenwood Z Nicka
Ricardo H Royster
Stacey L Rulapaugh
Rodrigues L Ruta
Mujtaba X Inouye
Jefferson L Maclead
Jennifer A Albares
IdCountryDate
1000Japan2024-06-13
1001Russia2024-06-15
1002Japan2024-06-07
1003Germany2024-06-12
1004Argentina2024-06-02
1005France2024-06-11
1006Brazil2024-05-26
1007Canada2024-06-03
1008United Kingdom2024-05-25
1009United Kingdom2024-06-13
1010Italy2024-05-23
1011Germany2024-05-30
1012Canada2024-06-11
1013Spain2024-06-12
1014Brazil2024-06-10
1015Canada2024-06-06
1016Japan2024-06-17
1017France2024-05-20
1018France2024-06-06
1019Italy2024-05-30
1020India2024-06-05
1021France2024-06-17
1022Australia2024-05-27
1023Spain2024-06-11
1024Australia2024-06-02
1025Spain2024-06-14
1026Russia2024-06-02
1027Japan2024-05-31
1028France2024-06-09
1029Russia2024-05-30
1030Canada2024-05-25
1031United Kingdom2024-05-21
1032Canada2024-05-29
1033Russia2024-05-26
1034Brazil2024-06-07
1035Italy2024-05-25
1036Italy2024-05-19
1037Russia2024-06-16
1038Canada2024-05-28
1039Spain2024-06-07
1040Argentina2024-05-26
1041Japan2024-05-28
1042France2024-06-08
1043Spain2024-05-28
1044France2024-06-03
1045Australia2024-06-11
1046Canada2024-06-08
1047Germany2024-06-01
1048Canada2024-06-05
1049Germany2024-05-30

On-Demand Data

NameIdCountryDate
Clifford U Amigon1000Brazil2024-05-24
Kadeem K Sergi1001Japan2024-05-27
Leja D Caldarera1002Russia2024-05-26
Ricardo J Kolmetz1003Italy2024-05-23
Alejandro R Glick1004Japan2024-06-11
Isabel S Tollner1005Italy2024-05-28
Izzy E Butt1006Germany2024-05-27
Jeanfrancois P Butt1007Spain2024-06-13
Julie F Bolognia1008Argentina2024-05-21
Jeanfrancois V Glick1009Japan2024-05-22
Stacey N Rim1010France2024-06-04
Wickens S Oldroyd1011Spain2024-06-01
Chavez X Sergi1012Brazil2024-05-25
Francesco Z Sergi1013Russia2024-06-09
Chavez J Tollner1014Spain2024-06-13
Darci C Vocelka1015India2024-05-23
Sinclair M Campain1016Australia2024-05-23
Darci M Darakjy1017Germany2024-06-15
Johnson F Oldroyd1018Russia2024-05-30
Jeanfrancois Z Slusarski1019India2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar F VocelkaIndiaStephen Shaw NEW
Deepesh P DilliardJapanXuxue Feng QUALIFIED
Greenwood S PerinRussiaIvan Magalhaes UNQUALIFIED
Leon E WaycottArgentinaIvan Magalhaes NEGOTIATION
Izzy W NickaIndiaXuxue Feng RENEWAL
Wickens N DoeUnited KingdomAnna Fali UNQUALIFIED
Sinclair D VenereArgentinaXuxue Feng RENEWAL
Faith X MacleadRussiaBernardo Dominic UNQUALIFIED
Jones O SchemmerUnited KingdomAnna Fali RENEWAL
Tony A OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Leon A IturbideRussiaIvan Magalhaes QUALIFIED
Aditya F RimUnited KingdomAsiya Javayant PROPOSAL
James Z GauchoFranceOnyama Limba NEW
Arvin C NickaRussiaIvan Magalhaes NEGOTIATION
Aruna Z KuskoJapanIvan Magalhaes QUALIFIED
Clifford N VocelkaArgentinaXuxue Feng RENEWAL
Kaitlin P KuskoItalyIvan Magalhaes RENEWAL
Mayumi C RimUnited KingdomXuxue Feng RENEWAL
Kadeem I MaletArgentinaAnna Fali NEGOTIATION
Julie S RoysterItalyAnna Fali NEGOTIATION
Emily M RoysterArgentinaBernardo Dominic QUALIFIED
Wickens G SchemmerItalyOnyama Limba NEW
Alejandro T PoquetteArgentinaAsiya Javayant PROPOSAL
Leon J WhobreyIndiaElwin Sharvill NEGOTIATION
Jeanfrancois C WieserItalyElwin Sharvill UNQUALIFIED
Kaitlin P MacleadSpainBernardo Dominic RENEWAL
Jeanfrancois X MaletItalyAsiya Javayant NEGOTIATION
Octavia P RimArgentinaAnna Fali UNQUALIFIED
Silvio U PaprockiJapanBernardo Dominic PROPOSAL
Octavia P RimArgentinaAsiya Javayant NEW
Clifford O DilliardFranceBernardo Dominic PROPOSAL
Izzy G ChuiAustraliaBernardo Dominic UNQUALIFIED
Antonio Q CampainIndiaStephen Shaw QUALIFIED
David M WaycottJapanAmy Elsner UNQUALIFIED
Leja P IturbideArgentinaAsiya Javayant QUALIFIED
Arvin U GillianUnited KingdomAsiya Javayant NEGOTIATION
Aika E GillianJapanOnyama Limba PROPOSAL
Cody Z GauchoJapanOnyama Limba UNQUALIFIED
Jones C StockhamCanadaStephen Shaw NEW
Salvatore D TollnerJapanBernardo Dominic 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>