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
Mayumi I OldroydFranceAsiya Javayant UNQUALIFIED
Ashley W WieserAustraliaIoni Bowcher UNQUALIFIED
Murillo T BowleyItalyXuxue Feng RENEWAL
Jennifer W CampainIndiaElwin Sharvill NEW
Johnson E DoeFranceAsiya Javayant QUALIFIED
Salvatore R ShinkoArgentinaOnyama Limba UNQUALIFIED
Morrow R InouyeJapanIoni Bowcher NEGOTIATION
Ashley F MorascaCanadaAmy Elsner UNQUALIFIED
Munro M MacleadItalyAsiya Javayant PROPOSAL
Rodrigues K SchemmerBrazilElwin Sharvill QUALIFIED
Murillo P KolmetzArgentinaElwin Sharvill NEGOTIATION
Ivar O FlosiIndiaXuxue Feng QUALIFIED
Claire Y GlickUnited KingdomElwin Sharvill NEGOTIATION
Cody Y InouyeIndiaElwin Sharvill NEGOTIATION
Greenwood T CampainIndiaBernardo Dominic NEW
Chavez T KolmetzBrazilAsiya Javayant RENEWAL
Wickens P WieserBrazilAmy Elsner NEW
Jones H NickaItalyXuxue Feng QUALIFIED
Cody M KolmetzJapanBernardo Dominic RENEWAL
Antonio S ShinkoSpainIoni Bowcher PROPOSAL
Leja S AmigonBrazilAnna Fali UNQUALIFIED
Alejandro Q OstroskyAustraliaBernardo Dominic RENEWAL
Claire C CampainArgentinaBernardo Dominic NEW
Jeanfrancois U GillianRussiaElwin Sharvill QUALIFIED
Rodrigues O OstroskyRussiaIvan Magalhaes PROPOSAL
Antonio E NickaRussiaBernardo Dominic NEGOTIATION
Julie V MaletFranceXuxue Feng NEW
Sinclair N InouyeBrazilStephen Shaw UNQUALIFIED
Jefferson V WhobreyIndiaAnna Fali PROPOSAL
Mayumi A FerenczFranceAnna Fali PROPOSAL
Maria J KuskoCanadaBernardo Dominic UNQUALIFIED
Nicolas A VenereItalyOnyama Limba NEGOTIATION
Clifford H BologniaIndiaOnyama Limba NEW
Leon O PoquetteFranceAmy Elsner UNQUALIFIED
Jeanfrancois S KolmetzJapanStephen Shaw QUALIFIED
Smith X GarufiCanadaAnna Fali PROPOSAL
Deepesh E BowleyGermanyStephen Shaw UNQUALIFIED
Jeanfrancois R MaletIndiaStephen Shaw QUALIFIED
Adams J CampainItalyAnna Fali UNQUALIFIED
Smith D RutaItalyElwin Sharvill NEW
Smith W MaletAustraliaOnyama Limba QUALIFIED
Francesco G FlosiFranceBernardo Dominic UNQUALIFIED
Silvio T GlickItalyOnyama Limba RENEWAL
Ricardo Z GarufiRussiaIvan Magalhaes QUALIFIED
Mujtaba R NickaBrazilAsiya Javayant NEW
Mayumi S TollnerArgentinaStephen Shaw NEGOTIATION
Claire R MaletUnited KingdomIoni Bowcher PROPOSAL
Greenwood B RimUnited KingdomBernardo Dominic NEW
Alejandro R SaylorsFranceIvan Magalhaes UNQUALIFIED
Jefferson F MaletCanadaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore Y BriddickGermanyAmy Elsner UNQUALIFIED
Jefferson R SlusarskiUnited KingdomStephen Shaw RENEWAL
James T InouyeAustraliaBernardo Dominic QUALIFIED
Wickens D MacleadAustraliaXuxue Feng UNQUALIFIED
Murillo Z WieserJapanIoni Bowcher PROPOSAL
Munro J CaudyFranceStephen Shaw NEW
Mujtaba D KolmetzSpainOnyama Limba NEGOTIATION
Mujtaba N AlbaresSpainAnna Fali PROPOSAL
Darci P MacleadItalyAsiya Javayant PROPOSAL
Ivar B CaldareraItalyAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones V PaprockiGermany2024-05-26Printing Dimensions RENEWAL47Stephen Shaw
1001Rodrigues Q RutaJapan2024-05-01Rousseaux, Michael Esq PROPOSAL12Amy Elsner
1002Alejandro O GlickUnited Kingdom2024-04-30Dorl, James J Esq QUALIFIED18Elwin Sharvill
1003Jeanfrancois V MaletUnited Kingdom2024-05-10Chanay, Jeffrey A Esq NEGOTIATION47Stephen Shaw
1004Smith D WhobreyCanada2024-05-22Chapman, Ross E Esq NEGOTIATION97Ivan Magalhaes
1005Leon H AlbaresArgentina2024-05-05Chanay, Jeffrey A Esq NEGOTIATION59Onyama Limba
1006Arvin G PerinItaly2024-05-13Buckley Miller Wright RENEWAL91Bernardo Dominic
1007Ashley M DarakjyFrance2024-04-29Rangoni Of Florence PROPOSAL18Asiya Javayant
1008Alejandro Q MacleadRussia2024-04-29Dorl, James J Esq RENEWAL71Ivan Magalhaes
1009Wickens W SlusarskiItaly2024-05-17Benton, John B Jr QUALIFIED20Amy Elsner
1010Maisha K MorascaFrance2024-05-23Chanay, Jeffrey A Esq NEGOTIATION80Ioni Bowcher
1011Chavez W RutaRussia2024-05-20Commercial Press NEW43Ioni Bowcher
1012Faith F MaletUnited Kingdom2024-05-10Dorl, James J Esq RENEWAL61Stephen Shaw
1013Francesco K RimAustralia2024-05-11Chapman, Ross E Esq NEW97Xuxue Feng
1014Leon S NickaGermany2024-05-16Feltz Printing Service RENEWAL69Onyama Limba
1015Aruna G MorascaJapan2024-05-23Benton, John B Jr PROPOSAL19Ioni Bowcher
1016Ashley S BowleyAustralia2024-05-19Dorl, James J Esq PROPOSAL86Stephen Shaw
1017Faith Z BologniaArgentina2024-05-08King, Christopher A Esq PROPOSAL8Anna Fali
1018Silvio D MaletAustralia2024-05-12Morlong Associates NEGOTIATION24Ioni Bowcher
1019Jefferson L SergiArgentina2024-05-13Chanay, Jeffrey A Esq RENEWAL28Xuxue Feng
1020Emily O MacleadRussia2024-05-03Buckley Miller Wright NEGOTIATION51Elwin Sharvill
1021Salvatore W StockhamCanada2024-05-16Morlong Associates PROPOSAL50Elwin Sharvill
1022Deepesh S SlusarskiUnited Kingdom2024-05-15Feltz Printing Service NEW38Ivan Magalhaes
1023Greenwood E StensethBrazil2024-05-05Feiner Bros QUALIFIED14Bernardo Dominic
1024Faith V SlusarskiUnited Kingdom2024-05-23Truhlar And Truhlar Attys RENEWAL74Amy Elsner
1025Kaitlin Y NickaIndia2024-04-30Dorl, James J Esq NEGOTIATION92Elwin Sharvill
1026Kadeem B WhobreyFrance2024-05-09Chemel, James L Cpa UNQUALIFIED2Stephen Shaw
1027Aruna T VenereCanada2024-04-29King, Christopher A Esq PROPOSAL45Stephen Shaw
1028Smith B KolmetzJapan2024-05-18Benton, John B Jr QUALIFIED60Ioni Bowcher
1029Ashley N PerinArgentina2024-04-29Feltz Printing Service UNQUALIFIED89Anna Fali
1030Maisha X RulapaughFrance2024-05-02Chapman, Ross E Esq RENEWAL39Xuxue Feng
1031Murillo R RutaSpain2024-05-22King, Christopher A Esq NEGOTIATION81Elwin Sharvill
1032Leja J ShinkoFrance2024-05-12King, Christopher A Esq NEW74Stephen Shaw
1033Jennifer T RimRussia2024-05-15Printing Dimensions QUALIFIED34Asiya Javayant
1034Chavez F BriddickUnited Kingdom2024-05-07Buckley Miller Wright RENEWAL59Onyama Limba
1035Leon J CaldareraGermany2024-05-05Benton, John B Jr QUALIFIED56Amy Elsner
1036Isabel F SchemmerFrance2024-05-21Rousseaux, Michael Esq NEGOTIATION39Xuxue Feng
1037Clifford N SlusarskiArgentina2024-05-04Feltz Printing Service UNQUALIFIED29Elwin Sharvill
1038Aruna P MacleadArgentina2024-05-10King, Christopher A Esq RENEWAL95Ioni Bowcher
1039Aika C GarufiRussia2024-05-03Feiner Bros PROPOSAL13Anna Fali
1040Murillo C VocelkaCanada2024-05-02Chemel, James L Cpa RENEWAL20Onyama Limba
1041Deepesh T DoeJapan2024-05-17Truhlar And Truhlar Attys UNQUALIFIED30Asiya Javayant
1042Aika I StensethArgentina2024-05-24Rousseaux, Michael Esq PROPOSAL23Elwin Sharvill
1043Salvatore S MorascaBrazil2024-05-10Commercial Press PROPOSAL78Anna Fali
1044Maisha E StensethItaly2024-05-07Buckley Miller Wright RENEWAL55Onyama Limba
1045Kadeem I FigeroaAustralia2024-05-19Chanay, Jeffrey A Esq RENEWAL8Xuxue Feng
1046Alejandro V PerinArgentina2024-05-11Commercial Press UNQUALIFIED21Asiya Javayant
1047James D GlickJapan2024-05-23Buckley Miller Wright PROPOSAL41Xuxue Feng
1048Darci Y GlickSpain2024-04-30Morlong Associates QUALIFIED51Stephen Shaw
1049Aruna Q MarrierBrazil2024-05-22Benton, John B Jr RENEWAL82Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson L IturbideItalyStephen Shaw QUALIFIED
Julie U NestleIndiaStephen Shaw PROPOSAL
Maria W VenereSpainAmy Elsner UNQUALIFIED
Salvatore F MacleadBrazilXuxue Feng NEGOTIATION
Stacey T CaldareraRussiaOnyama Limba NEW
Emily A BologniaRussiaStephen Shaw RENEWAL
Ivar U FerenczUnited KingdomBernardo Dominic QUALIFIED
Aika L OldroydSpainAsiya Javayant NEGOTIATION
Wickens W InouyeCanadaAnna Fali QUALIFIED
Jones Y VenereAustraliaIoni Bowcher PROPOSAL
Ivar J VenereIndiaOnyama Limba QUALIFIED
Ashley O FollerRussiaOnyama Limba RENEWAL
Murillo X MaletJapanIoni Bowcher PROPOSAL
Johnson V GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Adams M DarakjyUnited KingdomStephen Shaw NEW
Emily F KolmetzJapanBernardo Dominic PROPOSAL
Antonio T ButtGermanyAmy Elsner UNQUALIFIED
Adams A SaylorsRussiaOnyama Limba QUALIFIED
Darci F MaletSpainStephen Shaw PROPOSAL
Jennifer H PoquetteItalyAmy Elsner UNQUALIFIED
Leon F FollerCanadaAsiya Javayant NEGOTIATION
Smith K SlusarskiRussiaBernardo Dominic PROPOSAL
Mayumi F FlosiGermanyIoni Bowcher UNQUALIFIED
Cody A FlosiCanadaElwin Sharvill NEGOTIATION
Arvin H AlbaresGermanyOnyama Limba PROPOSAL
Misaki E StockhamArgentinaIoni Bowcher RENEWAL
Ricardo S BriddickSpainElwin Sharvill NEW
Francesco G AlbaresSpainAmy Elsner RENEWAL
Kadeem A PoquetteAustraliaStephen Shaw NEGOTIATION
Murillo O BologniaRussiaAmy Elsner QUALIFIED
Johnson N MorascaSpainIvan Magalhaes PROPOSAL
David F ChuiFranceIvan Magalhaes UNQUALIFIED
Ivar C GauchoGermanyAnna Fali NEGOTIATION
Mujtaba H StockhamCanadaBernardo Dominic QUALIFIED
Arvin P FlosiJapanAsiya Javayant NEW
Greenwood N MarrierJapanOnyama Limba RENEWAL
Tony X CampainBrazilBernardo Dominic QUALIFIED
Silvio O ShinkoItalyIvan Magalhaes NEGOTIATION
Kadeem K ButtIndiaAsiya Javayant NEGOTIATION
Antonio N KuskoArgentinaBernardo Dominic PROPOSAL
Nicolas Z KolmetzItalyStephen Shaw PROPOSAL
Aditya N StensethJapanAsiya Javayant PROPOSAL
Nicolas P CaudyIndiaElwin Sharvill NEGOTIATION
Greenwood P MorascaSpainIoni Bowcher QUALIFIED
David N WaycottFranceAsiya Javayant PROPOSAL
Salvatore F ChuiIndiaElwin Sharvill PROPOSAL
Clifford H FigeroaIndiaElwin Sharvill RENEWAL
Salvatore A InouyeIndiaBernardo Dominic NEW
Murillo N RulapaughBrazilBernardo Dominic QUALIFIED
Silvio I WaycottJapanIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Jefferson D Gaucho
Wickens G Chui
Ricardo B Foller
Jefferson M Oldroyd
James O Perin
Aruna A Kusko
James Q Albares
Aruna S Royster
Jennifer G Malet
Antonio R Saylors
Leon F Malet
Izzy X Foller
Sinclair B Foller
Claire M Slusarski
Chavez O Malet
Mujtaba O Whobrey
Aruna S Bowley
Maria M Rim
Leja C Schemmer
Claire Z Marrier
Kaitlin R Waycott
Leon F Paprocki
Mayumi N Gaucho
Jones H Ruta
Jones J Slusarski
Claire Z Whobrey
Claire N Stockham
Jefferson O Waycott
Antonio C Maclead
Wickens J Oldroyd
Costa S Stenseth
Kadeem K Gillian
Darci X Bowley
Sinclair A Foller
Francesco Z Bowley
Jennifer N Gillian
Antonio T Kusko
Jones P Kusko
Sinclair B Caudy
Jones H Sergi
Isabel G Schemmer
Mujtaba I Bowley
Nicolas I Gillian
Francesco B Vocelka
Salvatore G Kusko
Ashley O Gaucho
Arvin M Malet
Adams E Vocelka
Ashley W Dilliard
Johnson V Maclead
IdCountryDate
1000Italy2024-05-13
1001India2024-05-01
1002Spain2024-05-19
1003Canada2024-05-08
1004Brazil2024-05-08
1005Italy2024-05-01
1006Germany2024-05-20
1007Italy2024-05-20
1008Canada2024-05-02
1009France2024-05-17
1010Germany2024-05-26
1011Spain2024-04-29
1012United Kingdom2024-05-03
1013United Kingdom2024-05-18
1014France2024-05-18
1015Japan2024-05-26
1016Spain2024-05-02
1017Germany2024-05-08
1018Spain2024-05-26
1019Australia2024-05-06
1020Russia2024-05-14
1021Australia2024-05-18
1022Canada2024-05-24
1023Argentina2024-05-25
1024Spain2024-04-29
1025France2024-05-07
1026Spain2024-04-30
1027Brazil2024-05-06
1028Russia2024-05-06
1029Germany2024-04-29
1030Canada2024-05-06
1031Germany2024-05-23
1032Argentina2024-05-17
1033Brazil2024-05-01
1034Japan2024-05-13
1035India2024-04-30
1036Canada2024-05-17
1037United Kingdom2024-05-27
1038Germany2024-05-23
1039Spain2024-05-01
1040Italy2024-04-28
1041Argentina2024-05-18
1042Australia2024-04-28
1043Argentina2024-04-28
1044United Kingdom2024-05-19
1045Germany2024-05-01
1046Brazil2024-05-04
1047Brazil2024-05-10
1048Canada2024-05-15
1049Brazil2024-05-03

