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 E GauchoJapanOnyama Limba NEW
Maria F GauchoIndiaBernardo Dominic PROPOSAL
Aika U GillianJapanOnyama Limba QUALIFIED
Alejandro P RoysterAustraliaAnna Fali PROPOSAL
Adams W DoeArgentinaBernardo Dominic QUALIFIED
Aika W NestleIndiaAnna Fali PROPOSAL
Mujtaba G MarrierSpainAsiya Javayant QUALIFIED
Sinclair J KuskoCanadaAnna Fali NEW
Antonio F StensethRussiaOnyama Limba NEW
Julie H DilliardSpainAsiya Javayant PROPOSAL
Cody T ChuiItalyIoni Bowcher PROPOSAL
Julie F CaudyJapanElwin Sharvill PROPOSAL
Silvio X FigeroaBrazilAnna Fali NEGOTIATION
Kaitlin J FollerSpainXuxue Feng QUALIFIED
Misaki X OldroydFranceStephen Shaw QUALIFIED
Kaitlin F GauchoFranceXuxue Feng PROPOSAL
Jefferson J MaletArgentinaAmy Elsner UNQUALIFIED
Jones R ShinkoCanadaAnna Fali RENEWAL
Nicolas P VocelkaCanadaAsiya Javayant UNQUALIFIED
Clifford K MacleadBrazilAsiya Javayant RENEWAL
Leon M InouyeBrazilAsiya Javayant NEGOTIATION
Deepesh R IturbideRussiaAmy Elsner QUALIFIED
Greenwood U RimUnited KingdomAnna Fali UNQUALIFIED
Maria K KolmetzRussiaIoni Bowcher NEGOTIATION
Juan L PerinUnited KingdomStephen Shaw QUALIFIED
Deepesh P TollnerAustraliaXuxue Feng PROPOSAL
Alejandro Z GillianSpainAsiya Javayant UNQUALIFIED
Ivar U FerenczCanadaAmy Elsner QUALIFIED
Alejandro H RimSpainOnyama Limba NEGOTIATION
Morrow H NickaSpainXuxue Feng NEW
James D NestleBrazilAsiya Javayant PROPOSAL
Murillo T AmigonArgentinaAnna Fali UNQUALIFIED
Greenwood Q BologniaSpainOnyama Limba NEW
Aditya Q AlbaresIndiaOnyama Limba RENEWAL
Juan S ChuiUnited KingdomAmy Elsner NEW
James S BriddickBrazilBernardo Dominic PROPOSAL
Deepesh K MorascaArgentinaIoni Bowcher PROPOSAL
Kaitlin G MarrierArgentinaStephen Shaw NEW
Jefferson I AlbaresGermanyXuxue Feng NEW
Leon U BriddickJapanElwin Sharvill NEGOTIATION
Greenwood X OstroskySpainXuxue Feng NEGOTIATION
Aruna O NestleBrazilXuxue Feng NEGOTIATION
Costa P BologniaRussiaXuxue Feng NEGOTIATION
Wickens I GauchoIndiaIoni Bowcher PROPOSAL
Jennifer W SchemmerGermanyElwin Sharvill NEGOTIATION
Smith U MorascaRussiaElwin Sharvill NEW
Kaitlin Z SergiGermanyIvan Magalhaes RENEWAL
Jefferson G FlosiSpainBernardo Dominic UNQUALIFIED
Izzy B MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Izzy U WaycottCanadaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley V SchemmerArgentinaAnna Fali UNQUALIFIED
Mujtaba Y SergiAustraliaAnna Fali RENEWAL
Deepesh C AlbaresArgentinaOnyama Limba RENEWAL
Jennifer J PaprockiArgentinaXuxue Feng QUALIFIED
Octavia M FigeroaIndiaOnyama Limba UNQUALIFIED
Julie O InouyeFranceIvan Magalhaes PROPOSAL
Adams C FlosiItalyIoni Bowcher QUALIFIED
Ashley F CaudyIndiaIvan Magalhaes PROPOSAL
Aruna U DarakjyGermanyBernardo Dominic RENEWAL
Johnson D MacleadBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James C RulapaughGermany2024-06-07Truhlar And Truhlar Attys QUALIFIED73Elwin Sharvill
1001Isabel C ButtFrance2024-06-08Morlong Associates NEW78Ioni Bowcher
1002Rodrigues F OstroskyCanada2024-05-29Buckley Miller Wright QUALIFIED36Asiya Javayant
1003Munro N VenereAustralia2024-06-06Feiner Bros QUALIFIED82Ioni Bowcher
1004Costa H GillianGermany2024-06-07Feiner Bros RENEWAL42Stephen Shaw
1005Smith W AmigonAustralia2024-06-15Feiner Bros RENEWAL34Bernardo Dominic
1006Greenwood L PoquetteSpain2024-06-02Feiner Bros UNQUALIFIED63Bernardo Dominic
1007Wickens A NestleUnited Kingdom2024-06-07King, Christopher A Esq QUALIFIED24Onyama Limba
1008Julie U GarufiCanada2024-06-02Chapman, Ross E Esq PROPOSAL23Elwin Sharvill
1009Maria N SlusarskiJapan2024-06-13Feltz Printing Service QUALIFIED5Asiya Javayant
1010James I MaletBrazil2024-06-05Truhlar And Truhlar Attys QUALIFIED51Ioni Bowcher
1011Chavez Q GauchoItaly2024-06-08Chapman, Ross E Esq RENEWAL59Ivan Magalhaes
1012James L OldroydIndia2024-06-20Feiner Bros UNQUALIFIED21Ioni Bowcher
1013Juan A BowleyJapan2024-06-01Chapman, Ross E Esq UNQUALIFIED41Stephen Shaw
1014Ricardo R BriddickGermany2024-06-01Feiner Bros NEGOTIATION36Amy Elsner
1015Aruna E CampainRussia2024-05-24Rangoni Of Florence NEW36Anna Fali
1016Clifford Q MaletFrance2024-06-20Truhlar And Truhlar Attys PROPOSAL33Asiya Javayant
1017Leja V BologniaGermany2024-05-27Buckley Miller Wright UNQUALIFIED44Xuxue Feng
1018Smith B ButtAustralia2024-06-10Chapman, Ross E Esq QUALIFIED75Elwin Sharvill
1019Mayumi H DilliardUnited Kingdom2024-06-07Truhlar And Truhlar Attys QUALIFIED0Elwin Sharvill
1020Juan Q MacleadGermany2024-06-19Rousseaux, Michael Esq UNQUALIFIED24Asiya Javayant
1021James L SaylorsUnited Kingdom2024-05-24Dorl, James J Esq UNQUALIFIED10Ivan Magalhaes
1022Murillo J BriddickRussia2024-05-31Feltz Printing Service NEW65Anna Fali
1023Aditya Z NickaIndia2024-06-10Buckley Miller Wright QUALIFIED77Xuxue Feng
1024Darci L CaudyAustralia2024-06-05Rangoni Of Florence QUALIFIED45Amy Elsner
1025Silvio T NestleBrazil2024-06-10Chemel, James L Cpa RENEWAL92Amy Elsner
1026Sinclair B SchemmerAustralia2024-05-30Commercial Press QUALIFIED1Elwin Sharvill
1027Chavez K RoysterAustralia2024-06-17Benton, John B Jr UNQUALIFIED17Onyama Limba
1028Julie P DoeArgentina2024-06-13Dorl, James J Esq UNQUALIFIED14Elwin Sharvill
1029Jefferson B AlbaresIndia2024-05-24Morlong Associates UNQUALIFIED97Elwin Sharvill
1030Ashley I WaycottRussia2024-06-11Chapman, Ross E Esq PROPOSAL52Ivan Magalhaes
1031Salvatore D FollerAustralia2024-05-31Commercial Press QUALIFIED49Amy Elsner
1032Leja R SchemmerGermany2024-05-27Chanay, Jeffrey A Esq NEGOTIATION5Xuxue Feng
1033Jennifer M MaletIndia2024-06-08Buckley Miller Wright NEGOTIATION96Bernardo Dominic
1034Jefferson C MacleadArgentina2024-05-31Benton, John B Jr QUALIFIED66Ivan Magalhaes
1035Wickens U ChuiUnited Kingdom2024-05-28Printing Dimensions NEGOTIATION27Elwin Sharvill
1036Greenwood U TollnerJapan2024-05-30King, Christopher A Esq UNQUALIFIED83Ivan Magalhaes
1037Antonio K InouyeAustralia2024-05-24Morlong Associates QUALIFIED89Stephen Shaw
1038Isabel Q PerinIndia2024-06-16Rousseaux, Michael Esq PROPOSAL27Stephen Shaw
1039Morrow D IturbideGermany2024-05-26Truhlar And Truhlar Attys RENEWAL54Ioni Bowcher
1040Chavez X PerinCanada2024-05-28Buckley Miller Wright NEGOTIATION64Ivan Magalhaes
1041Izzy L RimCanada2024-06-19Chanay, Jeffrey A Esq NEGOTIATION45Ioni Bowcher
1042Deepesh Q BologniaIndia2024-06-17Chapman, Ross E Esq NEGOTIATION59Elwin Sharvill
1043Leon M PoquetteRussia2024-06-02King, Christopher A Esq RENEWAL68Ivan Magalhaes
1044Costa Y MaletBrazil2024-06-18Dorl, James J Esq QUALIFIED43Ioni Bowcher
1045Aika S ButtIndia2024-06-08King, Christopher A Esq UNQUALIFIED53Xuxue Feng
1046Ashley Z BowleyBrazil2024-06-18King, Christopher A Esq PROPOSAL35Xuxue Feng
1047Mayumi X RulapaughJapan2024-05-24Chanay, Jeffrey A Esq NEW99Elwin Sharvill
1048Wickens M DoeItaly2024-06-14Chapman, Ross E Esq NEGOTIATION18Ioni Bowcher
1049Murillo N ChuiGermany2024-06-09Feltz Printing Service UNQUALIFIED89Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James E SergiCanadaAmy Elsner PROPOSAL
Isabel O OstroskyFranceStephen Shaw NEGOTIATION
Wickens Q SaylorsAustraliaIoni Bowcher QUALIFIED
Maisha W SaylorsGermanyXuxue Feng RENEWAL
Sinclair K OldroydSpainIvan Magalhaes PROPOSAL
Mayumi G DoeAustraliaBernardo Dominic NEW
Misaki A MaletGermanyXuxue Feng NEW
Clifford G GlickCanadaAnna Fali QUALIFIED
Jennifer B MorascaArgentinaElwin Sharvill UNQUALIFIED
Kaitlin W FigeroaItalyStephen Shaw UNQUALIFIED
Wickens J GillianGermanyAsiya Javayant UNQUALIFIED
Julie T WieserJapanElwin Sharvill PROPOSAL
Jennifer B ButtSpainAmy Elsner QUALIFIED
Antonio M PoquetteRussiaBernardo Dominic UNQUALIFIED
Aika V SaylorsItalyIoni Bowcher NEGOTIATION
Rodrigues M CaudyUnited KingdomIvan Magalhaes RENEWAL
Aika U MarrierRussiaStephen Shaw RENEWAL
Munro L BriddickBrazilAmy Elsner QUALIFIED
Greenwood H RimIndiaIoni Bowcher NEGOTIATION
Smith J RoysterSpainAnna Fali PROPOSAL
Sinclair Q SlusarskiUnited KingdomAsiya Javayant NEW
Misaki N CaudyAustraliaStephen Shaw RENEWAL
Salvatore J StensethGermanyAsiya Javayant NEW
Ivar A OldroydRussiaBernardo Dominic NEGOTIATION
Arvin W NestleArgentinaXuxue Feng UNQUALIFIED
Aditya S CaudyJapanAsiya Javayant QUALIFIED
Maria N VocelkaUnited KingdomAmy Elsner PROPOSAL
Tony R GauchoArgentinaAmy Elsner PROPOSAL
David A MarrierBrazilStephen Shaw QUALIFIED
Silvio K MorascaItalyStephen Shaw NEW
Faith S IturbideFranceOnyama Limba UNQUALIFIED
Jeanfrancois W ChuiGermanyElwin Sharvill QUALIFIED
Alejandro X StensethGermanyOnyama Limba UNQUALIFIED
Smith N DilliardRussiaAmy Elsner PROPOSAL
Murillo A DoeAustraliaStephen Shaw RENEWAL
Jeanfrancois O CampainRussiaAnna Fali UNQUALIFIED
Jennifer P VocelkaFranceXuxue Feng NEW
Mujtaba L GlickItalyOnyama Limba NEW
Ivar D ChuiGermanyOnyama Limba PROPOSAL
Faith A SergiIndiaBernardo Dominic NEW
Kaitlin V AlbaresUnited KingdomXuxue Feng PROPOSAL
Leon L SergiIndiaOnyama Limba UNQUALIFIED
Mayumi A OstroskyJapanStephen Shaw QUALIFIED
Kaitlin O ChuiRussiaAnna Fali UNQUALIFIED
Emily V MaletFranceIvan Magalhaes PROPOSAL
Wickens R GlickJapanXuxue Feng PROPOSAL
Ricardo K ShinkoUnited KingdomAnna Fali PROPOSAL
Leon S NickaRussiaStephen Shaw UNQUALIFIED
Leja M GlickBrazilIoni Bowcher UNQUALIFIED
Julie O GlickArgentinaAmy Elsner NEGOTIATION
Frozen Columns
Name
Aditya Q Malet
Smith U Kusko
Claire C Rim
Isabel W Whobrey
Arvin P Ferencz
Maria I Rim
Nicolas I Bolognia
Clifford M Gaucho
Maisha M Campain
Leja C Foller
Munro R Maclead
Nicolas H Maclead
Maria T Stockham
David E Foller
Jeanfrancois W Stenseth
Julie R Bolognia
Izzy Z Kusko
Ricardo A Dilliard
Aditya B Wieser
Mujtaba I Bowley
Jones R Bowley
Stacey C Shinko
Jeanfrancois O Garufi
Francesco W Royster
Faith I Inouye
Mujtaba W Ostrosky
Antonio O Morasca
Johnson Y Whobrey
James J Waycott
Faith G Rim
Jeanfrancois U Ostrosky
Jefferson D Inouye
Nicolas L Stenseth
Isabel M Bolognia
Julie F Iturbide
Misaki F Slusarski
Aditya O Wieser
Jennifer W Doe
Jeanfrancois A Morasca
Kadeem V Stenseth
Ashley S Bolognia
Mujtaba A Shinko
Maria F Nicka
Mayumi P Poquette
Antonio Q Caudy
Morrow M Dilliard
Aruna O Rulapaugh
Aditya J Nicka
Antonio W Morasca
Ivar N Gillian
IdCountryDate
1000Italy2024-06-05
1001United Kingdom2024-05-31
1002Germany2024-06-18
1003United Kingdom2024-05-24
1004Japan2024-06-17
1005Italy2024-05-25
1006Italy2024-06-21
1007France2024-06-09
1008Brazil2024-06-19
1009Brazil2024-06-06
1010Russia2024-06-21
1011France2024-06-13
1012Brazil2024-06-16
1013India2024-05-30
1014Italy2024-05-25
1015France2024-06-10
1016Italy2024-06-15
1017France2024-06-09
1018Spain2024-06-20
1019Germany2024-06-18
1020Germany2024-06-18
1021Spain2024-05-30
1022Spain2024-05-25
1023Australia2024-06-03
1024Brazil2024-06-09
1025Russia2024-05-29
1026Canada2024-06-02
1027United Kingdom2024-06-09
1028Australia2024-05-26
1029Brazil2024-06-18
1030Russia2024-06-08
1031India2024-06-12
1032Argentina2024-06-18
1033Argentina2024-06-10
1034Japan2024-06-18
1035Russia2024-06-13
1036Canada2024-06-03
1037India2024-05-25
1038Argentina2024-06-11
1039Canada2024-06-06
1040Spain2024-06-07
1041India2024-05-26
1042Canada2024-06-07
1043Australia2024-06-15
1044Russia2024-05-31
1045France2024-06-12
1046Australia2024-06-06
1047Argentina2024-05-28
1048Italy2024-06-16
1049Russia2024-06-07

