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
Munro S BriddickAustraliaOnyama Limba UNQUALIFIED
Misaki M GauchoGermanyStephen Shaw QUALIFIED
Ivar N OstroskyRussiaOnyama Limba NEGOTIATION
Jeanfrancois F ShinkoUnited KingdomStephen Shaw NEGOTIATION
Ashley B TollnerFranceIoni Bowcher NEGOTIATION
Misaki Y MarrierUnited KingdomIoni Bowcher NEW
Alejandro K NestleIndiaAmy Elsner UNQUALIFIED
Greenwood I SaylorsUnited KingdomStephen Shaw RENEWAL
Julie E ChuiBrazilXuxue Feng PROPOSAL
Juan X FlosiBrazilIvan Magalhaes NEGOTIATION
Maisha B CaldareraUnited KingdomElwin Sharvill RENEWAL
Chavez E CaldareraArgentinaAmy Elsner QUALIFIED
Aika P CampainItalyXuxue Feng RENEWAL
Rodrigues R CampainAustraliaStephen Shaw RENEWAL
Clifford O GlickSpainBernardo Dominic QUALIFIED
Adams Q StockhamBrazilOnyama Limba NEGOTIATION
Isabel S MaletGermanyIvan Magalhaes NEW
Ricardo X OldroydFranceAnna Fali NEW
Aruna V OldroydCanadaBernardo Dominic RENEWAL
Cody F MacleadFranceXuxue Feng NEGOTIATION
Wickens M FollerRussiaBernardo Dominic RENEWAL
Jefferson A GauchoIndiaIvan Magalhaes RENEWAL
Francesco R FlosiArgentinaAsiya Javayant RENEWAL
Ivar H GarufiBrazilElwin Sharvill QUALIFIED
Darci I RutaFranceXuxue Feng UNQUALIFIED
Izzy X VocelkaJapanAmy Elsner NEW
Jefferson Z MorascaRussiaIvan Magalhaes PROPOSAL
Faith I FollerSpainAnna Fali PROPOSAL
James K MaletFranceIoni Bowcher UNQUALIFIED
Rodrigues D FlosiUnited KingdomElwin Sharvill NEGOTIATION
Silvio B PaprockiFranceAmy Elsner NEGOTIATION
Ricardo H MaletSpainAsiya Javayant QUALIFIED
Salvatore Z ShinkoGermanyIoni Bowcher PROPOSAL
Nicolas X RutaSpainIvan Magalhaes RENEWAL
Juan R WhobreyBrazilOnyama Limba NEGOTIATION
Kaitlin S GarufiItalyBernardo Dominic UNQUALIFIED
Izzy C DarakjyItalyIoni Bowcher PROPOSAL
Kadeem Z FigeroaJapanOnyama Limba NEW
Arvin F RulapaughFranceBernardo Dominic NEW
Costa B WieserUnited KingdomAmy Elsner RENEWAL
Ricardo T PaprockiUnited KingdomAnna Fali NEGOTIATION
Octavia B ChuiGermanyAnna Fali RENEWAL
Murillo X AmigonItalyXuxue Feng QUALIFIED
Aruna Y MaletAustraliaElwin Sharvill NEGOTIATION
Ashley V GlickGermanyElwin Sharvill QUALIFIED
Rodrigues K MorascaFranceAnna Fali QUALIFIED
Ashley X FigeroaCanadaIvan Magalhaes RENEWAL
Maria K OldroydFranceIoni Bowcher NEW
Stacey U SchemmerAustraliaAsiya Javayant NEW
David Q PerinGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco N KolmetzAustraliaElwin Sharvill QUALIFIED
Jeanfrancois Y ChuiFranceAsiya Javayant NEW
Cody Y OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba X GarufiArgentinaIvan Magalhaes PROPOSAL
Mujtaba O ChuiAustraliaIvan Magalhaes NEGOTIATION
Sinclair Q GlickCanadaAsiya Javayant NEW
Francesco X FerenczRussiaXuxue Feng QUALIFIED
Sinclair T DilliardRussiaStephen Shaw QUALIFIED
Mayumi E FlosiBrazilAsiya Javayant RENEWAL
Johnson J PaprockiJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan W PerinArgentina2024-05-23Morlong Associates NEGOTIATION94Amy Elsner
1001Misaki N NestleAustralia2024-06-17Rangoni Of Florence UNQUALIFIED93Onyama Limba
1002Nicolas V InouyeUnited Kingdom2024-05-26Rangoni Of Florence NEGOTIATION11Asiya Javayant
1003Claire W TollnerBrazil2024-06-08Morlong Associates RENEWAL37Elwin Sharvill
1004Julie L SchemmerRussia2024-06-06Rangoni Of Florence QUALIFIED19Stephen Shaw
1005Murillo E CampainBrazil2024-06-21Truhlar And Truhlar Attys UNQUALIFIED9Xuxue Feng
1006Jennifer X VenereGermany2024-05-26Rousseaux, Michael Esq RENEWAL0Xuxue Feng
1007Salvatore Z RulapaughAustralia2024-06-03Feiner Bros UNQUALIFIED92Onyama Limba
1008Cody J SchemmerGermany2024-06-06Chapman, Ross E Esq QUALIFIED65Elwin Sharvill
1009Arvin N FerenczCanada2024-06-20Chapman, Ross E Esq PROPOSAL60Anna Fali
1010Smith S MacleadSpain2024-06-02Rousseaux, Michael Esq NEGOTIATION40Amy Elsner
1011Sinclair I CaldareraJapan2024-06-20Feltz Printing Service PROPOSAL2Anna Fali
1012Misaki X NickaItaly2024-06-13Chanay, Jeffrey A Esq NEGOTIATION30Ivan Magalhaes
1013Stacey K DarakjyCanada2024-06-18King, Christopher A Esq NEW71Onyama Limba
1014Clifford O MacleadArgentina2024-06-10King, Christopher A Esq RENEWAL35Xuxue Feng
1015Octavia P PaprockiUnited Kingdom2024-06-10Printing Dimensions UNQUALIFIED28Amy Elsner
1016Aika L FigeroaFrance2024-06-08Truhlar And Truhlar Attys RENEWAL84Asiya Javayant
1017Clifford O MorascaUnited Kingdom2024-06-17Chanay, Jeffrey A Esq RENEWAL95Anna Fali
1018Sinclair T CaldareraItaly2024-05-28Buckley Miller Wright PROPOSAL98Ioni Bowcher
1019Emily A PaprockiJapan2024-06-14Morlong Associates QUALIFIED96Amy Elsner
1020Alejandro F InouyeJapan2024-06-13King, Christopher A Esq QUALIFIED54Elwin Sharvill
1021David F DilliardGermany2024-06-07Morlong Associates NEGOTIATION84Bernardo Dominic
1022Munro D BowleySpain2024-06-14Truhlar And Truhlar Attys NEW10Asiya Javayant
1023Jefferson J VocelkaIndia2024-06-12Rangoni Of Florence NEGOTIATION86Anna Fali
1024Leja Y FlosiBrazil2024-05-30Chemel, James L Cpa PROPOSAL13Asiya Javayant
1025Leja P OstroskyCanada2024-06-03Feiner Bros NEGOTIATION93Xuxue Feng
1026Aditya F SaylorsAustralia2024-06-01Printing Dimensions UNQUALIFIED92Bernardo Dominic
1027David V RimFrance2024-06-19Chemel, James L Cpa RENEWAL13Bernardo Dominic
1028Jennifer S SergiSpain2024-05-24Feiner Bros QUALIFIED72Bernardo Dominic
1029Claire R ChuiAustralia2024-06-15Buckley Miller Wright NEGOTIATION21Amy Elsner
1030Adams J RimCanada2024-06-21Chapman, Ross E Esq QUALIFIED34Bernardo Dominic
1031Aruna A DilliardUnited Kingdom2024-05-31Feltz Printing Service QUALIFIED20Bernardo Dominic
1032Leon L RoysterJapan2024-06-12Feiner Bros NEW26Asiya Javayant
1033Francesco V MarrierArgentina2024-06-14Printing Dimensions UNQUALIFIED79Onyama Limba
1034Juan J RutaArgentina2024-06-19Buckley Miller Wright NEGOTIATION83Ioni Bowcher
1035Ashley P BologniaFrance2024-06-05Buckley Miller Wright UNQUALIFIED59Anna Fali
1036David D MacleadUnited Kingdom2024-06-13Printing Dimensions QUALIFIED62Bernardo Dominic
1037Aika M PerinSpain2024-05-24Chapman, Ross E Esq NEGOTIATION45Ivan Magalhaes
1038Ivar V MaletBrazil2024-05-24Commercial Press PROPOSAL28Ioni Bowcher
1039James Q WhobreyIndia2024-06-06Chapman, Ross E Esq NEW65Elwin Sharvill
1040Clifford N CaudyArgentina2024-06-10Rousseaux, Michael Esq NEW60Ivan Magalhaes
1041Julie R KuskoArgentina2024-06-15Morlong Associates NEW23Anna Fali
1042Antonio N GauchoGermany2024-06-19King, Christopher A Esq UNQUALIFIED23Amy Elsner
1043David F RulapaughBrazil2024-06-02Rangoni Of Florence UNQUALIFIED58Xuxue Feng
1044Salvatore D KolmetzAustralia2024-06-17Benton, John B Jr PROPOSAL33Ivan Magalhaes
1045Ivar P WieserIndia2024-06-19Rangoni Of Florence NEGOTIATION5Bernardo Dominic
1046Izzy R SchemmerBrazil2024-06-05Buckley Miller Wright NEW59Onyama Limba
1047Faith H SlusarskiArgentina2024-05-30Buckley Miller Wright NEGOTIATION48Asiya Javayant
1048Murillo H RoysterUnited Kingdom2024-06-21Benton, John B Jr UNQUALIFIED15Anna Fali
1049Leon S OldroydItaly2024-06-01Rousseaux, Michael Esq QUALIFIED31Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Antonio F MorascaBrazilAsiya Javayant NEGOTIATION
Faith A CampainSpainAsiya Javayant NEW
Arvin K FlosiGermanyXuxue Feng QUALIFIED
Misaki A BologniaAustraliaXuxue Feng NEGOTIATION
Costa G DarakjyItalyAmy Elsner PROPOSAL
Jennifer F MarrierArgentinaXuxue Feng NEGOTIATION
Jennifer H AlbaresIndiaIvan Magalhaes QUALIFIED
Claire I GarufiSpainElwin Sharvill UNQUALIFIED
Johnson I RimAustraliaOnyama Limba RENEWAL
Aruna T DarakjySpainIvan Magalhaes UNQUALIFIED
Aditya F SlusarskiItalyIoni Bowcher QUALIFIED
Greenwood A FlosiJapanAmy Elsner RENEWAL
Sinclair P VenereFranceIoni Bowcher UNQUALIFIED
Aruna M SergiCanadaElwin Sharvill UNQUALIFIED
Tony A SaylorsBrazilIvan Magalhaes NEGOTIATION
Julie Q FerenczRussiaAnna Fali NEGOTIATION
Kaitlin V MaletSpainElwin Sharvill RENEWAL
Costa I FerenczBrazilElwin Sharvill UNQUALIFIED
Greenwood H PaprockiItalyAsiya Javayant QUALIFIED
Clifford M CampainArgentinaIvan Magalhaes RENEWAL
Aika X OstroskyArgentinaAsiya Javayant NEW
Costa S NickaCanadaStephen Shaw PROPOSAL
Faith Z ButtUnited KingdomIvan Magalhaes QUALIFIED
Johnson M ButtBrazilAmy Elsner NEGOTIATION
Morrow X MacleadArgentinaIoni Bowcher PROPOSAL
Aruna Z PoquetteFranceAmy Elsner PROPOSAL
Aruna M BriddickBrazilStephen Shaw PROPOSAL
Costa Q MorascaBrazilIoni Bowcher UNQUALIFIED
Rodrigues B BriddickCanadaAnna Fali NEGOTIATION
Jones J InouyeBrazilAnna Fali NEGOTIATION
Mujtaba S RimAustraliaElwin Sharvill NEGOTIATION
Deepesh P WhobreyIndiaAmy Elsner NEW
Wickens G GillianGermanyBernardo Dominic PROPOSAL
Wickens Q FigeroaFranceIvan Magalhaes UNQUALIFIED
Ashley U VenereArgentinaXuxue Feng UNQUALIFIED
Alejandro U MaletIndiaIvan Magalhaes NEW
Misaki K MarrierArgentinaXuxue Feng RENEWAL
Izzy I ButtItalyAsiya Javayant UNQUALIFIED
Maria S MaletArgentinaAnna Fali RENEWAL
Claire I OstroskyGermanyAsiya Javayant PROPOSAL
Wickens J KuskoSpainIoni Bowcher NEGOTIATION
Aditya H AlbaresCanadaIvan Magalhaes NEGOTIATION
Murillo L WhobreySpainElwin Sharvill PROPOSAL
Maria U RutaIndiaIvan Magalhaes NEGOTIATION
Deepesh N GillianArgentinaXuxue Feng NEGOTIATION
Isabel O IturbideGermanyBernardo Dominic UNQUALIFIED
Darci R RoysterItalyElwin Sharvill NEGOTIATION
Aruna T AmigonFranceAnna Fali QUALIFIED
Claire Q RutaJapanAsiya Javayant PROPOSAL
James O NickaArgentinaStephen Shaw NEW
Frozen Columns
Name
Jeanfrancois C Venere
Antonio J Gaucho
Jefferson Y Nestle
Deepesh C Rulapaugh
Cody S Schemmer
Aruna B Whobrey
Salvatore C Gillian
Costa S Ruta
Arvin K Briddick
Aditya U Saylors
Ivar R Inouye
Jennifer N Wieser
Ivar I Rulapaugh
James K Malet
Clifford N Kusko
Maria E Inouye
Jones Z Vocelka
Faith F Perin
Costa T Gillian
Ricardo J Schemmer
James O Stockham
Kaitlin J Poquette
David T Rim
Salvatore Y Shinko
Wickens L Shinko
Johnson L Campain
Silvio L Saylors
Ricardo L Inouye
Faith T Briddick
Alejandro R Bolognia
Maria B Wieser
Arvin Y Gaucho
Salvatore W Gaucho
Darci S Tollner
Chavez C Marrier
Maria H Bowley
Kaitlin B Paprocki
Costa Z Iturbide
Chavez Z Venere
Maisha L Caudy
Greenwood X Paprocki
Cody S Waycott
Darci O Dilliard
Jeanfrancois E Ferencz
Maria Z Marrier
Julie S Rim
Deepesh D Amigon
Maisha A Kusko
Leja K Sergi
Clifford O Maclead
IdCountryDate
1000Germany2024-06-15
1001United Kingdom2024-06-05
1002Brazil2024-06-19
1003Japan2024-05-26
1004United Kingdom2024-06-21
1005Canada2024-06-21
1006United Kingdom2024-06-17
1007Australia2024-05-26
1008United Kingdom2024-06-18
1009Germany2024-06-04
1010Brazil2024-06-03
1011Russia2024-06-18
1012Italy2024-06-08
1013Russia2024-06-01
1014Brazil2024-05-23
1015Brazil2024-06-03
1016Italy2024-06-01
1017India2024-06-04
1018Spain2024-06-13
1019India2024-06-20
1020Brazil2024-05-31
1021Brazil2024-06-04
1022Germany2024-05-23
1023Canada2024-05-24
1024Brazil2024-05-26
1025Italy2024-06-16
1026France2024-06-08
1027Australia2024-06-03
1028Argentina2024-06-09
1029Spain2024-05-29
1030Germany2024-06-20
1031Germany2024-06-06
1032Canada2024-06-07
1033Russia2024-06-21
1034Italy2024-06-01
1035Australia2024-06-07
1036Brazil2024-05-27
1037Spain2024-06-05
1038Canada2024-06-12
1039Italy2024-06-09
1040India2024-05-29
1041Canada2024-06-08
1042United Kingdom2024-05-30
1043Australia2024-06-12
1044Russia2024-06-21
1045Germany2024-06-18
1046Russia2024-06-02
1047United Kingdom2024-06-03
1048France2024-06-08
1049Japan2024-05-25