On-Demand Data

NameIdCountryDate
Tony W Perin1000Canada2024-05-23
Sinclair S Marrier1001Italy2024-05-17
Silvio O Rim1002Australia2024-04-30
Stacey W Foller1003Japan2024-05-16
Octavia A Glick1004Argentina2024-05-21
Sinclair L Ruta1005India2024-05-22
Greenwood N Tollner1006United Kingdom2024-05-27
Adams W Gaucho1007India2024-05-21
Isabel W Whobrey1008Italy2024-05-08
Jefferson M Nestle1009Spain2024-05-22
Mujtaba Q Maclead1010United Kingdom2024-05-25
Silvio V Garufi1011Canada2024-05-25
Faith G Albares1012Russia2024-05-16
Adams S Poquette1013Argentina2024-05-17
Ricardo E Stenseth1014Italy2024-05-05
Jefferson R Saylors1015France2024-05-11
Johnson Y Bolognia1016Canada2024-05-02
Kaitlin W Iturbide1017Japan2024-05-07
Munro L Sergi1018France2024-05-23
Maisha U Butt1019Spain2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro V OldroydIndiaIvan Magalhaes RENEWAL
Sinclair Y VenereItalyOnyama Limba PROPOSAL
Salvatore J WhobreyItalyOnyama Limba NEW
Aruna D NickaIndiaElwin Sharvill NEGOTIATION
Kaitlin O FerenczJapanBernardo Dominic QUALIFIED
Kaitlin L NestleGermanyIoni Bowcher NEGOTIATION
Isabel G VocelkaAustraliaBernardo Dominic UNQUALIFIED
Mayumi G DoeItalyXuxue Feng QUALIFIED
Jennifer M InouyeAustraliaStephen Shaw NEW
Rodrigues S PerinSpainIoni Bowcher QUALIFIED
Aruna Z NestleGermanyStephen Shaw QUALIFIED
Jefferson Y MarrierGermanyAsiya Javayant QUALIFIED
Ivar M NickaFranceAmy Elsner RENEWAL
Ricardo K KolmetzIndiaAmy Elsner UNQUALIFIED
Jefferson J OldroydCanadaOnyama Limba RENEWAL
Stacey B DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Octavia C StensethGermanyStephen Shaw QUALIFIED
Ricardo N SergiJapanAsiya Javayant RENEWAL
Silvio Y BriddickRussiaIoni Bowcher UNQUALIFIED
Mujtaba R CaudyAustraliaAsiya Javayant NEW
Silvio C FlosiItalyAsiya Javayant UNQUALIFIED
Rodrigues E InouyeCanadaOnyama Limba NEW
Claire S RulapaughJapanIoni Bowcher NEGOTIATION
Claire M DarakjyBrazilAmy Elsner UNQUALIFIED
Maisha X MaletJapanAsiya Javayant UNQUALIFIED
Jones G MaletGermanyStephen Shaw PROPOSAL
Costa U VocelkaSpainBernardo Dominic UNQUALIFIED
David C PoquetteJapanAmy Elsner NEGOTIATION
Maisha G KolmetzGermanyAsiya Javayant PROPOSAL
Maria C DoeFranceStephen Shaw NEGOTIATION
Leon H CaldareraUnited KingdomIvan Magalhaes RENEWAL
Nicolas T MaletCanadaBernardo Dominic PROPOSAL
Greenwood L VenereAustraliaAnna Fali NEW
Aika W AmigonIndiaAnna Fali NEW
Mayumi Z ChuiItalyAsiya Javayant QUALIFIED
Alejandro I StensethItalyXuxue Feng RENEWAL
Misaki U TollnerAustraliaXuxue Feng NEW
James L NestleArgentinaXuxue Feng QUALIFIED
Antonio Z DilliardAustraliaXuxue Feng RENEWAL
Izzy C KolmetzRussiaAsiya Javayant PROPOSAL

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