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
Juan P InouyeAustraliaElwin Sharvill RENEWAL
Ricardo P AlbaresCanadaStephen Shaw RENEWAL
Silvio Y PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Deepesh P OldroydAustraliaXuxue Feng QUALIFIED
Francesco X RimRussiaAsiya Javayant RENEWAL
Juan E SchemmerItalyIoni Bowcher RENEWAL
Ricardo L CaldareraFranceAmy Elsner QUALIFIED
Murillo H SchemmerUnited KingdomAnna Fali NEW
Stacey P FlosiGermanyAsiya Javayant NEW
Clifford H AlbaresItalyAmy Elsner NEGOTIATION
Rodrigues L SlusarskiGermanyElwin Sharvill QUALIFIED
Maria L MarrierIndiaAnna Fali NEGOTIATION
Faith B OldroydBrazilAsiya Javayant PROPOSAL
Jeanfrancois L SchemmerJapanIvan Magalhaes UNQUALIFIED
David L FollerSpainXuxue Feng NEW
Greenwood K WaycottFranceIvan Magalhaes UNQUALIFIED
Nicolas L TollnerJapanBernardo Dominic NEW
Aditya T BriddickArgentinaAmy Elsner QUALIFIED
Rodrigues P KuskoIndiaIoni Bowcher RENEWAL
Faith S IturbideBrazilAmy Elsner RENEWAL
Aruna L FlosiBrazilIoni Bowcher NEW
Silvio U AlbaresUnited KingdomAnna Fali UNQUALIFIED
Juan N WieserIndiaXuxue Feng NEGOTIATION
Jefferson D AlbaresBrazilIvan Magalhaes RENEWAL
Tony J StockhamFranceElwin Sharvill RENEWAL
Morrow U MarrierRussiaElwin Sharvill QUALIFIED
Aika O CaldareraSpainXuxue Feng QUALIFIED
Juan L VocelkaAustraliaElwin Sharvill UNQUALIFIED
Cody A ChuiIndiaAnna Fali NEW
Johnson Z FollerUnited KingdomOnyama Limba PROPOSAL
Alejandro W MarrierSpainIoni Bowcher RENEWAL
Costa H CaldareraItalyAmy Elsner PROPOSAL
Julie O RulapaughUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois P GlickGermanyOnyama Limba NEGOTIATION
Jones M FerenczSpainAnna Fali UNQUALIFIED
Chavez X FlosiIndiaStephen Shaw NEGOTIATION
Izzy J ChuiAustraliaAsiya Javayant NEGOTIATION
Cody M TollnerIndiaXuxue Feng NEGOTIATION
Ivar P StensethItalyElwin Sharvill UNQUALIFIED
Greenwood O MaletRussiaStephen Shaw PROPOSAL
Jennifer O CampainAustraliaIoni Bowcher PROPOSAL
Sinclair D SergiGermanyAsiya Javayant NEGOTIATION
Juan C BriddickRussiaElwin Sharvill NEGOTIATION
Sinclair R RulapaughItalyIvan Magalhaes PROPOSAL
Morrow F StockhamJapanXuxue Feng PROPOSAL
David N InouyeIndiaStephen Shaw NEGOTIATION
Rodrigues G SergiAustraliaStephen Shaw UNQUALIFIED
Aruna U SaylorsRussiaAnna Fali NEGOTIATION
Smith G GlickGermanyIvan Magalhaes UNQUALIFIED
Johnson M PaprockiGermanyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer A WaycottJapanIvan Magalhaes NEGOTIATION
Isabel X GarufiUnited KingdomIoni Bowcher QUALIFIED
Jennifer N RulapaughArgentinaBernardo Dominic NEGOTIATION
Adams V GlickCanadaAmy Elsner PROPOSAL
Maria N InouyeUnited KingdomBernardo Dominic QUALIFIED
Claire S ShinkoJapanBernardo Dominic NEW
Maria G WaycottAustraliaBernardo Dominic PROPOSAL
Faith M MaletFranceStephen Shaw NEGOTIATION
Costa C PerinSpainAnna Fali UNQUALIFIED
Leja V RimSpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja G RutaIndia2024-04-29Dorl, James J Esq NEGOTIATION9Asiya Javayant
1001Jones O MarrierIndia2024-05-17Rousseaux, Michael Esq NEGOTIATION42Ioni Bowcher
1002Aditya M DilliardFrance2024-05-07Rousseaux, Michael Esq QUALIFIED90Stephen Shaw
1003Murillo S OstroskySpain2024-05-22Commercial Press RENEWAL4Asiya Javayant
1004Antonio I BologniaItaly2024-05-07Buckley Miller Wright QUALIFIED26Anna Fali
1005Mujtaba B PoquetteCanada2024-05-11Buckley Miller Wright RENEWAL72Amy Elsner
1006Smith X FlosiCanada2024-05-16Chemel, James L Cpa PROPOSAL83Xuxue Feng
1007Juan O MaletJapan2024-05-17Morlong Associates RENEWAL2Stephen Shaw
1008Alejandro Z VocelkaCanada2024-05-05Rangoni Of Florence PROPOSAL64Elwin Sharvill
1009Jeanfrancois P MacleadAustralia2024-05-22Benton, John B Jr PROPOSAL26Ivan Magalhaes
1010Jones I WieserCanada2024-05-05Commercial Press UNQUALIFIED20Anna Fali
1011Octavia J PaprockiFrance2024-05-08Rangoni Of Florence NEGOTIATION84Elwin Sharvill
1012Adams H WhobreyFrance2024-05-13Chapman, Ross E Esq NEGOTIATION74Ivan Magalhaes
1013Murillo V WieserUnited Kingdom2024-05-02Commercial Press PROPOSAL96Elwin Sharvill
1014Izzy C WieserFrance2024-05-21Rangoni Of Florence NEGOTIATION68Stephen Shaw
1015Arvin U IturbideUnited Kingdom2024-04-27Chapman, Ross E Esq QUALIFIED29Stephen Shaw
1016Greenwood G ShinkoItaly2024-05-10Chapman, Ross E Esq NEW44Onyama Limba
1017Maria O KuskoFrance2024-05-05Chapman, Ross E Esq PROPOSAL29Amy Elsner
1018Juan L StensethIndia2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED43Ioni Bowcher
1019Faith I DarakjyFrance2024-05-10Buckley Miller Wright UNQUALIFIED78Stephen Shaw
1020Darci Q WhobreyUnited Kingdom2024-05-20Rousseaux, Michael Esq PROPOSAL23Xuxue Feng
1021Greenwood I KuskoAustralia2024-05-24Printing Dimensions UNQUALIFIED13Ivan Magalhaes
1022Jennifer N WhobreyAustralia2024-05-14Chapman, Ross E Esq PROPOSAL94Stephen Shaw
1023Adams U DilliardBrazil2024-05-04Chemel, James L Cpa UNQUALIFIED30Onyama Limba
1024Jennifer Q FerenczArgentina2024-04-25Feltz Printing Service PROPOSAL65Bernardo Dominic
1025Claire T RulapaughCanada2024-05-19Truhlar And Truhlar Attys UNQUALIFIED38Ioni Bowcher
1026Leon P RimArgentina2024-05-08Rangoni Of Florence QUALIFIED31Onyama Limba
1027Rodrigues P ShinkoGermany2024-05-21Truhlar And Truhlar Attys PROPOSAL82Asiya Javayant
1028Nicolas X CampainSpain2024-05-04Rousseaux, Michael Esq QUALIFIED24Ivan Magalhaes
1029Morrow I BowleyUnited Kingdom2024-05-23Morlong Associates PROPOSAL4Onyama Limba
1030Clifford I PaprockiCanada2024-05-07Dorl, James J Esq UNQUALIFIED25Anna Fali
1031Kaitlin M MacleadIndia2024-05-19Rousseaux, Michael Esq RENEWAL93Onyama Limba
1032Faith H DoeCanada2024-04-25Truhlar And Truhlar Attys PROPOSAL49Ivan Magalhaes
1033Mujtaba Z SergiFrance2024-05-14Chapman, Ross E Esq NEGOTIATION97Xuxue Feng
1034Chavez F NestleIndia2024-05-13Chanay, Jeffrey A Esq PROPOSAL34Asiya Javayant
1035Alejandro S MaletBrazil2024-05-01King, Christopher A Esq PROPOSAL17Xuxue Feng
1036Stacey Q GarufiAustralia2024-05-11Chemel, James L Cpa NEW19Asiya Javayant
1037Alejandro I IturbideUnited Kingdom2024-05-14Truhlar And Truhlar Attys NEGOTIATION35Ioni Bowcher
1038Jones A ButtCanada2024-05-07Chanay, Jeffrey A Esq PROPOSAL30Anna Fali
1039Silvio N KolmetzGermany2024-05-14Dorl, James J Esq RENEWAL5Ivan Magalhaes
1040Ashley Y MorascaSpain2024-05-03Chapman, Ross E Esq QUALIFIED4Xuxue Feng
1041Rodrigues O MarrierAustralia2024-04-29Benton, John B Jr NEGOTIATION37Elwin Sharvill
1042Greenwood A MorascaAustralia2024-05-16Rousseaux, Michael Esq NEW35Xuxue Feng
1043Octavia P BologniaRussia2024-05-14Truhlar And Truhlar Attys NEGOTIATION24Onyama Limba
1044Jeanfrancois W InouyeArgentina2024-05-14Morlong Associates QUALIFIED57Ivan Magalhaes
1045Jones M RimBrazil2024-05-14Benton, John B Jr QUALIFIED60Asiya Javayant
1046Ricardo K DarakjyUnited Kingdom2024-04-30Rangoni Of Florence UNQUALIFIED23Ivan Magalhaes
1047Aditya W DilliardUnited Kingdom2024-05-01King, Christopher A Esq QUALIFIED27Bernardo Dominic
1048Ashley F ShinkoSpain2024-05-11Feiner Bros PROPOSAL6Elwin Sharvill
1049Antonio D InouyeItaly2024-04-28Chapman, Ross E Esq RENEWAL33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maisha G VocelkaRussiaOnyama Limba NEGOTIATION
Alejandro R OldroydUnited KingdomAmy Elsner QUALIFIED
Francesco C DilliardJapanXuxue Feng QUALIFIED
Wickens R PoquetteFranceElwin Sharvill UNQUALIFIED
Darci L GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Antonio N GauchoAustraliaXuxue Feng NEW
Salvatore L OldroydGermanyBernardo Dominic NEGOTIATION
Emily E VocelkaUnited KingdomElwin Sharvill NEGOTIATION
David W FigeroaItalyIoni Bowcher NEW
Adams X DarakjyBrazilIvan Magalhaes UNQUALIFIED
Darci S KolmetzSpainAnna Fali RENEWAL
Clifford B FerenczJapanXuxue Feng UNQUALIFIED
Francesco E FollerAustraliaAmy Elsner QUALIFIED
Aruna F ButtGermanyAmy Elsner NEGOTIATION
Leja D MaletBrazilAmy Elsner RENEWAL
Cody M AlbaresCanadaOnyama Limba PROPOSAL
Mujtaba Y MarrierFranceIoni Bowcher RENEWAL
Murillo C MaletUnited KingdomElwin Sharvill RENEWAL
Jefferson G InouyeArgentinaOnyama Limba NEW
Darci N SlusarskiItalyXuxue Feng NEGOTIATION
Morrow W ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Stacey F WaycottGermanyAsiya Javayant UNQUALIFIED
Clifford U RulapaughCanadaBernardo Dominic NEGOTIATION
Ashley S DarakjyIndiaAmy Elsner UNQUALIFIED
Greenwood V MaletItalyIvan Magalhaes NEGOTIATION
Costa U BriddickArgentinaAsiya Javayant PROPOSAL
Aruna R KuskoRussiaXuxue Feng PROPOSAL
Deepesh G CaudySpainIoni Bowcher QUALIFIED
Misaki X FollerSpainBernardo Dominic PROPOSAL
Arvin D ChuiArgentinaStephen Shaw UNQUALIFIED
Aditya O AmigonAustraliaIoni Bowcher PROPOSAL
Ashley K MaletBrazilAnna Fali NEGOTIATION
Silvio H RoysterIndiaAnna Fali PROPOSAL
Wickens K WhobreyIndiaStephen Shaw PROPOSAL
Cody V FollerSpainAsiya Javayant RENEWAL
Francesco O PerinGermanyElwin Sharvill UNQUALIFIED
Adams I OldroydArgentinaAsiya Javayant PROPOSAL
Silvio O DoeAustraliaOnyama Limba NEGOTIATION
Chavez M PoquetteBrazilIvan Magalhaes QUALIFIED
Jeanfrancois U WieserSpainBernardo Dominic PROPOSAL
Chavez C SergiSpainIoni Bowcher UNQUALIFIED
Alejandro B VenereSpainElwin Sharvill QUALIFIED
Tony Z AlbaresItalyAnna Fali PROPOSAL
Silvio J NickaArgentinaIvan Magalhaes UNQUALIFIED
Julie L WieserAustraliaBernardo Dominic RENEWAL
Clifford L OldroydBrazilOnyama Limba RENEWAL
Jefferson O PaprockiCanadaAmy Elsner QUALIFIED
Wickens J PaprockiBrazilAnna Fali QUALIFIED
Ricardo A WaycottBrazilBernardo Dominic QUALIFIED
Stacey C PaprockiRussiaAnna Fali UNQUALIFIED
Frozen Columns
Name
Aruna N Rim
Julie P Waycott
Leja R Ferencz
Misaki A Sergi
Francesco X Wieser
Ashley Q Darakjy
Jennifer T Nicka
Aruna E Slusarski
Jones S Tollner
Jeanfrancois E Flosi
Clifford I Slusarski
James E Ostrosky
Sinclair A Tollner
Darci F Garufi
Deepesh I Shinko
Rodrigues F Whobrey
Chavez N Caudy
Juan W Morasca
Wickens Y Poquette
Jeanfrancois T Foller
Salvatore S Nestle
Julie H Figeroa
Munro P Doe
Jeanfrancois Z Morasca
Octavia U Kusko
Ashley R Flosi
Octavia Q Dilliard
Aruna E Wieser
Murillo P Royster
Smith Q Marrier
Salvatore O Waycott
Stacey I Amigon
Isabel T Slusarski
Costa T Nestle
David H Albares
Juan S Briddick
Kadeem Y Morasca
Isabel W Waycott
Francesco M Maclead
Jones Q Morasca
Leja R Ferencz
Murillo R Waycott
Kaitlin V Poquette
Alejandro I Nestle
David V Ostrosky
Smith L Ferencz
Leja K Morasca
Darci A Malet
Francesco O Paprocki
Nicolas X Campain
IdCountryDate
1000Argentina2024-05-16
1001Canada2024-05-03
1002United Kingdom2024-05-02
1003India2024-05-16
1004Italy2024-04-25
1005Brazil2024-05-08
1006United Kingdom2024-04-25
1007France2024-05-08
1008India2024-04-28
1009Germany2024-04-30
1010Spain2024-05-13
1011Canada2024-04-27
1012Spain2024-05-12
1013Russia2024-05-18
1014Italy2024-05-24
1015Australia2024-05-16
1016France2024-05-14
1017United Kingdom2024-04-28
1018Japan2024-05-11
1019Russia2024-04-26
1020France2024-05-20
1021Argentina2024-04-29
1022Brazil2024-05-08
1023Japan2024-05-11
1024Canada2024-05-05
1025Canada2024-05-02
1026Australia2024-04-27
1027France2024-05-07
1028United Kingdom2024-05-24
1029Brazil2024-05-20
1030India2024-05-16
1031Germany2024-05-08
1032Canada2024-05-09
1033Argentina2024-04-28
1034Australia2024-04-29
1035Argentina2024-05-18
1036Japan2024-05-19
1037Argentina2024-05-07
1038Spain2024-05-10
1039France2024-04-30
1040India2024-05-17
1041Brazil2024-05-15
1042Brazil2024-05-24
1043Japan2024-05-19
1044Japan2024-05-16
1045Australia2024-05-19
1046Argentina2024-05-21
1047Canada2024-05-22
1048Japan2024-05-14
1049Argentina2024-04-27

