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
Jefferson B AlbaresJapanBernardo Dominic NEW
Clifford I GarufiSpainIoni Bowcher NEW
Juan M DarakjyCanadaAsiya Javayant NEW
Munro G PoquetteCanadaElwin Sharvill NEW
Claire N KuskoIndiaAsiya Javayant UNQUALIFIED
Tony H RoysterRussiaXuxue Feng QUALIFIED
Juan A FollerItalyAmy Elsner PROPOSAL
Juan M AmigonRussiaAnna Fali NEGOTIATION
Mayumi B AlbaresGermanyAnna Fali NEW
Francesco W ChuiGermanyXuxue Feng QUALIFIED
Mayumi Z StensethSpainStephen Shaw PROPOSAL
Arvin Z SlusarskiFranceAsiya Javayant NEGOTIATION
Jefferson X IturbideIndiaBernardo Dominic PROPOSAL
Emily D InouyeArgentinaBernardo Dominic NEW
Faith Z FlosiUnited KingdomStephen Shaw NEGOTIATION
Silvio G StockhamItalyBernardo Dominic UNQUALIFIED
Maisha F DoeFranceStephen Shaw UNQUALIFIED
Sinclair J KuskoRussiaElwin Sharvill NEW
Morrow G PoquetteJapanAsiya Javayant RENEWAL
Aika T ChuiAustraliaBernardo Dominic RENEWAL
Aruna Q MaletRussiaAnna Fali PROPOSAL
Jones W SaylorsItalyBernardo Dominic NEGOTIATION
Jeanfrancois K OstroskyIndiaElwin Sharvill PROPOSAL
Mujtaba I CampainSpainElwin Sharvill PROPOSAL
Izzy B MaletIndiaAsiya Javayant UNQUALIFIED
Morrow F VenereSpainXuxue Feng NEGOTIATION
Faith W BriddickUnited KingdomAmy Elsner PROPOSAL
David W KolmetzBrazilElwin Sharvill UNQUALIFIED
Chavez O FlosiCanadaIoni Bowcher NEGOTIATION
Francesco O SergiGermanyIvan Magalhaes PROPOSAL
Izzy H RimItalyIoni Bowcher PROPOSAL
Mayumi S StockhamSpainIoni Bowcher NEGOTIATION
Ashley S BowleyArgentinaIoni Bowcher QUALIFIED
Antonio N WaycottRussiaOnyama Limba NEW
Wickens W WhobreyBrazilOnyama Limba PROPOSAL
Murillo X RulapaughArgentinaAnna Fali PROPOSAL
Greenwood Q KuskoCanadaAnna Fali UNQUALIFIED
Octavia N AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Ivar T FlosiUnited KingdomAmy Elsner NEGOTIATION
Aruna D OldroydGermanyAmy Elsner RENEWAL
Clifford Z GlickIndiaElwin Sharvill UNQUALIFIED
Emily N StensethItalyAsiya Javayant PROPOSAL
Greenwood I MacleadGermanyXuxue Feng UNQUALIFIED
Leon Z GillianIndiaAsiya Javayant PROPOSAL
Salvatore A WaycottJapanAsiya Javayant QUALIFIED
Jones Q KolmetzArgentinaAmy Elsner NEW
Isabel A BowleyAustraliaStephen Shaw NEW
Isabel G ButtBrazilOnyama Limba NEGOTIATION
Izzy U AlbaresIndiaElwin Sharvill RENEWAL
Maria F StensethGermanyIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley M DarakjyCanadaXuxue Feng PROPOSAL
Francesco J AlbaresAustraliaStephen Shaw RENEWAL
Alejandro I DoeArgentinaIvan Magalhaes PROPOSAL
Chavez M FollerCanadaXuxue Feng QUALIFIED
Darci V FigeroaUnited KingdomOnyama Limba NEGOTIATION
Wickens G MacleadRussiaAnna Fali UNQUALIFIED
Juan L StockhamUnited KingdomBernardo Dominic NEGOTIATION
David Q RoysterAustraliaXuxue Feng QUALIFIED
Kadeem U RutaItalyAmy Elsner QUALIFIED
Alejandro H FollerSpainOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika K GarufiCanada2024-05-26Buckley Miller Wright UNQUALIFIED6Stephen Shaw
1001Chavez C SlusarskiSpain2024-06-18Morlong Associates PROPOSAL60Elwin Sharvill
1002Sinclair V CaudyRussia2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED38Ivan Magalhaes
1003Aditya W MarrierJapan2024-06-08Buckley Miller Wright NEGOTIATION13Amy Elsner
1004Greenwood O NestleCanada2024-05-31Rousseaux, Michael Esq RENEWAL30Xuxue Feng
1005Jeanfrancois O OstroskyItaly2024-06-08Rangoni Of Florence NEW9Asiya Javayant
1006Morrow W SchemmerBrazil2024-06-19King, Christopher A Esq NEGOTIATION81Anna Fali
1007Arvin A SlusarskiGermany2024-06-05Chanay, Jeffrey A Esq PROPOSAL63Onyama Limba
1008David Q StensethItaly2024-06-02Rangoni Of Florence RENEWAL86Xuxue Feng
1009Murillo F SlusarskiGermany2024-06-20Rangoni Of Florence UNQUALIFIED53Stephen Shaw
1010Julie E CaudyItaly2024-06-07Chapman, Ross E Esq QUALIFIED43Elwin Sharvill
1011Mayumi T PaprockiFrance2024-06-15Chapman, Ross E Esq RENEWAL58Asiya Javayant
1012Morrow C MaletCanada2024-06-13Chemel, James L Cpa NEGOTIATION85Bernardo Dominic
1013Maria B FollerSpain2024-05-29Chapman, Ross E Esq NEW80Stephen Shaw
1014Stacey C BowleyBrazil2024-06-04Chapman, Ross E Esq PROPOSAL44Onyama Limba
1015Maria X BowleyAustralia2024-06-18Dorl, James J Esq QUALIFIED25Onyama Limba
1016Aditya S IturbideSpain2024-06-07Morlong Associates UNQUALIFIED56Amy Elsner
1017Aika D BriddickBrazil2024-06-05Chemel, James L Cpa QUALIFIED25Onyama Limba
1018Stacey G MaletFrance2024-06-21Morlong Associates PROPOSAL1Ioni Bowcher
1019Clifford Y GarufiGermany2024-06-17Dorl, James J Esq RENEWAL50Ivan Magalhaes
1020Antonio O InouyeSpain2024-05-26Rousseaux, Michael Esq UNQUALIFIED49Ivan Magalhaes
1021Aika D InouyeArgentina2024-05-31Feiner Bros NEGOTIATION65Elwin Sharvill
1022Rodrigues V SlusarskiAustralia2024-06-07Printing Dimensions NEGOTIATION79Stephen Shaw
1023Juan I GarufiCanada2024-06-14Rousseaux, Michael Esq NEGOTIATION39Xuxue Feng
1024Alejandro L InouyeBrazil2024-06-13King, Christopher A Esq RENEWAL32Anna Fali
1025Greenwood A DoeRussia2024-06-05Morlong Associates NEGOTIATION45Elwin Sharvill
1026Maria D RoysterAustralia2024-05-28King, Christopher A Esq QUALIFIED26Xuxue Feng
1027Kadeem C WieserCanada2024-06-17Printing Dimensions PROPOSAL31Stephen Shaw
1028Wickens S SchemmerSpain2024-06-15Rousseaux, Michael Esq NEGOTIATION40Bernardo Dominic
1029Aika G AmigonItaly2024-05-28Chemel, James L Cpa PROPOSAL76Asiya Javayant
1030James R WhobreyAustralia2024-06-07Dorl, James J Esq QUALIFIED95Bernardo Dominic
1031Maria O PaprockiUnited Kingdom2024-06-11Rousseaux, Michael Esq PROPOSAL81Ioni Bowcher
1032Smith U FerenczArgentina2024-06-06Morlong Associates NEGOTIATION4Asiya Javayant
1033Leja K AmigonBrazil2024-06-03Commercial Press RENEWAL52Ioni Bowcher
1034Adams O BowleyGermany2024-06-17Truhlar And Truhlar Attys NEGOTIATION14Xuxue Feng
1035Ivar X FollerFrance2024-05-30Printing Dimensions QUALIFIED14Xuxue Feng
1036Alejandro C GarufiRussia2024-06-18Rousseaux, Michael Esq NEW90Anna Fali
1037Francesco A PoquetteFrance2024-06-20Feltz Printing Service QUALIFIED10Ioni Bowcher
1038Murillo M DoeJapan2024-06-18Buckley Miller Wright QUALIFIED9Ioni Bowcher
1039Aruna M VenereJapan2024-06-09Chapman, Ross E Esq QUALIFIED78Ioni Bowcher
1040Silvio D RutaRussia2024-05-25Chemel, James L Cpa QUALIFIED67Elwin Sharvill
1041Antonio W IturbideIndia2024-06-10Feiner Bros QUALIFIED50Asiya Javayant
1042Claire W RutaItaly2024-06-06Chanay, Jeffrey A Esq PROPOSAL46Amy Elsner
1043Emily C CaudyCanada2024-05-25Morlong Associates QUALIFIED85Ioni Bowcher
1044Kadeem B MacleadItaly2024-05-25Printing Dimensions RENEWAL29Asiya Javayant
1045Aika S GlickAustralia2024-06-17Printing Dimensions NEW24Xuxue Feng
1046Nicolas U SaylorsGermany2024-05-25Morlong Associates UNQUALIFIED57Stephen Shaw
1047Darci B InouyeRussia2024-06-09Feltz Printing Service NEW5Stephen Shaw
1048Octavia Y GillianArgentina2024-06-19Benton, John B Jr NEGOTIATION94Bernardo Dominic
1049Aika O FerenczArgentina2024-06-02Truhlar And Truhlar Attys QUALIFIED98Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin J FollerItalyOnyama Limba NEGOTIATION
Mujtaba S GillianRussiaBernardo Dominic NEGOTIATION
Morrow S NestleItalyIoni Bowcher UNQUALIFIED
Faith V StockhamJapanOnyama Limba PROPOSAL
Jones P SchemmerRussiaOnyama Limba PROPOSAL
Maisha Y VenereAustraliaIoni Bowcher RENEWAL
Ricardo R WaycottCanadaXuxue Feng NEW
Tony J GauchoArgentinaXuxue Feng QUALIFIED
Clifford V ButtGermanyAmy Elsner UNQUALIFIED
Emily S WieserFranceAnna Fali RENEWAL
Munro V MacleadRussiaXuxue Feng NEW
Jeanfrancois Y FerenczRussiaAnna Fali UNQUALIFIED
Aika M KuskoUnited KingdomIoni Bowcher RENEWAL
Emily Q BowleyFranceElwin Sharvill NEGOTIATION
Jones Y GauchoSpainBernardo Dominic NEGOTIATION
Nicolas B FigeroaJapanAmy Elsner RENEWAL
Tony A KuskoUnited KingdomAmy Elsner QUALIFIED
Deepesh A MaletGermanyAsiya Javayant NEW
Leon U InouyeFranceElwin Sharvill PROPOSAL
Adams W WaycottGermanyIoni Bowcher RENEWAL
Antonio A CampainRussiaAmy Elsner NEGOTIATION
Jefferson U OstroskyRussiaIoni Bowcher QUALIFIED
Wickens B AmigonRussiaAmy Elsner NEW
Stacey G CaudyArgentinaIoni Bowcher UNQUALIFIED
Misaki M IturbideAustraliaIoni Bowcher NEGOTIATION
Mujtaba X CaldareraRussiaBernardo Dominic QUALIFIED
Emily X MaletIndiaXuxue Feng UNQUALIFIED
Antonio R PoquetteJapanXuxue Feng RENEWAL
Mayumi R BriddickCanadaStephen Shaw PROPOSAL
Kadeem U GillianGermanyAsiya Javayant UNQUALIFIED
Ivar M ChuiSpainElwin Sharvill RENEWAL
Sinclair N FlosiFranceElwin Sharvill RENEWAL
Jeanfrancois T MorascaArgentinaIoni Bowcher QUALIFIED
Greenwood X SlusarskiSpainIvan Magalhaes NEGOTIATION
Chavez H FerenczCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois I VenereArgentinaIoni Bowcher RENEWAL
Greenwood N RulapaughItalyOnyama Limba NEW
Francesco N IturbideUnited KingdomAnna Fali PROPOSAL
Stacey K NickaGermanyIoni Bowcher RENEWAL
Wickens V GauchoFranceAsiya Javayant RENEWAL
Maria Q KuskoJapanOnyama Limba UNQUALIFIED
Costa S AlbaresFranceXuxue Feng RENEWAL
Izzy Y AmigonSpainBernardo Dominic RENEWAL
Chavez E IturbideCanadaAnna Fali PROPOSAL
Isabel E SchemmerBrazilXuxue Feng NEGOTIATION
Sinclair V InouyeIndiaAnna Fali RENEWAL
Octavia Q FlosiAustraliaStephen Shaw NEGOTIATION
Jefferson V NestleCanadaOnyama Limba QUALIFIED
Greenwood V BologniaGermanyAmy Elsner RENEWAL
Arvin U GauchoRussiaBernardo Dominic NEW
Frozen Columns
Name
Kadeem T Maclead
Juan P Slusarski
Clifford S Briddick
Faith K Waycott
Ivar B Malet
James H Rulapaugh
Jefferson O Perin
Juan Y Shinko
Faith A Malet
David T Malet
Rodrigues T Gillian
Cody E Iturbide
Aditya L Amigon
Kadeem P Stockham
Emily F Saylors
Stacey G Tollner
Misaki K Foller
Kaitlin E Waycott
Alejandro P Garufi
Nicolas Z Ferencz
Juan E Bolognia
Claire N Ruta
Aika E Poquette
Ivar Q Royster
Sinclair U Stenseth
Deepesh X Butt
Julie G Dilliard
Misaki C Slusarski
Smith D Saylors
Jeanfrancois D Oldroyd
Mujtaba H Glick
Tony A Ferencz
Munro H Stenseth
Julie X Rulapaugh
Chavez L Kolmetz
Jeanfrancois U Dilliard
Adams C Albares
Julie Q Saylors
Izzy J Perin
Clifford B Perin
Costa N Marrier
Adams Y Ostrosky
Isabel X Doe
Greenwood Z Gillian
Chavez A Kolmetz
Salvatore S Caldarera
Leon Y Stockham
Francesco H Stockham
Jefferson O Kusko
Francesco E Oldroyd
IdCountryDate
1000Canada2024-06-04
1001Japan2024-06-04
1002Italy2024-06-19
1003Japan2024-05-29
1004Australia2024-06-07
1005France2024-06-10
1006Italy2024-05-29
1007Germany2024-06-01
1008Germany2024-06-15
1009India2024-06-13
1010Spain2024-05-31
1011Argentina2024-06-06
1012Germany2024-05-26
1013France2024-06-06
1014Russia2024-06-13
1015Spain2024-06-13
1016Canada2024-05-26
1017Argentina2024-06-05
1018Australia2024-05-29
1019Japan2024-05-31
1020India2024-06-04
1021Australia2024-05-26
1022Germany2024-06-13
1023Canada2024-05-26
1024Canada2024-05-31
1025United Kingdom2024-06-05
1026Brazil2024-06-21
1027Australia2024-06-03
1028Argentina2024-06-19
1029France2024-06-03
1030Argentina2024-06-14
1031Russia2024-06-15
1032United Kingdom2024-06-17
1033France2024-06-02
1034Italy2024-06-01
1035France2024-05-30
1036India2024-06-16
1037Italy2024-06-07
1038Germany2024-06-20
1039France2024-06-04
1040Spain2024-06-19
1041Spain2024-06-08
1042Spain2024-05-24
1043United Kingdom2024-06-16
1044France2024-06-10
1045India2024-05-23
1046France2024-06-06
1047Japan2024-06-08
1048Japan2024-06-15
1049Spain2024-06-03

