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
Greenwood D TollnerAustraliaAnna Fali NEGOTIATION
Aika Y CaudyAustraliaBernardo Dominic RENEWAL
Jones H CampainJapanBernardo Dominic PROPOSAL
Kadeem G BologniaAustraliaStephen Shaw RENEWAL
Cody N RimSpainAmy Elsner UNQUALIFIED
Greenwood Z AlbaresAustraliaIvan Magalhaes NEGOTIATION
Jones Z OldroydArgentinaIoni Bowcher NEW
Maisha T PoquetteBrazilAsiya Javayant PROPOSAL
Darci X NestleAustraliaIvan Magalhaes QUALIFIED
Morrow M SaylorsFranceOnyama Limba RENEWAL
Julie I MorascaJapanIoni Bowcher RENEWAL
Johnson U MacleadJapanIoni Bowcher QUALIFIED
Kadeem N StockhamUnited KingdomElwin Sharvill NEGOTIATION
Isabel X MarrierUnited KingdomIvan Magalhaes PROPOSAL
Antonio U MacleadBrazilAsiya Javayant NEGOTIATION
Leon I DoeArgentinaAnna Fali NEW
Jones A WaycottCanadaAnna Fali UNQUALIFIED
Darci C RutaGermanyElwin Sharvill NEW
Wickens D CaudyRussiaXuxue Feng RENEWAL
Clifford Q IturbideItalyElwin Sharvill NEGOTIATION
Mayumi C WhobreyGermanyAsiya Javayant UNQUALIFIED
Munro J WaycottUnited KingdomOnyama Limba NEGOTIATION
Ricardo C RoysterArgentinaAnna Fali QUALIFIED
Leon U SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Chavez Z MorascaIndiaOnyama Limba QUALIFIED
Leja S OstroskyGermanyElwin Sharvill NEGOTIATION
Misaki H RulapaughBrazilXuxue Feng QUALIFIED
Emily L FollerAustraliaBernardo Dominic PROPOSAL
Emily V MarrierSpainAmy Elsner RENEWAL
Munro W TollnerItalyElwin Sharvill UNQUALIFIED
Silvio X BologniaAustraliaXuxue Feng NEW
Mujtaba S TollnerAustraliaElwin Sharvill NEGOTIATION
David E WieserArgentinaStephen Shaw NEGOTIATION
Julie R StockhamBrazilBernardo Dominic UNQUALIFIED
Maisha B GarufiIndiaAnna Fali UNQUALIFIED
Francesco Y SaylorsFranceBernardo Dominic PROPOSAL
Smith J BowleyRussiaBernardo Dominic QUALIFIED
Arvin P RutaAustraliaAsiya Javayant PROPOSAL
James D DarakjyCanadaXuxue Feng UNQUALIFIED
Salvatore X VocelkaRussiaElwin Sharvill QUALIFIED
Misaki D StockhamJapanElwin Sharvill QUALIFIED
Leon W RoysterCanadaAsiya Javayant UNQUALIFIED
Maria A ChuiIndiaBernardo Dominic UNQUALIFIED
Octavia K RoysterIndiaElwin Sharvill QUALIFIED
Octavia C MaletRussiaAnna Fali PROPOSAL
Smith J WieserCanadaIoni Bowcher UNQUALIFIED
Mayumi S SaylorsCanadaIoni Bowcher RENEWAL
Alejandro E OldroydUnited KingdomAsiya Javayant NEGOTIATION
Aruna Z SaylorsItalyBernardo Dominic RENEWAL
Juan Q SlusarskiFranceXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem E MaletBrazilAmy Elsner PROPOSAL
Stacey E FerenczGermanyIoni Bowcher UNQUALIFIED
Rodrigues C RutaItalyIoni Bowcher PROPOSAL
Julie N RimCanadaBernardo Dominic RENEWAL
Julie X BriddickIndiaStephen Shaw NEGOTIATION
Aditya F WieserJapanBernardo Dominic UNQUALIFIED
Arvin E DilliardUnited KingdomAnna Fali NEGOTIATION
Silvio K BriddickIndiaOnyama Limba UNQUALIFIED
Adams O StockhamArgentinaBernardo Dominic UNQUALIFIED
Leon H MaletBrazilStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh U RimBrazil2024-06-20Chemel, James L Cpa NEW3Amy Elsner
1001Isabel J CaudyArgentina2024-06-06Feltz Printing Service NEGOTIATION71Xuxue Feng
1002Adams Z TollnerItaly2024-06-12King, Christopher A Esq RENEWAL95Ioni Bowcher
1003Murillo X KuskoFrance2024-06-10Rousseaux, Michael Esq RENEWAL18Stephen Shaw
1004Wickens C TollnerRussia2024-06-07Printing Dimensions NEGOTIATION28Ioni Bowcher
1005Jeanfrancois Z RoysterJapan2024-06-04Rousseaux, Michael Esq NEGOTIATION47Amy Elsner
1006Aditya G RulapaughSpain2024-05-26Benton, John B Jr PROPOSAL4Asiya Javayant
1007Deepesh L VocelkaIndia2024-06-16Dorl, James J Esq NEGOTIATION54Bernardo Dominic
1008Tony E RulapaughFrance2024-05-27Buckley Miller Wright UNQUALIFIED72Amy Elsner
1009Adams N MarrierJapan2024-06-02Chapman, Ross E Esq NEGOTIATION2Onyama Limba
1010Izzy P SergiIndia2024-06-19Truhlar And Truhlar Attys NEW59Bernardo Dominic
1011Stacey C DarakjyCanada2024-06-13Dorl, James J Esq QUALIFIED37Asiya Javayant
1012Greenwood H DoeItaly2024-06-01Morlong Associates QUALIFIED17Bernardo Dominic
1013Aika C PaprockiJapan2024-06-13Benton, John B Jr NEGOTIATION22Xuxue Feng
1014Costa F VenereSpain2024-06-11Buckley Miller Wright QUALIFIED69Asiya Javayant
1015Alejandro H MaletIndia2024-06-02Truhlar And Truhlar Attys PROPOSAL51Ioni Bowcher
1016Jeanfrancois J FerenczIndia2024-06-05Buckley Miller Wright RENEWAL50Xuxue Feng
1017Johnson I CampainFrance2024-05-29Chemel, James L Cpa NEGOTIATION63Onyama Limba
1018Claire H FerenczCanada2024-06-02Truhlar And Truhlar Attys NEW74Amy Elsner
1019Maisha H MorascaUnited Kingdom2024-06-05Chemel, James L Cpa NEGOTIATION60Bernardo Dominic
1020Izzy O VenereItaly2024-06-11Buckley Miller Wright QUALIFIED94Xuxue Feng
1021Sinclair E KolmetzBrazil2024-06-10Morlong Associates RENEWAL91Asiya Javayant
1022Isabel P FigeroaArgentina2024-05-26Chapman, Ross E Esq UNQUALIFIED33Bernardo Dominic
1023Greenwood P MaletItaly2024-06-17Commercial Press UNQUALIFIED22Asiya Javayant
1024David C CaudyItaly2024-05-30Feltz Printing Service RENEWAL28Anna Fali
1025Misaki R AmigonBrazil2024-06-04Chemel, James L Cpa RENEWAL99Asiya Javayant
1026Cody R KolmetzArgentina2024-06-17Rangoni Of Florence QUALIFIED90Ioni Bowcher
1027Aditya X BologniaCanada2024-05-27Chemel, James L Cpa NEGOTIATION11Xuxue Feng
1028Jones E PoquetteIndia2024-06-17Buckley Miller Wright QUALIFIED18Onyama Limba
1029Arvin O CampainIndia2024-06-14Feiner Bros PROPOSAL66Asiya Javayant
1030Ivar S BriddickItaly2024-06-13Buckley Miller Wright QUALIFIED40Ivan Magalhaes
1031Juan D TollnerCanada2024-06-01Benton, John B Jr PROPOSAL9Elwin Sharvill
1032Leja Y ButtAustralia2024-06-20Truhlar And Truhlar Attys UNQUALIFIED46Asiya Javayant
1033Murillo K BowleyArgentina2024-06-14King, Christopher A Esq NEGOTIATION5Ioni Bowcher
1034Stacey I DoeItaly2024-05-24Morlong Associates UNQUALIFIED90Bernardo Dominic
1035Jennifer A KuskoRussia2024-06-02Feiner Bros NEGOTIATION89Elwin Sharvill
1036Jefferson S VocelkaRussia2024-06-11Chemel, James L Cpa PROPOSAL53Anna Fali
1037Deepesh M ButtRussia2024-06-14Truhlar And Truhlar Attys UNQUALIFIED18Stephen Shaw
1038Mayumi Q PaprockiArgentina2024-06-04Feltz Printing Service UNQUALIFIED28Amy Elsner
1039David G ChuiItaly2024-06-17Rousseaux, Michael Esq UNQUALIFIED55Ioni Bowcher
1040Nicolas H VocelkaRussia2024-06-18Chemel, James L Cpa PROPOSAL89Elwin Sharvill
1041Izzy S BriddickBrazil2024-06-17Dorl, James J Esq NEGOTIATION22Stephen Shaw
1042Juan A BowleyIndia2024-06-20Rousseaux, Michael Esq NEW48Elwin Sharvill
1043Wickens F GillianArgentina2024-05-25Chanay, Jeffrey A Esq PROPOSAL23Xuxue Feng
1044Misaki A PerinArgentina2024-05-29King, Christopher A Esq PROPOSAL14Bernardo Dominic
1045Kadeem W StensethSpain2024-06-21Buckley Miller Wright RENEWAL91Bernardo Dominic
1046Johnson N MaletAustralia2024-05-30Morlong Associates PROPOSAL4Bernardo Dominic
1047Claire A DoeAustralia2024-06-12Rousseaux, Michael Esq PROPOSAL23Anna Fali
1048Octavia P TollnerFrance2024-06-07Rangoni Of Florence UNQUALIFIED26Bernardo Dominic
1049Jennifer F WhobreyItaly2024-06-08Truhlar And Truhlar Attys UNQUALIFIED12Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Sinclair U RoysterFranceAmy Elsner NEGOTIATION
Costa I AlbaresAustraliaAmy Elsner RENEWAL
Jeanfrancois V FollerSpainStephen Shaw NEW
Tony S MacleadItalyBernardo Dominic RENEWAL
Alejandro V WaycottIndiaXuxue Feng NEGOTIATION
Maria A NickaFranceStephen Shaw NEGOTIATION
Stacey A AlbaresUnited KingdomAmy Elsner NEW
Juan A BriddickRussiaAmy Elsner PROPOSAL
Arvin I GauchoCanadaStephen Shaw RENEWAL
Misaki W StensethRussiaIoni Bowcher QUALIFIED
Julie W NickaRussiaStephen Shaw UNQUALIFIED
Stacey O RutaUnited KingdomStephen Shaw NEW
Adams B MaletAustraliaElwin Sharvill PROPOSAL
Johnson L StockhamGermanyAmy Elsner NEGOTIATION
Aruna J ShinkoGermanyOnyama Limba UNQUALIFIED
Aditya E SergiArgentinaXuxue Feng UNQUALIFIED
Morrow L MaletFranceXuxue Feng NEGOTIATION
Salvatore H InouyeRussiaOnyama Limba RENEWAL
Izzy T RimCanadaIoni Bowcher NEGOTIATION
Kaitlin R GillianJapanAsiya Javayant NEW
Juan B FerenczAustraliaAnna Fali QUALIFIED
Isabel B MacleadAustraliaXuxue Feng NEW
Maria G WhobreyBrazilOnyama Limba PROPOSAL
David U VocelkaIndiaElwin Sharvill UNQUALIFIED
Munro R PerinJapanStephen Shaw NEW
Ivar T VocelkaGermanyBernardo Dominic RENEWAL
Greenwood S GarufiGermanyIvan Magalhaes QUALIFIED
Sinclair P WieserUnited KingdomIvan Magalhaes QUALIFIED
Francesco K MacleadCanadaIoni Bowcher UNQUALIFIED
Darci E GlickItalyOnyama Limba NEW
Izzy E ButtRussiaIvan Magalhaes NEW
Aditya P CampainArgentinaStephen Shaw QUALIFIED
Kaitlin U ChuiAustraliaIvan Magalhaes NEGOTIATION
Leon T CampainUnited KingdomIoni Bowcher UNQUALIFIED
Leja V MaletIndiaAnna Fali PROPOSAL
Ivar A GlickRussiaIvan Magalhaes QUALIFIED
Mujtaba B BriddickGermanyBernardo Dominic NEGOTIATION
Aruna B CampainCanadaAnna Fali PROPOSAL
Ashley I NestleIndiaStephen Shaw NEGOTIATION
Clifford A KolmetzIndiaStephen Shaw PROPOSAL
Juan T StockhamBrazilElwin Sharvill RENEWAL
Ricardo Z BriddickCanadaStephen Shaw NEGOTIATION
Johnson K GauchoFranceAnna Fali PROPOSAL
Rodrigues C RulapaughUnited KingdomAmy Elsner QUALIFIED
Antonio U RutaItalyStephen Shaw UNQUALIFIED
Antonio G BriddickCanadaBernardo Dominic NEGOTIATION
Sinclair H NestleItalyIoni Bowcher PROPOSAL
Misaki U DoeGermanyStephen Shaw NEW
Ashley R SaylorsIndiaIvan Magalhaes QUALIFIED
Faith X DoeIndiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Murillo J Tollner
Salvatore N Ostrosky
Aditya T Kusko
Wickens G Oldroyd
Mujtaba H Whobrey
David H Venere
Faith E Whobrey
Rodrigues G Wieser
Adams W Tollner
Mayumi U Gillian
Cody N Caudy
Deepesh C Kusko
Faith V Glick
Isabel K Malet
Isabel J Inouye
Kadeem P Ruta
Arvin M Perin
Antonio G Stockham
Ricardo S Darakjy
Jennifer P Ruta
Julie M Malet
Leja O Inouye
Rodrigues K Stockham
Costa L Bolognia
Maisha G Vocelka
Wickens J Butt
Tony M Tollner
Greenwood D Perin
Rodrigues W Rim
Adams P Poquette
Antonio V Wieser
Clifford O Figeroa
Julie K Nestle
Tony A Waycott
Juan R Albares
Faith B Waycott
Leja G Bolognia
Clifford N Morasca
Alejandro P Slusarski
Jones F Briddick
Jennifer A Campain
Aika T Dilliard
Mujtaba G Royster
Kadeem P Slusarski
Rodrigues H Campain
Jefferson R Rulapaugh
Murillo L Bolognia
Emily A Morasca
David M Iturbide
Aika I Schemmer
IdCountryDate
1000United Kingdom2024-06-19
1001Germany2024-06-11
1002United Kingdom2024-06-20
1003India2024-06-06
1004Japan2024-06-20
1005Germany2024-06-12
1006Germany2024-06-04
1007Japan2024-06-12
1008Japan2024-06-14
1009United Kingdom2024-06-13
1010France2024-06-14
1011Germany2024-06-19
1012France2024-06-08
1013Canada2024-05-28
1014United Kingdom2024-06-13
1015Japan2024-05-24
1016Japan2024-06-07
1017Canada2024-06-20
1018Brazil2024-05-27
1019Brazil2024-06-03
1020Brazil2024-06-02
1021Spain2024-06-03
1022Italy2024-05-24
1023Germany2024-05-28
1024Brazil2024-06-18
1025Spain2024-06-02
1026France2024-06-19
1027Russia2024-06-15
1028France2024-05-30
1029Russia2024-06-08
1030Japan2024-06-16
1031Germany2024-05-27
1032India2024-06-11
1033Argentina2024-06-16
1034Russia2024-05-28
1035Canada2024-06-15
1036Canada2024-06-11
1037Japan2024-06-03
1038Argentina2024-05-31
1039Italy2024-06-20
1040Italy2024-06-18
1041Canada2024-06-03
1042Spain2024-06-12
1043Russia2024-06-13
1044United Kingdom2024-05-29
1045Canada2024-06-02
1046Argentina2024-06-03
1047Russia2024-06-02
1048Brazil2024-05-27
1049Canada2024-06-21

