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
Antonio I ChuiItalyOnyama Limba NEW
Ricardo Q GarufiItalyOnyama Limba RENEWAL
Murillo L MorascaItalyOnyama Limba PROPOSAL
Aruna M IturbideIndiaAmy Elsner NEW
Mujtaba P OstroskyBrazilAsiya Javayant NEW
Kaitlin M FlosiJapanOnyama Limba PROPOSAL
James H PerinJapanOnyama Limba PROPOSAL
Nicolas N CampainFranceAnna Fali QUALIFIED
Julie T RutaFranceXuxue Feng QUALIFIED
Aditya I NickaItalyAnna Fali QUALIFIED
Cody X CaudyBrazilIoni Bowcher QUALIFIED
Aditya H FerenczCanadaBernardo Dominic QUALIFIED
Isabel E IturbideSpainAsiya Javayant QUALIFIED
Mujtaba M VenereCanadaElwin Sharvill NEW
Maisha B MaletJapanStephen Shaw NEGOTIATION
Isabel L WaycottBrazilIoni Bowcher RENEWAL
Arvin D SchemmerIndiaXuxue Feng RENEWAL
Ashley H FollerBrazilElwin Sharvill UNQUALIFIED
Darci W BowleyArgentinaBernardo Dominic UNQUALIFIED
Leja J CampainItalyIvan Magalhaes QUALIFIED
Silvio G RimJapanIoni Bowcher PROPOSAL
Chavez X SchemmerItalyAsiya Javayant PROPOSAL
Sinclair K MaletRussiaAnna Fali PROPOSAL
Ricardo K FigeroaCanadaAnna Fali RENEWAL
Ricardo F MaletIndiaElwin Sharvill UNQUALIFIED
Darci L SergiAustraliaIvan Magalhaes PROPOSAL
Johnson H WieserIndiaAsiya Javayant NEGOTIATION
Kaitlin Z ShinkoIndiaAnna Fali PROPOSAL
Johnson O NestleCanadaIvan Magalhaes RENEWAL
Misaki Y CampainIndiaElwin Sharvill PROPOSAL
Mayumi W FerenczArgentinaIoni Bowcher UNQUALIFIED
Claire W MorascaGermanyIvan Magalhaes QUALIFIED
James D CampainGermanyAmy Elsner QUALIFIED
Murillo H VocelkaSpainOnyama Limba UNQUALIFIED
Izzy E PerinIndiaAnna Fali PROPOSAL
Aruna M MarrierFranceXuxue Feng QUALIFIED
Darci F InouyeGermanyAsiya Javayant NEGOTIATION
Rodrigues M SchemmerBrazilIvan Magalhaes PROPOSAL
Ashley K RutaItalyAsiya Javayant NEGOTIATION
Greenwood S DilliardArgentinaXuxue Feng PROPOSAL
Stacey P TollnerRussiaStephen Shaw QUALIFIED
Stacey K SlusarskiRussiaXuxue Feng NEGOTIATION
Stacey F StockhamCanadaIoni Bowcher RENEWAL
Ricardo T ButtUnited KingdomAmy Elsner QUALIFIED
Clifford K RoysterIndiaBernardo Dominic UNQUALIFIED
Emily U TollnerSpainOnyama Limba PROPOSAL
Nicolas R KuskoUnited KingdomStephen Shaw NEW
Claire Q InouyeItalyIvan Magalhaes PROPOSAL
Smith Q SchemmerFranceIoni Bowcher PROPOSAL
Cody C CaldareraBrazilAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois B ButtFranceAmy Elsner NEW
Juan Y AlbaresSpainIoni Bowcher NEGOTIATION
Sinclair X ButtRussiaElwin Sharvill NEW
Aika N RulapaughSpainBernardo Dominic PROPOSAL
Leon U GauchoIndiaStephen Shaw NEW
Ashley R VenereFranceAsiya Javayant QUALIFIED
Kaitlin D WaycottArgentinaOnyama Limba NEW
Deepesh H ButtSpainElwin Sharvill UNQUALIFIED
Arvin X PoquetteArgentinaXuxue Feng NEW
Claire Q RutaCanadaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio R IturbideSpain2024-06-18Truhlar And Truhlar Attys NEGOTIATION15Anna Fali
1001Jeanfrancois S ButtRussia2024-05-28Chanay, Jeffrey A Esq PROPOSAL69Ivan Magalhaes
1002Nicolas K SergiArgentina2024-06-17Feltz Printing Service NEW55Anna Fali
1003Kadeem J IturbideBrazil2024-05-22Truhlar And Truhlar Attys NEGOTIATION85Elwin Sharvill
1004Misaki G GillianUnited Kingdom2024-05-20Rangoni Of Florence PROPOSAL3Ioni Bowcher
1005Salvatore A TollnerJapan2024-05-25Commercial Press UNQUALIFIED55Asiya Javayant
1006Isabel E MaletAustralia2024-06-03Truhlar And Truhlar Attys UNQUALIFIED33Onyama Limba
1007Leon W MaletUnited Kingdom2024-06-13Commercial Press QUALIFIED16Ioni Bowcher
1008Octavia K BologniaFrance2024-06-04Morlong Associates NEW8Ivan Magalhaes
1009Faith C VenereUnited Kingdom2024-06-16Printing Dimensions PROPOSAL76Anna Fali
1010Jeanfrancois M GauchoCanada2024-05-26Benton, John B Jr NEGOTIATION14Amy Elsner
1011Juan H WieserFrance2024-05-26Chemel, James L Cpa NEGOTIATION24Onyama Limba
1012Darci K GarufiUnited Kingdom2024-06-01Benton, John B Jr NEW50Amy Elsner
1013Munro Z KolmetzGermany2024-05-23Rousseaux, Michael Esq QUALIFIED20Xuxue Feng
1014Smith A FlosiItaly2024-06-04Chanay, Jeffrey A Esq NEGOTIATION42Elwin Sharvill
1015David M KolmetzUnited Kingdom2024-06-14Commercial Press NEW45Amy Elsner
1016Jennifer Q StockhamAustralia2024-06-07Benton, John B Jr QUALIFIED74Asiya Javayant
1017Rodrigues X NestleRussia2024-06-14Feiner Bros RENEWAL20Bernardo Dominic
1018Johnson D CaudyBrazil2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED69Ioni Bowcher
1019Smith Y FollerIndia2024-05-21King, Christopher A Esq NEW47Anna Fali
1020Leon T CampainArgentina2024-06-01Benton, John B Jr QUALIFIED69Xuxue Feng
1021Nicolas R RutaRussia2024-05-26Chanay, Jeffrey A Esq RENEWAL57Asiya Javayant
1022Morrow M OstroskyAustralia2024-05-25Feiner Bros UNQUALIFIED44Onyama Limba
1023Aruna M MacleadUnited Kingdom2024-06-10King, Christopher A Esq NEGOTIATION15Ioni Bowcher
1024Morrow A BriddickAustralia2024-05-23Rousseaux, Michael Esq RENEWAL31Bernardo Dominic
1025Mujtaba U RutaIndia2024-06-17Rousseaux, Michael Esq UNQUALIFIED33Asiya Javayant
1026Jones S WhobreyGermany2024-06-14Chanay, Jeffrey A Esq NEW71Ivan Magalhaes
1027Mujtaba V StockhamAustralia2024-05-22Benton, John B Jr UNQUALIFIED76Elwin Sharvill
1028Darci B SergiAustralia2024-06-18Commercial Press QUALIFIED11Asiya Javayant
1029Kaitlin A RulapaughRussia2024-05-22Morlong Associates QUALIFIED36Ioni Bowcher
1030Maisha Y SchemmerJapan2024-06-11Feltz Printing Service UNQUALIFIED70Ioni Bowcher
1031Smith N ShinkoIndia2024-06-12Feiner Bros RENEWAL41Elwin Sharvill
1032Salvatore P SergiItaly2024-05-25Commercial Press PROPOSAL22Asiya Javayant
1033Misaki T SaylorsArgentina2024-06-12Chanay, Jeffrey A Esq QUALIFIED86Stephen Shaw
1034Jeanfrancois I VenereIndia2024-06-10Feiner Bros RENEWAL70Amy Elsner
1035Jennifer Z GlickUnited Kingdom2024-05-30Chemel, James L Cpa QUALIFIED10Bernardo Dominic
1036David Q StockhamAustralia2024-05-29Chapman, Ross E Esq UNQUALIFIED71Asiya Javayant
1037Claire O GauchoBrazil2024-06-10Rangoni Of Florence UNQUALIFIED1Onyama Limba
1038Aika H PerinUnited Kingdom2024-05-23Rangoni Of Florence NEW46Ivan Magalhaes
1039Antonio B GarufiJapan2024-06-17Rousseaux, Michael Esq PROPOSAL8Ioni Bowcher
1040Sinclair M GauchoGermany2024-06-08Dorl, James J Esq RENEWAL0Xuxue Feng
1041Costa B SergiFrance2024-05-21Feiner Bros UNQUALIFIED9Bernardo Dominic
1042Mayumi Q FigeroaAustralia2024-05-20Buckley Miller Wright NEW49Asiya Javayant
1043Emily W NestleRussia2024-05-21Feiner Bros QUALIFIED58Onyama Limba
1044Arvin Q BriddickRussia2024-06-06Chapman, Ross E Esq UNQUALIFIED69Amy Elsner
1045Silvio Y WaycottItaly2024-06-06Printing Dimensions RENEWAL15Anna Fali
1046Kadeem W DilliardAustralia2024-06-09King, Christopher A Esq NEGOTIATION7Anna Fali
1047Sinclair D AmigonArgentina2024-05-21King, Christopher A Esq PROPOSAL5Asiya Javayant
1048Leja O GlickIndia2024-06-14Printing Dimensions NEW87Amy Elsner
1049Arvin J RutaFrance2024-06-18Feltz Printing Service QUALIFIED51Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Octavia V PerinAustraliaBernardo Dominic PROPOSAL
Izzy W MarrierSpainOnyama Limba RENEWAL
Mujtaba W NickaJapanAnna Fali RENEWAL
Alejandro K RimArgentinaAsiya Javayant NEGOTIATION
Claire T DoeRussiaIvan Magalhaes RENEWAL
Munro O VocelkaGermanyAmy Elsner RENEWAL
Maisha Z MaletCanadaBernardo Dominic PROPOSAL
Ivar N IturbideIndiaOnyama Limba NEW
Jones P VocelkaFranceAmy Elsner QUALIFIED
Sinclair Y SchemmerGermanyAmy Elsner NEGOTIATION
Faith S WieserRussiaOnyama Limba NEGOTIATION
Ivar S NickaIndiaXuxue Feng PROPOSAL
Misaki O CampainFranceBernardo Dominic UNQUALIFIED
Izzy Q PerinItalyElwin Sharvill NEGOTIATION
Ricardo I CampainAustraliaAnna Fali QUALIFIED
Cody M ShinkoIndiaElwin Sharvill PROPOSAL
Murillo M GlickSpainElwin Sharvill PROPOSAL
Chavez D CaudySpainAnna Fali UNQUALIFIED
Stacey N NestleUnited KingdomStephen Shaw NEGOTIATION
Mujtaba O GillianAustraliaAsiya Javayant RENEWAL
Chavez M KuskoCanadaXuxue Feng UNQUALIFIED
Kadeem R OstroskyGermanyBernardo Dominic NEGOTIATION
Octavia V CaldareraAustraliaBernardo Dominic NEGOTIATION
Claire N DarakjyIndiaStephen Shaw NEW
Jennifer M GauchoJapanElwin Sharvill UNQUALIFIED
Tony I GlickArgentinaAnna Fali PROPOSAL
Salvatore A SlusarskiBrazilElwin Sharvill QUALIFIED
Julie S MarrierBrazilAnna Fali UNQUALIFIED
Smith W MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Claire V MorascaIndiaElwin Sharvill PROPOSAL
Jefferson O GillianJapanAsiya Javayant UNQUALIFIED
Rodrigues R MaletJapanAsiya Javayant UNQUALIFIED
Ricardo O MaletSpainStephen Shaw PROPOSAL
Juan I DoeSpainIvan Magalhaes NEGOTIATION
Darci P BologniaAustraliaIvan Magalhaes PROPOSAL
Claire P NestleRussiaStephen Shaw RENEWAL
Claire Y DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Juan W StensethJapanAmy Elsner NEW
Clifford E DilliardFranceOnyama Limba NEGOTIATION
Silvio H ButtSpainIoni Bowcher NEGOTIATION
Julie C GillianFranceStephen Shaw UNQUALIFIED
Maria L CaldareraBrazilAsiya Javayant PROPOSAL
Leon Z ShinkoRussiaAmy Elsner PROPOSAL
Aruna T BriddickAustraliaAsiya Javayant NEW
Johnson X SchemmerJapanIoni Bowcher RENEWAL
Rodrigues Z MaletGermanyAnna Fali PROPOSAL
Silvio T WaycottRussiaIvan Magalhaes RENEWAL
Julie I BologniaJapanXuxue Feng NEW
Juan L ShinkoIndiaElwin Sharvill NEGOTIATION
Julie B CaudyUnited KingdomOnyama Limba RENEWAL
Frozen Columns
Name
Emily G Poquette
Aruna A Stockham
Nicolas I Royster
David G Stockham
Greenwood C Bowley
Claire J Whobrey
Leja J Poquette
Mujtaba Q Chui
Tony S Paprocki
Greenwood Z Wieser
Faith C Ruta
Juan G Paprocki
Octavia H Rulapaugh
Leja S Slusarski
Ricardo Z Stockham
Johnson T Rim
Misaki J Tollner
Johnson N Stockham
Stacey M Campain
Aika Z Doe
Greenwood X Shinko
Juan O Albares
Darci K Ruta
Ivar W Marrier
Ashley F Dilliard
Wickens R Marrier
Ashley G Stockham
Izzy A Amigon
Claire P Paprocki
Leon D Slusarski
Juan Y Nestle
Wickens A Caudy
Wickens M Flosi
Octavia D Campain
Claire Q Darakjy
Mayumi C Vocelka
Kaitlin W Paprocki
Claire R Inouye
Octavia X Glick
Ivar N Bowley
Adams C Caudy
Munro Y Malet
Silvio U Sergi
Deepesh M Ruta
Julie K Dilliard
Costa D Garufi
Mujtaba P Poquette
Wickens P Poquette
Smith N Darakjy
Kaitlin B Bolognia
IdCountryDate
1000Russia2024-06-15
1001France2024-05-20
1002Brazil2024-06-16
1003France2024-05-31
1004Italy2024-06-04
1005India2024-06-15
1006Japan2024-06-04
1007Brazil2024-05-21
1008Canada2024-06-11
1009Japan2024-06-07
1010India2024-05-24
1011Canada2024-06-03
1012Argentina2024-06-09
1013Argentina2024-05-20
1014Italy2024-05-30
1015Russia2024-05-23
1016Germany2024-05-26
1017Germany2024-06-07
1018Brazil2024-06-09
1019India2024-06-04
1020Brazil2024-05-21
1021United Kingdom2024-06-05
1022Brazil2024-06-06
1023Argentina2024-06-02
1024Germany2024-05-25
1025Italy2024-05-20
1026France2024-05-21
1027Italy2024-05-30
1028United Kingdom2024-06-15
1029Spain2024-06-05
1030United Kingdom2024-05-29
1031Argentina2024-06-01
1032Australia2024-05-23
1033United Kingdom2024-06-09
1034Germany2024-06-03
1035Argentina2024-06-02
1036Argentina2024-06-11
1037Italy2024-05-23
1038India2024-05-22
1039Argentina2024-06-14
1040United Kingdom2024-06-15
1041Brazil2024-05-26
1042Spain2024-05-31
1043Spain2024-05-26
1044Australia2024-05-20
1045France2024-05-23
1046Canada2024-05-24
1047Brazil2024-06-09
1048Australia2024-06-06
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Jones Q Royster1000Italy2024-06-15
Aruna G Amigon1001Australia2024-05-25
Octavia V Foller1002Spain2024-05-20
Greenwood I Gaucho1003Argentina2024-06-11
Wickens E Bolognia1004Australia2024-05-29
Smith L Wieser1005Germany2024-05-26
Cody W Sergi1006Japan2024-06-07
Aditya H Doe1007Brazil2024-05-30
Clifford D Ferencz1008Argentina2024-06-08
Mayumi I Dilliard1009United Kingdom2024-06-02
Leon Z Darakjy1010Japan2024-06-17
Johnson D Morasca1011Italy2024-06-04
Wickens E Marrier1012United Kingdom2024-05-22
Kadeem C Whobrey1013Spain2024-05-23
Murillo Q Briddick1014France2024-05-22
Kadeem J Amigon1015India2024-06-13
Jones H Paprocki1016Germany2024-05-29
Arvin S Chui1017Russia2024-06-11
Julie Z Morasca1018United Kingdom2024-06-16
Jefferson V Wieser1019Russia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika R CampainSpainIoni Bowcher NEW
Costa X IturbideJapanBernardo Dominic QUALIFIED
Chavez P AlbaresRussiaAsiya Javayant RENEWAL
Maria R KuskoArgentinaXuxue Feng QUALIFIED
David B WaycottAustraliaElwin Sharvill NEW
Johnson F BowleySpainIvan Magalhaes QUALIFIED
Jeanfrancois Z RulapaughArgentinaStephen Shaw UNQUALIFIED
Arvin E PerinFranceAmy Elsner NEW
Kaitlin P DilliardUnited KingdomAnna Fali NEGOTIATION
Clifford E MorascaGermanyAmy Elsner QUALIFIED
Aruna T StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Jones J PaprockiArgentinaAnna Fali NEW
Smith Y CaldareraIndiaXuxue Feng NEGOTIATION
Nicolas X PoquetteRussiaXuxue Feng PROPOSAL
Juan G StensethBrazilStephen Shaw RENEWAL
Rodrigues I AlbaresGermanyBernardo Dominic NEGOTIATION
Leja K FollerItalyXuxue Feng NEW
Mayumi J BologniaItalyStephen Shaw NEGOTIATION
Jefferson P WaycottGermanyBernardo Dominic NEW
Kadeem M GillianUnited KingdomOnyama Limba QUALIFIED
Juan X NickaItalyIoni Bowcher NEW
Salvatore M RulapaughSpainOnyama Limba QUALIFIED
Rodrigues A DarakjyCanadaIvan Magalhaes PROPOSAL
Morrow O NestleGermanyOnyama Limba QUALIFIED
Murillo A DarakjyArgentinaAnna Fali PROPOSAL
Antonio W TollnerBrazilOnyama Limba NEW
Munro E SaylorsArgentinaElwin Sharvill RENEWAL
Juan V OstroskyRussiaXuxue Feng PROPOSAL
Isabel L FlosiAustraliaElwin Sharvill PROPOSAL
Stacey B FerenczIndiaXuxue Feng NEGOTIATION
Aruna X WieserIndiaIvan Magalhaes NEGOTIATION
Mujtaba V DoeGermanyElwin Sharvill NEW
Ivar H VocelkaIndiaBernardo Dominic PROPOSAL
Maisha V RutaIndiaIoni Bowcher RENEWAL
Antonio E NestleCanadaElwin Sharvill RENEWAL
Aruna C AmigonFranceXuxue Feng QUALIFIED
Salvatore R InouyeItalyAsiya Javayant QUALIFIED
Nicolas X ChuiAustraliaAsiya Javayant NEGOTIATION
Wickens Y ShinkoArgentinaElwin Sharvill NEW
Francesco G ShinkoRussiaOnyama Limba 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>