On-Demand Data

NameIdCountryDate
Leja L Wieser1000Argentina2024-06-15
Misaki R Maclead1001United Kingdom2024-06-01
Julie Q Maclead1002Russia2024-06-11
Ricardo T Kusko1003Argentina2024-05-23
James M Saylors1004Australia2024-05-24
Arvin V Rulapaugh1005Canada2024-05-27
Salvatore G Bowley1006Germany2024-06-03
Sinclair G Oldroyd1007Italy2024-05-25
Jeanfrancois L Stenseth1008Japan2024-06-02
Ricardo W Malet1009France2024-06-14
Silvio E Oldroyd1010Canada2024-06-20
Johnson M Royster1011Germany2024-06-02
Faith I Oldroyd1012Japan2024-05-28
Misaki X Bolognia1013Italy2024-06-13
Aditya P Sergi1014Germany2024-06-19
Tony L Chui1015Spain2024-06-19
Sinclair Q Morasca1016Germany2024-05-24
Rodrigues F Rim1017Germany2024-06-07
Greenwood A Foller1018United Kingdom2024-06-05
Clifford S Flosi1019France2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia D NestleSpainAmy Elsner QUALIFIED
Jennifer Y SchemmerArgentinaStephen Shaw NEW
Nicolas K RulapaughFranceStephen Shaw RENEWAL
Johnson I CampainUnited KingdomStephen Shaw UNQUALIFIED
Izzy T CaldareraSpainOnyama Limba NEW
Leja J MorascaRussiaBernardo Dominic QUALIFIED
James K WhobreySpainElwin Sharvill QUALIFIED
Clifford B SaylorsJapanIvan Magalhaes NEGOTIATION
Maisha M RulapaughGermanyAmy Elsner NEW
Morrow X VenereUnited KingdomAmy Elsner QUALIFIED
Isabel Q TollnerCanadaStephen Shaw QUALIFIED
David P RutaRussiaElwin Sharvill QUALIFIED
Salvatore J BriddickSpainStephen Shaw PROPOSAL
Jeanfrancois E InouyeCanadaIvan Magalhaes NEW
Darci G RoysterUnited KingdomOnyama Limba NEGOTIATION
Silvio F CaudyIndiaXuxue Feng UNQUALIFIED
Sinclair W CaudyCanadaXuxue Feng NEW
Aruna M SchemmerSpainElwin Sharvill NEW
Kadeem G AmigonJapanElwin Sharvill RENEWAL
Maria Q PerinRussiaOnyama Limba PROPOSAL
Leja F TollnerIndiaAsiya Javayant NEGOTIATION
Murillo Y ShinkoBrazilAsiya Javayant UNQUALIFIED
Rodrigues E InouyeBrazilAmy Elsner UNQUALIFIED
Ashley N VenereUnited KingdomXuxue Feng NEW
Costa J CaudyUnited KingdomIoni Bowcher UNQUALIFIED
Leon O MacleadIndiaXuxue Feng QUALIFIED
Murillo O MarrierSpainIoni Bowcher PROPOSAL
Claire S NickaArgentinaOnyama Limba NEW
Adams O WaycottRussiaXuxue Feng NEGOTIATION
Cody J MaletBrazilIoni Bowcher QUALIFIED
Emily G MaletBrazilStephen Shaw RENEWAL
Costa U StockhamAustraliaAmy Elsner NEGOTIATION
Mujtaba R KolmetzIndiaAsiya Javayant RENEWAL
Mujtaba D BowleyArgentinaAnna Fali RENEWAL
Leja M FerenczFranceAnna Fali NEGOTIATION
Izzy J AlbaresUnited KingdomXuxue Feng QUALIFIED
Smith R SchemmerArgentinaIvan Magalhaes NEGOTIATION
Jennifer W RimJapanAsiya Javayant QUALIFIED
Darci S MarrierAustraliaAsiya Javayant QUALIFIED
Salvatore L RimFranceXuxue Feng RENEWAL

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