On-Demand Data

NameIdCountryDate
Tony D Saylors1000Italy2024-06-12
Darci O Glick1001Italy2024-06-20
Francesco V Maclead1002India2024-06-13
Munro R Kolmetz1003Argentina2024-06-21
Sinclair C Ostrosky1004Germany2024-05-29
Misaki N Glick1005Japan2024-06-11
Jefferson T Marrier1006Japan2024-06-12
James V Saylors1007Brazil2024-06-07
Kadeem Y Ferencz1008Italy2024-06-12
Adams K Schemmer1009United Kingdom2024-06-21
Jefferson G Bolognia1010Australia2024-06-11
David G Dilliard1011Argentina2024-06-15
Misaki L Morasca1012Russia2024-05-25
Murillo M Albares1013Argentina2024-05-25
Antonio T Saylors1014Russia2024-05-29
Faith W Campain1015Australia2024-06-12
Darci G Kusko1016Japan2024-06-18
Jefferson K Whobrey1017Spain2024-06-03
Silvio Z Albares1018Russia2024-06-10
Julie E Figeroa1019Spain2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z TollnerArgentinaOnyama Limba NEW
Aruna V SergiArgentinaStephen Shaw QUALIFIED
Smith T SergiGermanyStephen Shaw RENEWAL
Clifford H KuskoIndiaElwin Sharvill PROPOSAL
Greenwood X RulapaughFranceStephen Shaw NEW
Emily T SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Ashley H VocelkaIndiaElwin Sharvill QUALIFIED
Morrow T BriddickGermanyIvan Magalhaes NEW
Jeanfrancois A FlosiCanadaOnyama Limba NEGOTIATION
Johnson V MorascaIndiaIvan Magalhaes NEGOTIATION
Aruna R DarakjyJapanIoni Bowcher RENEWAL
Leon V IturbideUnited KingdomIoni Bowcher NEW
Alejandro Z FlosiFranceAnna Fali RENEWAL
Salvatore B GarufiAustraliaAsiya Javayant QUALIFIED
Stacey K BologniaUnited KingdomIvan Magalhaes RENEWAL
Aditya B MaletRussiaAsiya Javayant NEGOTIATION
Faith B MaletBrazilElwin Sharvill RENEWAL
Salvatore A CaldareraAustraliaStephen Shaw NEW
Misaki R StensethRussiaIvan Magalhaes NEGOTIATION
Emily E GarufiFranceIoni Bowcher NEW
Sinclair P WaycottGermanyIoni Bowcher QUALIFIED
James J StockhamUnited KingdomIoni Bowcher NEW
Nicolas O MacleadRussiaIoni Bowcher RENEWAL
Arvin Q MorascaGermanyAsiya Javayant QUALIFIED
Jones L CaudySpainIvan Magalhaes RENEWAL
Clifford D TollnerCanadaBernardo Dominic QUALIFIED
Francesco X RimRussiaElwin Sharvill PROPOSAL
Leon Z ChuiBrazilIvan Magalhaes QUALIFIED
David X WaycottItalyIoni Bowcher UNQUALIFIED
Francesco C SaylorsItalyElwin Sharvill UNQUALIFIED
Salvatore Y GlickRussiaIvan Magalhaes NEW
Leon J NestleIndiaXuxue Feng UNQUALIFIED
Tony R OstroskyItalyOnyama Limba PROPOSAL
Antonio O NickaRussiaXuxue Feng UNQUALIFIED
David V FlosiSpainBernardo Dominic NEGOTIATION
James Q MaletArgentinaAmy Elsner UNQUALIFIED
Murillo M NickaItalyOnyama Limba NEW
Ricardo W SchemmerGermanyStephen Shaw UNQUALIFIED
Jeanfrancois D CaldareraBrazilStephen Shaw RENEWAL
Sinclair T ShinkoUnited KingdomIvan Magalhaes RENEWAL

<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>