On-Demand Data

NameIdCountryDate
Greenwood C Oldroyd1000Japan2024-06-02
Jennifer C Oldroyd1001Germany2024-06-18
Maria N Figeroa1002Spain2024-05-24
Izzy C Glick1003Germany2024-06-21
Clifford I Nicka1004United Kingdom2024-06-14
Greenwood S Briddick1005Brazil2024-06-10
Deepesh U Campain1006Argentina2024-06-09
Faith Z Doe1007Spain2024-06-03
Emily G Butt1008Argentina2024-06-14
Kaitlin L Schemmer1009India2024-06-05
Maria F Schemmer1010India2024-06-09
Faith Y Slusarski1011Germany2024-06-14
Ivar V Ferencz1012Canada2024-06-02
Mujtaba A Oldroyd1013India2024-05-30
Stacey O Iturbide1014Spain2024-06-08
Misaki E Garufi1015Japan2024-06-16
Morrow I Flosi1016Australia2024-06-01
Jefferson E Perin1017United Kingdom2024-06-06
Darci Z Bolognia1018Russia2024-06-16
James J Waycott1019Spain2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo T TollnerArgentinaElwin Sharvill RENEWAL
Aditya T BologniaIndiaStephen Shaw PROPOSAL
Rodrigues W BriddickCanadaAmy Elsner QUALIFIED
Costa N KuskoSpainBernardo Dominic NEW
Octavia V ShinkoJapanAsiya Javayant NEGOTIATION
Salvatore K PaprockiUnited KingdomXuxue Feng NEGOTIATION
Kadeem Y KolmetzUnited KingdomXuxue Feng NEW
Leon F GauchoGermanyStephen Shaw QUALIFIED
Isabel S FollerItalyIvan Magalhaes RENEWAL
Tony R GarufiFranceStephen Shaw PROPOSAL
Ivar C ChuiGermanyStephen Shaw NEW
Rodrigues O FlosiCanadaElwin Sharvill NEGOTIATION
Stacey U SergiArgentinaAmy Elsner PROPOSAL
Emily G WhobreySpainAnna Fali RENEWAL
Stacey D SergiArgentinaIoni Bowcher PROPOSAL
Chavez R SlusarskiIndiaBernardo Dominic UNQUALIFIED
David A KuskoSpainElwin Sharvill UNQUALIFIED
Isabel W RutaAustraliaIvan Magalhaes RENEWAL
Kadeem K BologniaSpainXuxue Feng NEGOTIATION
Leon H MaletCanadaIoni Bowcher NEGOTIATION
Tony F FigeroaSpainAmy Elsner PROPOSAL
Juan Z NestleGermanyAnna Fali UNQUALIFIED
Misaki M TollnerAustraliaOnyama Limba UNQUALIFIED
Costa N MacleadRussiaStephen Shaw NEGOTIATION
Octavia I GarufiIndiaIoni Bowcher NEGOTIATION
Mujtaba G SergiBrazilXuxue Feng NEGOTIATION
Costa S PerinRussiaAmy Elsner RENEWAL
Chavez E FlosiSpainOnyama Limba QUALIFIED
Jeanfrancois G SergiUnited KingdomAmy Elsner RENEWAL
Jones N BowleyBrazilAmy Elsner QUALIFIED
Tony R TollnerArgentinaXuxue Feng RENEWAL
Ricardo B NestleJapanIoni Bowcher RENEWAL
Arvin I ShinkoFranceOnyama Limba PROPOSAL
Emily Z MorascaCanadaBernardo Dominic NEGOTIATION
Nicolas Z BriddickFranceElwin Sharvill RENEWAL
Aruna T KolmetzArgentinaElwin Sharvill NEW
Julie L FlosiBrazilAmy Elsner RENEWAL
Ashley V MaletAustraliaAnna Fali QUALIFIED
Isabel T FigeroaRussiaAmy Elsner NEW
Nicolas W GarufiIndiaIoni Bowcher NEW

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