On-Demand Data

NameIdCountryDate
Francesco D Stockham1000Italy2024-06-13
Nicolas D Schemmer1001Germany2024-06-16
Chavez C Albares1002France2024-05-31
Munro E Shinko1003Australia2024-05-26
Murillo H Kusko1004India2024-06-01
Johnson J Bowley1005Italy2024-06-10
Mayumi M Stockham1006Argentina2024-05-30
Arvin Z Stenseth1007Australia2024-06-21
Darci B Ostrosky1008Argentina2024-06-09
Jefferson W Nestle1009India2024-06-07
Mayumi F Rulapaugh1010Argentina2024-06-11
Juan H Albares1011Italy2024-06-10
Francesco I Morasca1012Brazil2024-06-19
Stacey T Sergi1013France2024-06-20
Izzy Y Rulapaugh1014India2024-06-11
Isabel E Kusko1015Argentina2024-06-21
Aika T Caudy1016Italy2024-05-30
Jones F Flosi1017India2024-06-06
Francesco O Caldarera1018Russia2024-05-27
Emily A Glick1019Australia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer I ButtItalyXuxue Feng PROPOSAL
Leja M WhobreyIndiaXuxue Feng RENEWAL
Maisha H OldroydIndiaOnyama Limba UNQUALIFIED
Jeanfrancois A CampainSpainElwin Sharvill UNQUALIFIED
Munro W SchemmerIndiaBernardo Dominic UNQUALIFIED
Wickens Z StensethItalyStephen Shaw UNQUALIFIED
Leja S TollnerArgentinaIoni Bowcher UNQUALIFIED
Sinclair P FigeroaJapanXuxue Feng QUALIFIED
Juan Z WaycottCanadaAmy Elsner QUALIFIED
Misaki J WaycottUnited KingdomBernardo Dominic NEW
Mujtaba V MorascaIndiaAnna Fali PROPOSAL
Tony N ShinkoSpainAsiya Javayant QUALIFIED
Francesco U WieserJapanIvan Magalhaes NEGOTIATION
Leja K GlickJapanAnna Fali NEW
Darci H DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya J MaletFranceAnna Fali NEW
Salvatore K VocelkaBrazilIoni Bowcher QUALIFIED
Ivar P FlosiSpainAnna Fali QUALIFIED
Isabel A OstroskySpainIvan Magalhaes NEW
Kaitlin B DoeSpainStephen Shaw UNQUALIFIED
Sinclair G BologniaArgentinaOnyama Limba PROPOSAL
Darci J SlusarskiAustraliaIvan Magalhaes RENEWAL
Ashley E MacleadItalyAnna Fali PROPOSAL
Arvin Z RoysterUnited KingdomStephen Shaw UNQUALIFIED
Alejandro R NickaFranceStephen Shaw PROPOSAL
Smith O GauchoIndiaIoni Bowcher UNQUALIFIED
Misaki O SlusarskiGermanyAnna Fali UNQUALIFIED
James E MaletAustraliaBernardo Dominic NEGOTIATION
Francesco C WaycottArgentinaIoni Bowcher QUALIFIED
Juan M MacleadAustraliaOnyama Limba PROPOSAL
Arvin U MaletJapanElwin Sharvill PROPOSAL
Ricardo J FerenczSpainAnna Fali UNQUALIFIED
Stacey M MaletAustraliaAmy Elsner NEW
Sinclair B SaylorsCanadaIvan Magalhaes NEW
Silvio X PaprockiGermanyIvan Magalhaes RENEWAL
Octavia N KolmetzFranceAmy Elsner NEGOTIATION
Maisha E NickaIndiaAnna Fali QUALIFIED
Julie U SchemmerAustraliaStephen Shaw UNQUALIFIED
Kaitlin B RulapaughCanadaAsiya Javayant NEGOTIATION
Rodrigues L MaletFranceAmy Elsner 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>