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
Deepesh Y NickaItalyAnna Fali UNQUALIFIED
Silvio V DoeGermanyIvan Magalhaes PROPOSAL
Sinclair H IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Darci Y PerinCanadaIvan Magalhaes QUALIFIED
Leja I VenereJapanBernardo Dominic RENEWAL
Greenwood Y WieserFranceAsiya Javayant PROPOSAL
Smith G WaycottAustraliaAmy Elsner UNQUALIFIED
Izzy T RutaRussiaXuxue Feng UNQUALIFIED
Chavez P ChuiAustraliaIvan Magalhaes RENEWAL
Leja Z WieserUnited KingdomStephen Shaw NEW
Antonio F KolmetzUnited KingdomOnyama Limba QUALIFIED
Silvio T CaldareraFranceElwin Sharvill NEW
Jones O ShinkoRussiaElwin Sharvill NEGOTIATION
Mujtaba U KuskoRussiaBernardo Dominic NEW
Adams N MarrierIndiaAmy Elsner UNQUALIFIED
Jeanfrancois A CaudySpainElwin Sharvill NEGOTIATION
Aika Q BowleySpainOnyama Limba PROPOSAL
Adams A StensethBrazilAsiya Javayant RENEWAL
Morrow Z DarakjyCanadaAmy Elsner PROPOSAL
Maria W DilliardBrazilIoni Bowcher PROPOSAL
Greenwood Z WaycottIndiaAsiya Javayant QUALIFIED
Wickens A KuskoRussiaElwin Sharvill NEW
Clifford R OstroskyRussiaStephen Shaw UNQUALIFIED
Leja Z BologniaUnited KingdomElwin Sharvill PROPOSAL
Ivar G InouyeItalyOnyama Limba PROPOSAL
Silvio L VenereItalyStephen Shaw QUALIFIED
Johnson D MorascaJapanIvan Magalhaes RENEWAL
Kadeem L BologniaSpainXuxue Feng UNQUALIFIED
Alejandro C NestleFranceBernardo Dominic QUALIFIED
Mayumi Q GarufiJapanAnna Fali NEW
Costa K StockhamGermanyBernardo Dominic NEW
Deepesh Y VocelkaItalyStephen Shaw UNQUALIFIED
Jefferson M SlusarskiJapanElwin Sharvill UNQUALIFIED
Clifford P PaprockiAustraliaStephen Shaw QUALIFIED
Cody R FerenczIndiaAmy Elsner RENEWAL
Sinclair B WaycottArgentinaXuxue Feng QUALIFIED
Arvin D VenereAustraliaAmy Elsner NEGOTIATION
Antonio O WieserRussiaIvan Magalhaes PROPOSAL
Emily F StockhamJapanElwin Sharvill QUALIFIED
Jefferson M CampainSpainXuxue Feng NEGOTIATION
Ivar K OstroskyArgentinaXuxue Feng NEGOTIATION
Jones R IturbideBrazilBernardo Dominic QUALIFIED
Izzy M IturbideSpainAmy Elsner UNQUALIFIED
Morrow X FollerJapanIvan Magalhaes NEW
Aruna A AlbaresAustraliaElwin Sharvill RENEWAL
Aditya E TollnerUnited KingdomElwin Sharvill PROPOSAL
Jennifer R CaudyRussiaStephen Shaw UNQUALIFIED
Jefferson W IturbideCanadaAnna Fali NEW
Leja C RutaBrazilStephen Shaw UNQUALIFIED
Maisha A DilliardIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan W AlbaresCanadaAmy Elsner RENEWAL
Julie H ButtJapanIoni Bowcher NEGOTIATION
Sinclair M SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Wickens U OldroydGermanyXuxue Feng NEGOTIATION
Izzy N SaylorsFranceXuxue Feng QUALIFIED
Chavez J BowleyUnited KingdomAnna Fali UNQUALIFIED
Costa A RulapaughBrazilAnna Fali NEW
Adams I WaycottAustraliaAnna Fali NEW
Misaki P MacleadIndiaOnyama Limba PROPOSAL
Clifford W OldroydItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin B MaletAustralia2024-06-09Commercial Press UNQUALIFIED17Xuxue Feng
1001Juan R PoquetteJapan2024-06-18Chemel, James L Cpa RENEWAL65Elwin Sharvill
1002Nicolas B OldroydBrazil2024-06-09Commercial Press UNQUALIFIED31Ioni Bowcher
1003Tony B FlosiSpain2024-05-27Dorl, James J Esq PROPOSAL98Xuxue Feng
1004Ashley W RoysterItaly2024-05-27Feltz Printing Service NEGOTIATION3Amy Elsner
1005Maisha F InouyeFrance2024-06-17Rangoni Of Florence NEW50Anna Fali
1006Alejandro Z MacleadUnited Kingdom2024-06-13Rangoni Of Florence PROPOSAL6Bernardo Dominic
1007Leja C PaprockiGermany2024-06-08Truhlar And Truhlar Attys QUALIFIED82Onyama Limba
1008Salvatore L PaprockiGermany2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED10Ioni Bowcher
1009Deepesh U MaletIndia2024-05-30Chemel, James L Cpa NEGOTIATION61Asiya Javayant
1010Nicolas T OldroydIndia2024-06-12Buckley Miller Wright RENEWAL60Amy Elsner
1011Tony M MorascaBrazil2024-05-30Dorl, James J Esq NEW3Onyama Limba
1012Chavez K RoysterRussia2024-06-16Buckley Miller Wright UNQUALIFIED50Ioni Bowcher
1013Deepesh D FigeroaSpain2024-06-22Rousseaux, Michael Esq PROPOSAL54Anna Fali
1014Tony J KuskoJapan2024-06-04Commercial Press PROPOSAL78Xuxue Feng
1015Izzy Q SchemmerAustralia2024-05-28Feltz Printing Service NEGOTIATION12Onyama Limba
1016Silvio M NickaJapan2024-05-30Benton, John B Jr NEGOTIATION37Anna Fali
1017Octavia T InouyeRussia2024-06-19Commercial Press RENEWAL20Asiya Javayant
1018Greenwood S MacleadFrance2024-05-25Rousseaux, Michael Esq NEW60Asiya Javayant
1019Nicolas J TollnerUnited Kingdom2024-06-09Rousseaux, Michael Esq QUALIFIED35Asiya Javayant
1020Kadeem N RoysterAustralia2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED39Stephen Shaw
1021Jones H OldroydSpain2024-06-20Benton, John B Jr QUALIFIED60Ioni Bowcher
1022Jefferson E DarakjySpain2024-06-10Feiner Bros UNQUALIFIED19Onyama Limba
1023Mujtaba K DarakjyIndia2024-06-17Commercial Press UNQUALIFIED47Anna Fali
1024Greenwood E GlickIndia2024-06-19Commercial Press QUALIFIED93Amy Elsner
1025Smith N PoquetteCanada2024-05-28Chapman, Ross E Esq NEW11Stephen Shaw
1026Francesco R KolmetzJapan2024-06-08King, Christopher A Esq NEW79Xuxue Feng
1027Alejandro O DoeItaly2024-06-18Printing Dimensions QUALIFIED64Asiya Javayant
1028Jennifer C ShinkoBrazil2024-06-21Feltz Printing Service NEW53Bernardo Dominic
1029Deepesh E VocelkaIndia2024-06-19Rangoni Of Florence QUALIFIED30Ioni Bowcher
1030Ricardo M AmigonCanada2024-06-15Feiner Bros UNQUALIFIED37Xuxue Feng
1031Ashley Q RutaUnited Kingdom2024-05-27King, Christopher A Esq UNQUALIFIED16Bernardo Dominic
1032David J TollnerBrazil2024-06-14Feiner Bros UNQUALIFIED67Elwin Sharvill
1033Tony F FerenczBrazil2024-06-02Morlong Associates UNQUALIFIED58Amy Elsner
1034Antonio Q StensethUnited Kingdom2024-06-11Chapman, Ross E Esq PROPOSAL7Asiya Javayant
1035Emily R PaprockiAustralia2024-05-27Benton, John B Jr PROPOSAL92Amy Elsner
1036Wickens W OstroskyFrance2024-05-26Feiner Bros NEGOTIATION28Asiya Javayant
1037Faith B CaudyBrazil2024-06-14Feltz Printing Service NEGOTIATION37Xuxue Feng
1038Maisha K FollerIndia2024-06-01Chanay, Jeffrey A Esq RENEWAL19Asiya Javayant
1039Smith O KolmetzItaly2024-06-17Printing Dimensions PROPOSAL46Ivan Magalhaes
1040Faith S NestleRussia2024-06-05Feiner Bros RENEWAL91Bernardo Dominic
1041Nicolas K MacleadItaly2024-06-04Dorl, James J Esq RENEWAL8Ioni Bowcher
1042Jones G KolmetzUnited Kingdom2024-06-04Chemel, James L Cpa UNQUALIFIED17Onyama Limba
1043Silvio Y RulapaughFrance2024-06-01Printing Dimensions QUALIFIED31Xuxue Feng
1044Claire P BriddickCanada2024-05-30Printing Dimensions UNQUALIFIED67Stephen Shaw
1045Jeanfrancois O VocelkaGermany2024-06-17Dorl, James J Esq RENEWAL11Stephen Shaw
1046Sinclair Y PoquetteIndia2024-05-30Feiner Bros QUALIFIED96Bernardo Dominic
1047Clifford R DilliardJapan2024-05-27Rousseaux, Michael Esq RENEWAL86Bernardo Dominic
1048Ivar N SaylorsFrance2024-06-22Dorl, James J Esq NEW85Stephen Shaw
1049Sinclair H AlbaresFrance2024-06-22Printing Dimensions RENEWAL26Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba W DoeJapanStephen Shaw RENEWAL
Tony X DarakjyGermanyIvan Magalhaes QUALIFIED
Wickens E GarufiJapanIvan Magalhaes UNQUALIFIED
Juan Q PoquetteJapanStephen Shaw UNQUALIFIED
Silvio P StensethArgentinaElwin Sharvill QUALIFIED
Faith U PoquetteItalyIvan Magalhaes UNQUALIFIED
Munro B CaudyIndiaElwin Sharvill NEW
Jefferson J StensethAustraliaAmy Elsner NEW
Aruna Z SchemmerFranceIoni Bowcher QUALIFIED
Claire U RoysterRussiaOnyama Limba RENEWAL
Stacey J RutaAustraliaIoni Bowcher NEGOTIATION
Aika W OldroydCanadaStephen Shaw NEGOTIATION
Alejandro L VocelkaItalyXuxue Feng NEW
Arvin P BologniaFranceAmy Elsner QUALIFIED
Aditya Q ChuiCanadaAmy Elsner PROPOSAL
Ricardo I OstroskyJapanStephen Shaw QUALIFIED
Stacey O VocelkaFranceIvan Magalhaes PROPOSAL
Leon N PerinAustraliaStephen Shaw PROPOSAL
Octavia U FollerIndiaIoni Bowcher UNQUALIFIED
Kadeem X MaletArgentinaElwin Sharvill UNQUALIFIED
Cody F PaprockiBrazilIoni Bowcher QUALIFIED
Maria H OldroydRussiaElwin Sharvill UNQUALIFIED
Ivar F StensethJapanBernardo Dominic UNQUALIFIED
Leon A StensethJapanAsiya Javayant PROPOSAL
Wickens R PaprockiRussiaStephen Shaw NEW
Jefferson J PerinBrazilOnyama Limba NEW
Antonio D TollnerRussiaAsiya Javayant NEGOTIATION
Jones K RimJapanBernardo Dominic RENEWAL
Julie M PoquetteJapanAnna Fali NEGOTIATION
Arvin W BologniaItalyIoni Bowcher RENEWAL
Chavez Z PaprockiItalyElwin Sharvill PROPOSAL
Juan R FlosiRussiaStephen Shaw QUALIFIED
Murillo R SaylorsCanadaAsiya Javayant UNQUALIFIED
Cody X ChuiIndiaBernardo Dominic QUALIFIED
Octavia M ChuiRussiaAmy Elsner UNQUALIFIED
Antonio E AlbaresBrazilElwin Sharvill NEW
Emily Q FigeroaCanadaStephen Shaw NEW
Munro A VocelkaFranceIvan Magalhaes UNQUALIFIED
Darci V CampainCanadaAnna Fali PROPOSAL
Ricardo E RimJapanAsiya Javayant QUALIFIED
Claire J KuskoUnited KingdomAsiya Javayant NEW
Stacey M FerenczArgentinaAnna Fali PROPOSAL
Adams L FigeroaBrazilStephen Shaw UNQUALIFIED
Tony K RoysterCanadaXuxue Feng QUALIFIED
Maisha V DarakjyJapanOnyama Limba PROPOSAL
Aruna R PerinUnited KingdomXuxue Feng UNQUALIFIED
Morrow Q WieserArgentinaAsiya Javayant RENEWAL
Munro L IturbideJapanAnna Fali RENEWAL
Silvio M FlosiIndiaElwin Sharvill QUALIFIED
Salvatore Z FlosiCanadaOnyama Limba QUALIFIED
Frozen Columns
Name
Morrow W Malet
Jennifer U Rulapaugh
David B Bolognia
Jefferson C Dilliard
Sinclair H Shinko
Cody Q Amigon
Johnson H Bowley
Jennifer D Briddick
Maisha O Dilliard
Sinclair Z Caldarera
Leon P Sergi
Morrow E Inouye
Deepesh F Wieser
Isabel M Malet
Juan L Briddick
Maisha P Inouye
Jeanfrancois T Kusko
Silvio N Saylors
Kadeem T Briddick
James A Schemmer
Clifford J Amigon
Ashley E Saylors
Jeanfrancois H Ferencz
Murillo C Ostrosky
Costa Z Rulapaugh
Deepesh F Royster
Tony H Perin
Cody S Darakjy
Octavia O Briddick
Johnson X Glick
Johnson G Ostrosky
Darci L Nicka
Greenwood X Shinko
Julie Y Slusarski
Morrow L Malet
Maisha X Nicka
Maisha X Venere
Tony U Wieser
Antonio Q Malet
Rodrigues M Bolognia
Costa K Perin
Leja J Venere
Leja X Schemmer
Adams Q Flosi
Stacey A Darakjy
Munro J Vocelka
Mayumi N Wieser
Murillo F Whobrey
Wickens Q Flosi
Antonio Q Gaucho
IdCountryDate
1000Australia2024-05-25
1001Italy2024-06-19
1002India2024-06-02
1003Japan2024-06-18
1004Russia2024-06-11
1005United Kingdom2024-06-06
1006France2024-06-21
1007Germany2024-06-10
1008Russia2024-06-20
1009Russia2024-05-25
1010Russia2024-05-29
1011Germany2024-05-29
1012Japan2024-06-11
1013Spain2024-06-21
1014Italy2024-06-19
1015Germany2024-06-14
1016Argentina2024-06-06
1017France2024-06-03
1018Russia2024-06-16
1019Japan2024-06-02
1020Germany2024-05-25
1021Canada2024-06-21
1022France2024-06-23
1023Argentina2024-06-10
1024Germany2024-06-03
1025Germany2024-06-15
1026Russia2024-06-10
1027Argentina2024-06-21
1028Australia2024-05-28
1029Japan2024-06-09
1030Italy2024-06-01
1031Spain2024-05-30
1032Canada2024-06-02
1033India2024-06-16
1034Australia2024-06-13
1035United Kingdom2024-06-16
1036India2024-06-20
1037Spain2024-06-03
1038United Kingdom2024-06-16
1039Australia2024-05-31
1040Germany2024-06-23
1041India2024-06-12
1042Australia2024-06-12
1043France2024-05-26
1044United Kingdom2024-06-17
1045India2024-06-04
1046India2024-06-03
1047Canada2024-06-02
1048Japan2024-06-14
1049Germany2024-06-10

