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
Wickens L RoysterAustraliaIoni Bowcher QUALIFIED
Morrow J MaletJapanXuxue Feng PROPOSAL
Jennifer W GauchoUnited KingdomBernardo Dominic NEGOTIATION
Silvio J BologniaSpainOnyama Limba UNQUALIFIED
Jefferson X MarrierSpainXuxue Feng QUALIFIED
Deepesh N AmigonRussiaAsiya Javayant NEW
Mayumi U OstroskyAustraliaAsiya Javayant UNQUALIFIED
David V DoeBrazilStephen Shaw UNQUALIFIED
James O MacleadAustraliaStephen Shaw NEGOTIATION
Leon X WhobreyRussiaIoni Bowcher RENEWAL
Leon Y FigeroaCanadaAmy Elsner PROPOSAL
Smith D IturbideFranceStephen Shaw RENEWAL
Kadeem M KolmetzBrazilAsiya Javayant NEW
Maisha U NickaIndiaStephen Shaw NEW
Wickens P OstroskyFranceIvan Magalhaes QUALIFIED
Faith F BriddickSpainElwin Sharvill NEGOTIATION
Chavez T NestleGermanyAsiya Javayant PROPOSAL
Izzy K MorascaRussiaAnna Fali NEW
Costa A PoquetteIndiaAsiya Javayant QUALIFIED
Stacey K CaldareraItalyBernardo Dominic NEGOTIATION
Wickens W KolmetzFranceAsiya Javayant PROPOSAL
Aditya O CaudyJapanIoni Bowcher QUALIFIED
Leon O VocelkaIndiaIvan Magalhaes PROPOSAL
Nicolas U OldroydItalyXuxue Feng RENEWAL
Octavia F IturbideJapanBernardo Dominic QUALIFIED
Deepesh P GarufiAustraliaElwin Sharvill UNQUALIFIED
Arvin C DoeFranceIoni Bowcher QUALIFIED
Aditya M KolmetzBrazilBernardo Dominic RENEWAL
Tony V FerenczFranceOnyama Limba NEW
Mujtaba M StensethGermanyElwin Sharvill RENEWAL
Misaki A WaycottCanadaOnyama Limba UNQUALIFIED
Julie A BologniaGermanyIoni Bowcher NEW
Kaitlin M SergiGermanyElwin Sharvill RENEWAL
Izzy M FerenczAustraliaAnna Fali UNQUALIFIED
Misaki Z StensethJapanAmy Elsner QUALIFIED
Wickens Y StockhamSpainStephen Shaw NEGOTIATION
Johnson T RoysterIndiaAmy Elsner UNQUALIFIED
Munro J FlosiJapanBernardo Dominic UNQUALIFIED
Kadeem N RutaGermanyStephen Shaw RENEWAL
Stacey M VocelkaFranceIvan Magalhaes RENEWAL
Sinclair E ShinkoGermanyBernardo Dominic QUALIFIED
Rodrigues I BriddickItalyXuxue Feng NEW
Jeanfrancois C KuskoUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois H PoquetteArgentinaOnyama Limba NEGOTIATION
Chavez J KolmetzFranceBernardo Dominic NEW
Munro B MaletBrazilBernardo Dominic NEW
Aruna G RutaJapanXuxue Feng NEW
Rodrigues G IturbideUnited KingdomAmy Elsner QUALIFIED
Smith I OstroskyUnited KingdomAmy Elsner NEW
Izzy A MorascaGermanyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Ashley K SchemmerCanadaIvan Magalhaes NEW
Darci E StensethCanadaAnna Fali UNQUALIFIED
Ashley H ButtUnited KingdomIvan Magalhaes NEGOTIATION
Aruna G FlosiAustraliaElwin Sharvill NEW
Emily N RutaAustraliaXuxue Feng NEGOTIATION
Maisha M FlosiAustraliaElwin Sharvill PROPOSAL
Rodrigues B ChuiItalyBernardo Dominic PROPOSAL
Morrow O OldroydIndiaAnna Fali UNQUALIFIED
Isabel E SchemmerFranceIvan Magalhaes UNQUALIFIED
Emily N VenereJapanBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci D NickaFrance2024-05-30Rousseaux, Michael Esq NEGOTIATION21Xuxue Feng
1001Mujtaba J InouyeIndia2024-06-14Chapman, Ross E Esq UNQUALIFIED81Onyama Limba
1002Murillo P BriddickUnited Kingdom2024-06-09Commercial Press NEW82Bernardo Dominic
1003Deepesh A FlosiAustralia2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED84Ivan Magalhaes
1004Leja X VenereUnited Kingdom2024-06-08Benton, John B Jr NEW44Bernardo Dominic
1005Aditya C WaycottFrance2024-06-14Commercial Press QUALIFIED24Xuxue Feng
1006Faith T CaldareraCanada2024-05-27Feiner Bros QUALIFIED73Anna Fali
1007Cody F MacleadAustralia2024-06-16Rousseaux, Michael Esq NEGOTIATION72Anna Fali
1008Cody G MarrierAustralia2024-06-14Morlong Associates NEW61Ioni Bowcher
1009Kaitlin R KolmetzFrance2024-05-30Chemel, James L Cpa RENEWAL33Anna Fali
1010Jeanfrancois N FerenczSpain2024-06-01Chemel, James L Cpa PROPOSAL62Asiya Javayant
1011Murillo V PaprockiGermany2024-05-31Feiner Bros PROPOSAL39Asiya Javayant
1012Ivar Z FigeroaUnited Kingdom2024-06-07King, Christopher A Esq NEW71Stephen Shaw
1013Jeanfrancois K AlbaresSpain2024-06-04Feltz Printing Service QUALIFIED29Anna Fali
1014Munro Y OldroydUnited Kingdom2024-05-31Commercial Press QUALIFIED88Asiya Javayant
1015Arvin C MarrierAustralia2024-05-30Commercial Press RENEWAL37Ivan Magalhaes
1016Greenwood I RulapaughGermany2024-06-06Printing Dimensions PROPOSAL15Asiya Javayant
1017Stacey L KolmetzArgentina2024-06-10Dorl, James J Esq UNQUALIFIED93Ivan Magalhaes
1018Emily J OldroydUnited Kingdom2024-06-16Rangoni Of Florence UNQUALIFIED1Bernardo Dominic
1019Jones D GillianSpain2024-06-05Printing Dimensions NEGOTIATION27Ioni Bowcher
1020Kaitlin C GauchoAustralia2024-06-09King, Christopher A Esq UNQUALIFIED66Ivan Magalhaes
1021Maria T SlusarskiRussia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED37Onyama Limba
1022Aika U WieserGermany2024-06-17Truhlar And Truhlar Attys NEGOTIATION18Asiya Javayant
1023Nicolas D StockhamFrance2024-06-20Rangoni Of Florence NEW40Ivan Magalhaes
1024Francesco O ShinkoJapan2024-05-26Commercial Press RENEWAL20Anna Fali
1025Chavez B ShinkoIndia2024-06-20Rangoni Of Florence NEW23Stephen Shaw
1026Ivar U FlosiCanada2024-06-08Benton, John B Jr QUALIFIED72Anna Fali
1027Julie S DoeUnited Kingdom2024-06-10Truhlar And Truhlar Attys PROPOSAL34Xuxue Feng
1028Mujtaba M SaylorsGermany2024-05-29Commercial Press RENEWAL20Asiya Javayant
1029Octavia N VenereIndia2024-05-29King, Christopher A Esq NEW12Elwin Sharvill
1030Octavia Y MaletUnited Kingdom2024-06-11Feltz Printing Service NEGOTIATION82Ivan Magalhaes
1031Claire W FlosiArgentina2024-05-24Buckley Miller Wright RENEWAL45Asiya Javayant
1032Leja T DilliardAustralia2024-06-21Chapman, Ross E Esq NEGOTIATION86Asiya Javayant
1033Izzy V MaletAustralia2024-06-03Rangoni Of Florence UNQUALIFIED67Elwin Sharvill
1034Juan B DarakjyCanada2024-06-06Feiner Bros NEW8Ivan Magalhaes
1035Isabel J GauchoUnited Kingdom2024-06-15Feltz Printing Service NEW1Amy Elsner
1036Salvatore H MorascaIndia2024-06-16Feltz Printing Service PROPOSAL65Ivan Magalhaes
1037Claire P FerenczFrance2024-05-29Commercial Press PROPOSAL10Ivan Magalhaes
1038Cody S CaldareraBrazil2024-05-28Dorl, James J Esq RENEWAL11Xuxue Feng
1039Ivar H WieserFrance2024-05-29Dorl, James J Esq UNQUALIFIED14Onyama Limba
1040Leja C PerinJapan2024-06-10Commercial Press NEGOTIATION84Bernardo Dominic
1041Julie C VenereBrazil2024-06-06King, Christopher A Esq UNQUALIFIED24Amy Elsner
1042Smith I PerinFrance2024-05-24King, Christopher A Esq PROPOSAL98Stephen Shaw
1043Mayumi A GarufiAustralia2024-05-27Chapman, Ross E Esq QUALIFIED30Asiya Javayant
1044Stacey C StensethRussia2024-06-05Feltz Printing Service NEGOTIATION46Bernardo Dominic
1045Aruna B WaycottGermany2024-05-26Rousseaux, Michael Esq NEGOTIATION9Anna Fali
1046Darci A PoquetteUnited Kingdom2024-06-09Dorl, James J Esq UNQUALIFIED23Asiya Javayant
1047Aditya A MacleadRussia2024-06-14Rousseaux, Michael Esq PROPOSAL74Xuxue Feng
1048Salvatore D SergiJapan2024-06-12Benton, John B Jr QUALIFIED32Ivan Magalhaes
1049Costa P ButtJapan2024-05-26Commercial Press RENEWAL76Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Maria B SaylorsJapanAnna Fali QUALIFIED
Murillo C SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Emily M TollnerItalyAmy Elsner PROPOSAL
Deepesh W IturbideItalyAmy Elsner PROPOSAL
Maisha D ChuiItalyAsiya Javayant NEW
James B MorascaGermanyAmy Elsner NEGOTIATION
Stacey W TollnerAustraliaAmy Elsner PROPOSAL
Morrow I MacleadGermanyIoni Bowcher RENEWAL
Leja R GauchoRussiaStephen Shaw PROPOSAL
Aika D GlickArgentinaIvan Magalhaes UNQUALIFIED
Cody Y WhobreySpainBernardo Dominic UNQUALIFIED
Kadeem R NestleCanadaStephen Shaw UNQUALIFIED
Claire C CaldareraIndiaXuxue Feng NEGOTIATION
Silvio Y PoquetteItalyXuxue Feng UNQUALIFIED
Morrow Q VenereAustraliaIoni Bowcher RENEWAL
Murillo N MarrierGermanyStephen Shaw PROPOSAL
Kaitlin T PerinItalyElwin Sharvill UNQUALIFIED
Juan I WieserIndiaBernardo Dominic UNQUALIFIED
Arvin K GillianFranceOnyama Limba NEGOTIATION
Izzy S RulapaughItalyIoni Bowcher NEW
Greenwood F VocelkaFranceStephen Shaw RENEWAL
Cody B VocelkaIndiaAmy Elsner NEW
Alejandro W RimFranceAnna Fali NEW
Greenwood T RutaItalyAmy Elsner PROPOSAL
Costa U MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Izzy C ChuiBrazilAmy Elsner RENEWAL
Chavez H StockhamJapanOnyama Limba PROPOSAL
Deepesh T ButtAustraliaOnyama Limba RENEWAL
Jones C FollerBrazilAnna Fali UNQUALIFIED
Jennifer T OldroydBrazilElwin Sharvill QUALIFIED
Aika Z CaudyUnited KingdomBernardo Dominic QUALIFIED
Sinclair B OstroskyBrazilOnyama Limba NEGOTIATION
Leon B KolmetzGermanyIvan Magalhaes UNQUALIFIED
Emily H FigeroaUnited KingdomBernardo Dominic RENEWAL
Rodrigues G IturbideIndiaAnna Fali UNQUALIFIED
Aruna P RimSpainAsiya Javayant PROPOSAL
Ricardo H TollnerFranceIvan Magalhaes PROPOSAL
Chavez Y RulapaughArgentinaElwin Sharvill NEGOTIATION
Sinclair G CaudyCanadaIvan Magalhaes NEGOTIATION
Smith B MorascaUnited KingdomAmy Elsner NEGOTIATION
Octavia L RoysterFranceXuxue Feng NEW
Jefferson E KolmetzIndiaIoni Bowcher UNQUALIFIED
Nicolas H BologniaFranceAnna Fali NEW
James R FigeroaFranceOnyama Limba NEW
Leon R SergiGermanyIvan Magalhaes NEW
Emily L TollnerIndiaIoni Bowcher NEW
Tony U PoquetteItalyIvan Magalhaes QUALIFIED
Jennifer D PaprockiJapanXuxue Feng NEGOTIATION
Nicolas A StensethRussiaXuxue Feng RENEWAL
Kadeem U KolmetzGermanyBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco M Kusko
Smith O Darakjy
Rodrigues Z Nestle
Arvin W Doe
Jennifer G Stockham
Rodrigues S Slusarski
Mujtaba X Flosi
Octavia Q Ruta
Ivar U Briddick
Stacey M Shinko
Ricardo S Schemmer
Morrow D Schemmer
Jones Y Nestle
Munro G Wieser
Aika M Darakjy
Jennifer B Albares
Alejandro J Foller
Wickens F Wieser
Maisha O Ferencz
Stacey B Darakjy
Jefferson V Paprocki
Stacey H Dilliard
Antonio O Caudy
Rodrigues D Oldroyd
Aruna R Poquette
Aika Q Foller
Tony S Maclead
Kaitlin Q Sergi
Kadeem W Caudy
Kaitlin M Malet
Greenwood S Venere
Julie W Malet
Aruna W Saylors
Darci W Vocelka
Arvin O Paprocki
Cody T Figeroa
Alejandro L Poquette
Emily D Foller
Juan Q Ostrosky
Cody F Campain
Aditya P Paprocki
Kadeem K Perin
Jennifer J Nestle
Munro E Poquette
Ashley S Schemmer
Cody X Campain
Jennifer K Kolmetz
Izzy A Ruta
Morrow A Glick
Kadeem V Sergi
IdCountryDate
1000France2024-06-06
1001Argentina2024-05-23
1002Spain2024-06-12
1003Japan2024-05-25
1004Spain2024-06-18
1005Australia2024-05-27
1006Germany2024-06-11
1007Russia2024-05-25
1008Argentina2024-05-28
1009United Kingdom2024-05-31
1010Japan2024-05-30
1011Brazil2024-06-10
1012Australia2024-06-14
1013Japan2024-06-12
1014Brazil2024-05-30
1015India2024-05-24
1016Argentina2024-06-07
1017Canada2024-06-10
1018United Kingdom2024-05-26
1019Japan2024-05-25
1020Brazil2024-05-26
1021Japan2024-05-30
1022Japan2024-06-03
1023Spain2024-06-09
1024Brazil2024-06-01
1025United Kingdom2024-06-12
1026Australia2024-06-10
1027Spain2024-06-04
1028Italy2024-05-29
1029Brazil2024-06-14
1030Spain2024-06-05
1031United Kingdom2024-06-17
1032Australia2024-06-20
1033Australia2024-05-23
1034Spain2024-06-01
1035Spain2024-06-02
1036Canada2024-05-29
1037Japan2024-06-14
1038Japan2024-05-29
1039Brazil2024-06-09
1040Russia2024-05-23
1041Japan2024-06-19
1042France2024-06-16
1043Brazil2024-06-13
1044Canada2024-06-01
1045France2024-05-23
1046Spain2024-06-01
1047India2024-05-26
1048Russia2024-06-06
1049Russia2024-05-30

