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
Nicolas A RutaIndiaXuxue Feng QUALIFIED
Cody Y OstroskyBrazilElwin Sharvill UNQUALIFIED
Jefferson K MaletJapanAsiya Javayant UNQUALIFIED
Costa T WhobreyFranceAsiya Javayant NEW
Wickens T KuskoAustraliaIvan Magalhaes PROPOSAL
Greenwood U NestleItalyStephen Shaw PROPOSAL
Ricardo G ShinkoAustraliaOnyama Limba NEW
Kaitlin Q SlusarskiSpainAnna Fali QUALIFIED
Juan X CaudyBrazilIoni Bowcher RENEWAL
Isabel A VenereArgentinaIvan Magalhaes NEW
Octavia A VenereSpainStephen Shaw QUALIFIED
Ricardo S PoquetteCanadaStephen Shaw NEGOTIATION
Jeanfrancois L ButtRussiaBernardo Dominic NEGOTIATION
Greenwood L AlbaresSpainBernardo Dominic RENEWAL
Alejandro K DilliardSpainAmy Elsner QUALIFIED
Aruna M BologniaCanadaIoni Bowcher PROPOSAL
Salvatore U DarakjyArgentinaOnyama Limba QUALIFIED
Juan K SchemmerItalyOnyama Limba NEGOTIATION
Adams P MacleadAustraliaIvan Magalhaes NEGOTIATION
Kadeem Q RoysterUnited KingdomAmy Elsner NEGOTIATION
Clifford J KolmetzJapanStephen Shaw NEW
Octavia H WaycottFranceElwin Sharvill QUALIFIED
Kadeem Q KolmetzRussiaBernardo Dominic NEGOTIATION
Mujtaba W SchemmerSpainAsiya Javayant UNQUALIFIED
Maria O SaylorsRussiaElwin Sharvill UNQUALIFIED
Tony S KolmetzUnited KingdomAsiya Javayant RENEWAL
Sinclair A BologniaFranceIvan Magalhaes UNQUALIFIED
Deepesh T RoysterIndiaBernardo Dominic RENEWAL
David Z VenereFranceStephen Shaw UNQUALIFIED
Izzy A MaletBrazilBernardo Dominic NEW
Greenwood E RimItalyElwin Sharvill QUALIFIED
Ashley P OstroskySpainIvan Magalhaes QUALIFIED
Wickens N VenereJapanOnyama Limba NEGOTIATION
Jones W CampainFranceIoni Bowcher QUALIFIED
Smith O PoquetteRussiaIoni Bowcher NEW
Sinclair X RoysterItalyAsiya Javayant UNQUALIFIED
Munro Y SlusarskiFranceBernardo Dominic QUALIFIED
Nicolas B MaletCanadaAsiya Javayant NEGOTIATION
Kaitlin H RoysterCanadaAnna Fali UNQUALIFIED
Julie D BriddickArgentinaAmy Elsner QUALIFIED
Johnson H GillianItalyAsiya Javayant NEW
Jones A NickaArgentinaStephen Shaw PROPOSAL
Kaitlin U GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore R OldroydArgentinaAnna Fali QUALIFIED
Julie J CampainJapanAmy Elsner NEW
Greenwood L SlusarskiItalyXuxue Feng PROPOSAL
Francesco A MaletUnited KingdomElwin Sharvill PROPOSAL
Emily M NickaArgentinaElwin Sharvill NEW
Ricardo T BowleyUnited KingdomXuxue Feng NEGOTIATION
Jennifer L ShinkoCanadaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Isabel D CaudySpainIvan Magalhaes PROPOSAL
Claire X InouyeSpainAsiya Javayant NEW
Darci A FlosiAustraliaStephen Shaw RENEWAL
Maisha Z SaylorsBrazilIvan Magalhaes RENEWAL
Aditya G GauchoArgentinaIvan Magalhaes NEGOTIATION
Izzy G AmigonArgentinaXuxue Feng NEGOTIATION
Ashley Y VocelkaIndiaAnna Fali NEW
Antonio O MorascaFranceXuxue Feng UNQUALIFIED
Kadeem O MarrierSpainXuxue Feng UNQUALIFIED
Jones T MaletBrazilIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro K RoysterAustralia2024-05-27Truhlar And Truhlar Attys NEW26Stephen Shaw
1001Ivar I VocelkaSpain2024-05-28Printing Dimensions QUALIFIED56Anna Fali
1002Smith H SchemmerBrazil2024-06-19Chapman, Ross E Esq NEW75Ivan Magalhaes
1003Sinclair Q CaldareraGermany2024-06-12Chemel, James L Cpa QUALIFIED13Xuxue Feng
1004Sinclair L MarrierFrance2024-06-21Chemel, James L Cpa UNQUALIFIED77Onyama Limba
1005Aika A AmigonFrance2024-05-31Chapman, Ross E Esq RENEWAL57Amy Elsner
1006Mujtaba L ButtFrance2024-06-12Rangoni Of Florence QUALIFIED92Asiya Javayant
1007Faith N SaylorsJapan2024-06-17Benton, John B Jr NEW3Bernardo Dominic
1008Aditya X DarakjyItaly2024-06-20Rangoni Of Florence PROPOSAL84Asiya Javayant
1009Darci T DilliardSpain2024-06-14Commercial Press NEW4Xuxue Feng
1010Aditya U NickaGermany2024-05-29Chanay, Jeffrey A Esq NEGOTIATION6Amy Elsner
1011David B ChuiAustralia2024-06-10Chemel, James L Cpa NEGOTIATION36Stephen Shaw
1012Rodrigues F BologniaAustralia2024-05-25Rousseaux, Michael Esq QUALIFIED70Ivan Magalhaes
1013Munro P IturbideItaly2024-06-02Benton, John B Jr QUALIFIED4Xuxue Feng
1014Chavez R FollerIndia2024-06-10Truhlar And Truhlar Attys QUALIFIED16Bernardo Dominic
1015Aika C MaletItaly2024-05-28Chapman, Ross E Esq PROPOSAL18Stephen Shaw
1016Kadeem K ButtArgentina2024-06-05Truhlar And Truhlar Attys PROPOSAL56Amy Elsner
1017Maria J StockhamSpain2024-06-21Truhlar And Truhlar Attys PROPOSAL21Stephen Shaw
1018Chavez S CaldareraCanada2024-06-14Buckley Miller Wright PROPOSAL47Bernardo Dominic
1019Murillo B FollerIndia2024-06-21King, Christopher A Esq QUALIFIED3Xuxue Feng
1020Izzy J DilliardIndia2024-06-09Printing Dimensions UNQUALIFIED73Xuxue Feng
1021Greenwood Y FerenczCanada2024-05-23King, Christopher A Esq RENEWAL37Onyama Limba
1022James Y StensethJapan2024-06-08Chemel, James L Cpa QUALIFIED32Xuxue Feng
1023Smith C ChuiJapan2024-06-14Buckley Miller Wright UNQUALIFIED4Amy Elsner
1024Arvin M ShinkoIndia2024-05-28Buckley Miller Wright RENEWAL78Onyama Limba
1025Kadeem Q WaycottGermany2024-06-12Feltz Printing Service UNQUALIFIED16Ivan Magalhaes
1026Ashley T SergiRussia2024-06-07Printing Dimensions UNQUALIFIED52Ioni Bowcher
1027Clifford M StockhamItaly2024-06-08King, Christopher A Esq NEGOTIATION78Bernardo Dominic
1028Kadeem N CaudyGermany2024-06-19Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1029Cody W AmigonAustralia2024-05-28Rousseaux, Michael Esq NEW49Anna Fali
1030Isabel O MorascaSpain2024-05-29Commercial Press NEGOTIATION99Onyama Limba
1031Jeanfrancois R DoeRussia2024-06-04Morlong Associates RENEWAL43Bernardo Dominic
1032Chavez G BriddickUnited Kingdom2024-06-17Feiner Bros NEW34Ivan Magalhaes
1033Francesco V NestleGermany2024-05-28Morlong Associates PROPOSAL48Xuxue Feng
1034Sinclair Q FollerSpain2024-06-21Dorl, James J Esq NEW10Elwin Sharvill
1035Arvin U CampainArgentina2024-06-13Chanay, Jeffrey A Esq PROPOSAL2Ivan Magalhaes
1036Jefferson L MacleadItaly2024-06-16Rousseaux, Michael Esq QUALIFIED94Elwin Sharvill
1037Greenwood G PerinJapan2024-06-07Feiner Bros NEGOTIATION44Asiya Javayant
1038Silvio P CaudyCanada2024-06-03Buckley Miller Wright NEGOTIATION87Anna Fali
1039Leon A StensethIndia2024-05-23Dorl, James J Esq PROPOSAL57Asiya Javayant
1040Alejandro A FollerIndia2024-05-30Benton, John B Jr UNQUALIFIED72Bernardo Dominic
1041Cody H NestleCanada2024-06-02Morlong Associates QUALIFIED44Onyama Limba
1042James E SchemmerItaly2024-06-11Truhlar And Truhlar Attys PROPOSAL41Stephen Shaw
1043Octavia N AlbaresCanada2024-06-20King, Christopher A Esq NEW67Elwin Sharvill
1044Kaitlin Y AlbaresBrazil2024-06-20Truhlar And Truhlar Attys UNQUALIFIED18Ivan Magalhaes
1045Nicolas J VocelkaIndia2024-06-06Printing Dimensions QUALIFIED86Onyama Limba
1046David E GlickAustralia2024-06-10Chemel, James L Cpa PROPOSAL51Elwin Sharvill
1047Arvin E OstroskyGermany2024-06-14Commercial Press RENEWAL60Ivan Magalhaes
1048Nicolas F FlosiRussia2024-06-06Chanay, Jeffrey A Esq NEGOTIATION99Bernardo Dominic
1049Greenwood Q PaprockiUnited Kingdom2024-05-24Dorl, James J Esq NEGOTIATION33Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois Z PaprockiCanadaAnna Fali NEGOTIATION
Francesco T AlbaresJapanIvan Magalhaes RENEWAL
Ashley K CampainAustraliaStephen Shaw RENEWAL
Stacey N FlosiGermanyXuxue Feng NEW
Munro C IturbideRussiaIvan Magalhaes QUALIFIED
Darci J PoquetteSpainIoni Bowcher UNQUALIFIED
Munro R OstroskyJapanElwin Sharvill QUALIFIED
Ricardo O SaylorsArgentinaElwin Sharvill QUALIFIED
Mujtaba E TollnerIndiaXuxue Feng PROPOSAL
David W CaudyArgentinaOnyama Limba NEW
David N AmigonArgentinaAmy Elsner QUALIFIED
Costa O WieserSpainAnna Fali PROPOSAL
Chavez R StensethJapanAsiya Javayant NEW
Ricardo U ButtIndiaOnyama Limba NEGOTIATION
Murillo Y GauchoFranceElwin Sharvill NEGOTIATION
Aika T FollerUnited KingdomElwin Sharvill QUALIFIED
Stacey C InouyeIndiaStephen Shaw NEW
Arvin I KolmetzJapanStephen Shaw PROPOSAL
Isabel U BowleySpainElwin Sharvill NEGOTIATION
Leja H TollnerGermanyAmy Elsner NEGOTIATION
Ricardo C RimAustraliaBernardo Dominic PROPOSAL
Misaki I KolmetzSpainAnna Fali NEW
Julie B PoquetteFranceIvan Magalhaes NEW
Arvin D SergiFranceAsiya Javayant NEGOTIATION
Wickens J VocelkaGermanyXuxue Feng NEGOTIATION
Clifford G ButtUnited KingdomAnna Fali RENEWAL
Kaitlin U ButtGermanyStephen Shaw UNQUALIFIED
Emily M CampainArgentinaBernardo Dominic UNQUALIFIED
Arvin G TollnerSpainElwin Sharvill UNQUALIFIED
Arvin Y BologniaBrazilBernardo Dominic UNQUALIFIED
Juan R PaprockiRussiaBernardo Dominic NEGOTIATION
Izzy N PaprockiFranceAmy Elsner PROPOSAL
Deepesh B RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Aditya W DarakjyUnited KingdomAsiya Javayant QUALIFIED
Aditya Q MarrierSpainIoni Bowcher PROPOSAL
Maisha O DilliardSpainAmy Elsner NEW
Julie F NickaUnited KingdomAsiya Javayant UNQUALIFIED
Cody J GauchoIndiaAmy Elsner NEW
Mujtaba C PerinFranceBernardo Dominic PROPOSAL
Jennifer V NestleItalyIvan Magalhaes NEW
Emily O MaletArgentinaElwin Sharvill NEW
Rodrigues K ButtSpainAsiya Javayant QUALIFIED
Jefferson N ChuiRussiaStephen Shaw PROPOSAL
Francesco H FollerIndiaOnyama Limba QUALIFIED
Cody M NickaArgentinaOnyama Limba UNQUALIFIED
Adams D InouyeArgentinaStephen Shaw RENEWAL
Aditya I VocelkaSpainBernardo Dominic QUALIFIED
Silvio G GarufiAustraliaXuxue Feng UNQUALIFIED
Francesco E BowleyFranceAsiya Javayant QUALIFIED
Stacey Y OstroskyGermanyElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Smith V Ostrosky
Adams Z Chui
Octavia P Maclead
Julie R Saylors
Clifford R Gaucho
Kadeem Y Glick
Antonio V Amigon
Jefferson A Bolognia
Munro N Inouye
Misaki N Morasca
Julie H Garufi
Wickens X Nicka
Clifford X Stockham
Johnson L Ferencz
Juan C Kusko
Emily L Whobrey
Octavia J Saylors
Jeanfrancois P Bowley
Chavez J Shinko
Salvatore O Vocelka
Ivar U Shinko
Darci A Stenseth
Smith U Kolmetz
Julie B Glick
Salvatore H Briddick
Silvio D Poquette
Nicolas B Poquette
Salvatore U Foller
Silvio M Perin
Francesco H Morasca
Mujtaba P Inouye
Kadeem J Darakjy
Ivar H Briddick
Jennifer U Oldroyd
Sinclair F Malet
Mujtaba W Ruta
James L Campain
Tony E Inouye
Arvin D Waycott
Adams J Morasca
Stacey F Wieser
Juan M Sergi
Claire Q Albares
Alejandro M Morasca
Aika R Whobrey
Salvatore X Royster
Julie S Poquette
Isabel B Malet
Smith G Butt
Kaitlin O Maclead
IdCountryDate
1000Argentina2024-06-17
1001India2024-06-21
1002India2024-05-31
1003France2024-06-06
1004United Kingdom2024-06-12
1005Argentina2024-06-16
1006Australia2024-05-31
1007Germany2024-05-26
1008Spain2024-06-12
1009Russia2024-05-23
1010France2024-05-27
1011Brazil2024-05-26
1012Spain2024-06-03
1013Argentina2024-06-07
1014Germany2024-06-01
1015Australia2024-05-31
1016United Kingdom2024-06-18
1017Brazil2024-05-25
1018Australia2024-06-18
1019Japan2024-06-21
1020Germany2024-05-27
1021Canada2024-05-30
1022Japan2024-06-08
1023Germany2024-06-16
1024Argentina2024-06-05
1025Russia2024-06-20
1026France2024-06-15
1027Australia2024-06-09
1028United Kingdom2024-06-13
1029Russia2024-06-21
1030Russia2024-06-20
1031Germany2024-05-30
1032Germany2024-05-29
1033India2024-06-15
1034France2024-05-30
1035Canada2024-06-16
1036Argentina2024-06-17
1037Brazil2024-05-26
1038Argentina2024-06-14
1039Japan2024-06-14
1040Argentina2024-05-24
1041Argentina2024-06-11
1042Russia2024-06-12
1043United Kingdom2024-05-28
1044France2024-06-10
1045Spain2024-06-15
1046Russia2024-06-06
1047Spain2024-05-31
1048France2024-06-17
1049India2024-06-12