On-Demand Data

NameIdCountryDate
Jefferson F Briddick1000Japan2024-06-01
David C Kolmetz1001Australia2024-06-01
Leon V Chui1002Italy2024-06-05
Aika R Campain1003Russia2024-05-31
Mayumi Y Perin1004Spain2024-06-19
Claire J Tollner1005Italy2024-06-05
Darci K Bowley1006Japan2024-06-19
Aruna M Iturbide1007Russia2024-05-28
Aditya J Shinko1008France2024-06-23
Leja E Stenseth1009Spain2024-06-13
Morrow V Gillian1010Japan2024-06-16
Adams B Doe1011France2024-05-26
Juan Q Stenseth1012Russia2024-06-14
Ricardo Z Butt1013Brazil2024-06-07
Tony R Campain1014Canada2024-06-18
Tony X Gillian1015Spain2024-06-09
Ivar K Poquette1016Italy2024-05-30
Johnson K Garufi1017Argentina2024-05-28
Leon Q Caldarera1018Spain2024-06-23
Salvatore D Schemmer1019Russia2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya R MaletCanadaXuxue Feng NEGOTIATION
Octavia J RulapaughAustraliaStephen Shaw UNQUALIFIED
Greenwood W StensethCanadaAmy Elsner UNQUALIFIED
Deepesh S BriddickItalyAnna Fali UNQUALIFIED
Johnson K SergiRussiaXuxue Feng QUALIFIED
Emily K TollnerIndiaBernardo Dominic NEW
Misaki M FlosiFranceIvan Magalhaes QUALIFIED
Kadeem C NestleUnited KingdomStephen Shaw RENEWAL
Aditya M MaletBrazilAnna Fali NEGOTIATION
Rodrigues Z KolmetzCanadaOnyama Limba QUALIFIED
Johnson X RulapaughFranceStephen Shaw PROPOSAL
Stacey C SchemmerFranceAmy Elsner RENEWAL
Adams K VocelkaJapanStephen Shaw RENEWAL
Jefferson A VocelkaCanadaAsiya Javayant NEW
James N GlickSpainStephen Shaw NEGOTIATION
Salvatore V FigeroaRussiaAmy Elsner NEW
Jeanfrancois M WaycottUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba K SlusarskiAustraliaStephen Shaw UNQUALIFIED
Jefferson X KolmetzIndiaIvan Magalhaes PROPOSAL
Johnson A TollnerJapanBernardo Dominic RENEWAL
Maisha O MaletIndiaAsiya Javayant NEW
James H FlosiCanadaXuxue Feng PROPOSAL
Faith C StockhamFranceXuxue Feng NEW
Jennifer G FlosiJapanOnyama Limba NEW
Aika O RoysterSpainStephen Shaw NEW
David K PoquetteArgentinaBernardo Dominic UNQUALIFIED
Salvatore E SaylorsIndiaIoni Bowcher QUALIFIED
Francesco M DilliardFranceOnyama Limba NEW
Misaki H MaletJapanStephen Shaw UNQUALIFIED
Alejandro Y DoeSpainElwin Sharvill NEGOTIATION
Rodrigues T OstroskyArgentinaAsiya Javayant PROPOSAL
Murillo S BologniaBrazilStephen Shaw NEW
Julie S IturbideAustraliaAsiya Javayant PROPOSAL
Alejandro A CaldareraIndiaBernardo Dominic UNQUALIFIED
Rodrigues M DilliardBrazilXuxue Feng UNQUALIFIED
Jennifer Z RulapaughAustraliaAsiya Javayant PROPOSAL
Murillo G CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair X OldroydCanadaIvan Magalhaes NEGOTIATION
Francesco U BologniaBrazilIvan Magalhaes UNQUALIFIED
Wickens E WaycottCanadaIvan Magalhaes UNQUALIFIED

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