On-Demand Data

NameIdCountryDate
Greenwood G Ostrosky1000Australia2024-05-28
Costa V Vocelka1001United Kingdom2024-05-23
Antonio Z Foller1002Australia2024-06-01
Jones X Nicka1003India2024-06-15
Murillo X Nicka1004Russia2024-05-29
Juan B Gillian1005India2024-05-29
Aika N Paprocki1006United Kingdom2024-06-01
Kaitlin T Perin1007Australia2024-06-04
Smith X Paprocki1008India2024-06-19
Salvatore H Figeroa1009United Kingdom2024-06-09
Munro L Royster1010Italy2024-06-01
Mayumi J Wieser1011Russia2024-05-30
Kaitlin D Nestle1012Russia2024-05-28
Francesco A Ostrosky1013Argentina2024-06-11
Clifford Q Glick1014United Kingdom2024-06-14
Jefferson J Tollner1015Argentina2024-06-04
Mayumi N Stockham1016Brazil2024-06-13
Aruna F Schemmer1017Japan2024-06-18
Ashley A Stockham1018France2024-05-25
Maria C Schemmer1019Australia2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois Q KolmetzJapanAmy Elsner UNQUALIFIED
Octavia R PoquetteJapanXuxue Feng NEW
Cody D BowleySpainXuxue Feng NEGOTIATION
Ivar H ButtArgentinaElwin Sharvill UNQUALIFIED
Ricardo X OstroskyArgentinaIoni Bowcher RENEWAL
Aruna D AlbaresAustraliaOnyama Limba UNQUALIFIED
Izzy F BowleyRussiaIvan Magalhaes RENEWAL
James I MorascaItalyBernardo Dominic UNQUALIFIED
Ashley A OldroydIndiaIvan Magalhaes NEGOTIATION
Jennifer H BriddickAustraliaAsiya Javayant QUALIFIED
Jeanfrancois T PerinGermanyIvan Magalhaes RENEWAL
Juan S IturbideSpainAmy Elsner QUALIFIED
Misaki J StockhamSpainElwin Sharvill QUALIFIED
Stacey B MarrierGermanyXuxue Feng UNQUALIFIED
Rodrigues E GarufiUnited KingdomAsiya Javayant NEW
Sinclair T MaletFranceAnna Fali QUALIFIED
Misaki Q KuskoIndiaIvan Magalhaes QUALIFIED
Claire I NestleUnited KingdomStephen Shaw RENEWAL
Aika D NestleIndiaIvan Magalhaes NEW
Antonio I KuskoFranceAnna Fali NEW
Murillo V GlickItalyAsiya Javayant NEW
Silvio C WaycottArgentinaElwin Sharvill RENEWAL
Morrow F SergiRussiaAmy Elsner NEGOTIATION
David S SaylorsUnited KingdomBernardo Dominic PROPOSAL
Greenwood O GarufiUnited KingdomElwin Sharvill UNQUALIFIED
David A PaprockiIndiaXuxue Feng RENEWAL
Jefferson I AmigonBrazilBernardo Dominic PROPOSAL
Octavia M SchemmerGermanyIvan Magalhaes NEGOTIATION
Jennifer O PoquetteIndiaOnyama Limba NEGOTIATION
Ashley D FigeroaJapanElwin Sharvill NEGOTIATION
Izzy Y VenereAustraliaAnna Fali NEGOTIATION
Ivar T SaylorsCanadaIvan Magalhaes UNQUALIFIED
Leja L CampainUnited KingdomAsiya Javayant PROPOSAL
Octavia S DoeAustraliaAsiya Javayant NEGOTIATION
Octavia Q WaycottJapanBernardo Dominic QUALIFIED
Mayumi W RutaRussiaIvan Magalhaes PROPOSAL
Sinclair R KuskoRussiaAmy Elsner NEGOTIATION
Kaitlin L MaletIndiaElwin Sharvill NEGOTIATION
Francesco A TollnerAustraliaIoni Bowcher PROPOSAL
Mayumi J BriddickItalyXuxue Feng 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>