On-Demand Data

NameIdCountryDate
Jones G Ostrosky1000Spain2024-05-29
Greenwood T Bowley1001United Kingdom2024-05-24
Jones T Figeroa1002United Kingdom2024-06-08
Mayumi E Sergi1003Australia2024-06-21
Deepesh O Gillian1004Argentina2024-06-13
Arvin Z Perin1005Brazil2024-06-01
Smith W Caudy1006Japan2024-05-27
Murillo M Slusarski1007United Kingdom2024-06-11
Mujtaba S Iturbide1008Brazil2024-05-26
Ashley J Nicka1009United Kingdom2024-06-03
Arvin C Rim1010Argentina2024-06-15
Francesco G Nicka1011Japan2024-06-04
Maria B Whobrey1012Argentina2024-06-12
Aika E Nestle1013India2024-05-23
Murillo Z Stenseth1014Japan2024-06-06
Ashley A Paprocki1015Italy2024-06-01
Sinclair K Saylors1016Brazil2024-05-28
Jeanfrancois C Caldarera1017Spain2024-06-19
Aruna F Oldroyd1018Germany2024-05-26
Clifford Y Waycott1019Spain2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh A SlusarskiGermanyIoni Bowcher NEW
Faith G RutaRussiaAnna Fali NEW
Munro Y ButtGermanyAmy Elsner NEW
Arvin T ButtBrazilAmy Elsner QUALIFIED
Kaitlin A MarrierRussiaOnyama Limba QUALIFIED
Juan E MaletJapanAmy Elsner PROPOSAL
Misaki D AmigonArgentinaAsiya Javayant NEGOTIATION
Salvatore D CaldareraJapanOnyama Limba UNQUALIFIED
Cody L SaylorsBrazilElwin Sharvill RENEWAL
Octavia C NestleGermanyOnyama Limba RENEWAL
Ashley D VenereGermanyIoni Bowcher RENEWAL
Adams D WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey U SaylorsIndiaElwin Sharvill NEGOTIATION
Emily S FerenczIndiaAnna Fali QUALIFIED
Antonio O MorascaUnited KingdomAmy Elsner NEGOTIATION
Silvio G ButtBrazilIoni Bowcher QUALIFIED
Johnson U SlusarskiJapanAsiya Javayant RENEWAL
Jefferson E DarakjyAustraliaIvan Magalhaes RENEWAL
David B PaprockiGermanyElwin Sharvill QUALIFIED
Alejandro T FerenczGermanyBernardo Dominic UNQUALIFIED
Darci G SchemmerCanadaBernardo Dominic UNQUALIFIED
Salvatore D WaycottFranceElwin Sharvill QUALIFIED
Rodrigues W ButtRussiaIvan Magalhaes UNQUALIFIED
Aruna R NestleIndiaIoni Bowcher NEGOTIATION
Adams R DilliardFranceElwin Sharvill QUALIFIED
Kaitlin H ButtArgentinaAnna Fali PROPOSAL
Cody V BowleyFranceElwin Sharvill PROPOSAL
Costa W TollnerGermanyAsiya Javayant PROPOSAL
Alejandro M ChuiJapanBernardo Dominic RENEWAL
Cody F ShinkoJapanOnyama Limba QUALIFIED
Aruna U ShinkoRussiaAsiya Javayant QUALIFIED
Claire J SchemmerBrazilAsiya Javayant NEGOTIATION
Kadeem D GarufiBrazilXuxue Feng NEW
Izzy C BowleyGermanyOnyama Limba RENEWAL
Silvio W BriddickSpainAsiya Javayant RENEWAL
James V KuskoGermanyElwin Sharvill NEGOTIATION
Claire M FlosiJapanAmy Elsner QUALIFIED
Morrow U InouyeCanadaAnna Fali UNQUALIFIED
Isabel A InouyeBrazilBernardo Dominic PROPOSAL
Aika Y BriddickGermanyAnna Fali 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>