On-Demand Data

NameIdCountryDate
Izzy A Amigon1000Spain2024-05-16
Faith F Malet1001Australia2024-04-30
Salvatore Y Waycott1002India2024-04-27
Silvio P Saylors1003Spain2024-05-19
Kaitlin Y Foller1004Argentina2024-05-05
Juan Q Dilliard1005Spain2024-05-22
Ashley M Nicka1006United Kingdom2024-05-17
David O Foller1007Canada2024-05-18
Jennifer F Sergi1008Italy2024-04-27
Octavia Q Poquette1009Russia2024-05-06
Ashley T Chui1010Russia2024-05-11
Morrow H Wieser1011Russia2024-05-01
Faith N Albares1012Japan2024-05-19
Wickens M Bolognia1013Germany2024-05-14
Jeanfrancois I Stenseth1014Canada2024-05-03
Adams E Gillian1015Australia2024-05-07
Aika S Malet1016India2024-05-24
Tony X Poquette1017Germany2024-05-17
Antonio D Butt1018Japan2024-05-16
Chavez X Gaucho1019Australia2024-05-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody E StockhamRussiaElwin Sharvill PROPOSAL
Mujtaba U AlbaresIndiaXuxue Feng RENEWAL
Aruna T KuskoRussiaAmy Elsner NEW
Nicolas C RutaArgentinaIoni Bowcher UNQUALIFIED
Misaki Y VenereAustraliaBernardo Dominic QUALIFIED
Darci O CaldareraArgentinaElwin Sharvill UNQUALIFIED
James Q ButtJapanAmy Elsner QUALIFIED
Misaki T KolmetzItalyIvan Magalhaes UNQUALIFIED
Deepesh C FlosiSpainAmy Elsner RENEWAL
Clifford Q GauchoIndiaIvan Magalhaes NEW
Nicolas H MaletUnited KingdomBernardo Dominic PROPOSAL
Costa J FigeroaRussiaIoni Bowcher UNQUALIFIED
Jennifer D VenereUnited KingdomAnna Fali NEW
Greenwood U OstroskyFranceAnna Fali RENEWAL
Nicolas Z MacleadSpainIvan Magalhaes UNQUALIFIED
Mujtaba O OldroydCanadaOnyama Limba NEW
Aditya I FollerJapanAmy Elsner QUALIFIED
Leon D SergiItalyElwin Sharvill NEW
Misaki R MacleadIndiaStephen Shaw PROPOSAL
Adams B KuskoJapanBernardo Dominic UNQUALIFIED
Johnson B SchemmerRussiaAsiya Javayant NEGOTIATION
Morrow Z FlosiAustraliaIoni Bowcher PROPOSAL
Wickens O OldroydIndiaStephen Shaw NEGOTIATION
Kadeem X VenereAustraliaIoni Bowcher PROPOSAL
James I KolmetzItalyElwin Sharvill PROPOSAL
Leon X ButtSpainStephen Shaw UNQUALIFIED
Smith G BowleyUnited KingdomXuxue Feng UNQUALIFIED
James V BowleyIndiaBernardo Dominic PROPOSAL
Ashley H CaudyIndiaAmy Elsner QUALIFIED
Aika V RoysterGermanyAnna Fali QUALIFIED
Smith J ChuiIndiaElwin Sharvill PROPOSAL
Kadeem C VocelkaFranceAsiya Javayant RENEWAL
Jennifer N SaylorsRussiaAnna Fali UNQUALIFIED
Sinclair R DilliardFranceElwin Sharvill NEW
Izzy B WaycottFranceBernardo Dominic QUALIFIED
Juan R BowleyRussiaAsiya Javayant NEGOTIATION
James W AmigonCanadaElwin Sharvill RENEWAL
Adams S GillianFranceIvan Magalhaes NEGOTIATION
Adams R MaletCanadaElwin Sharvill RENEWAL
Deepesh S MarrierCanadaStephen Shaw 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>