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
Faith J VocelkaGermanyElwin Sharvill QUALIFIED
Jennifer E PoquetteIndiaXuxue Feng RENEWAL
Ricardo L IturbideItalyAmy Elsner UNQUALIFIED
Nicolas L SlusarskiGermanyIoni Bowcher QUALIFIED
Arvin R BriddickArgentinaElwin Sharvill NEW
Sinclair Y PaprockiArgentinaIvan Magalhaes NEW
Chavez F MacleadUnited KingdomIvan Magalhaes RENEWAL
David W RulapaughSpainAsiya Javayant UNQUALIFIED
Mujtaba Z AlbaresItalyIoni Bowcher QUALIFIED
Wickens G PoquetteAustraliaStephen Shaw QUALIFIED
Kaitlin O KuskoGermanyXuxue Feng UNQUALIFIED
Greenwood R SergiCanadaXuxue Feng NEW
Mujtaba C MacleadUnited KingdomStephen Shaw UNQUALIFIED
Morrow P ChuiIndiaAsiya Javayant NEW
Isabel P BowleyJapanAnna Fali PROPOSAL
Aika Q ButtArgentinaOnyama Limba UNQUALIFIED
Chavez C CaudySpainIvan Magalhaes NEGOTIATION
Munro V GauchoSpainIoni Bowcher RENEWAL
Isabel Y FlosiBrazilStephen Shaw QUALIFIED
Tony Z DarakjyJapanOnyama Limba PROPOSAL
Morrow S FollerAustraliaAsiya Javayant UNQUALIFIED
Emily T KolmetzCanadaElwin Sharvill PROPOSAL
Isabel G DoeRussiaStephen Shaw RENEWAL
Cody G SaylorsArgentinaOnyama Limba UNQUALIFIED
Aditya C SchemmerBrazilIoni Bowcher UNQUALIFIED
Johnson M ButtIndiaIoni Bowcher NEW
Francesco O GillianBrazilAsiya Javayant PROPOSAL
Leja K RoysterItalyOnyama Limba NEW
Faith U DilliardSpainXuxue Feng NEW
Aditya X GauchoJapanXuxue Feng NEGOTIATION
Arvin U PerinAustraliaBernardo Dominic UNQUALIFIED
Izzy B NickaSpainIoni Bowcher PROPOSAL
Sinclair P CampainArgentinaElwin Sharvill RENEWAL
Faith C MorascaRussiaXuxue Feng QUALIFIED
Smith V PoquetteGermanyBernardo Dominic QUALIFIED
Stacey B FerenczItalyAsiya Javayant PROPOSAL
Claire L BriddickGermanyAsiya Javayant NEGOTIATION
Aditya G WieserJapanAmy Elsner NEGOTIATION
Alejandro M PoquetteItalyOnyama Limba QUALIFIED
Ashley N SaylorsAustraliaOnyama Limba UNQUALIFIED
Cody B WhobreyBrazilAmy Elsner UNQUALIFIED
Ivar K RutaJapanStephen Shaw QUALIFIED
Greenwood N FlosiCanadaStephen Shaw PROPOSAL
Maisha S MaletFranceIvan Magalhaes RENEWAL
Maisha N DilliardJapanStephen Shaw NEGOTIATION
Kadeem M StensethAustraliaXuxue Feng NEGOTIATION
Jefferson L BriddickJapanStephen Shaw UNQUALIFIED
Jefferson Y CaudyCanadaAsiya Javayant QUALIFIED
Stacey H CaldareraBrazilAnna Fali NEGOTIATION
Stacey E KuskoRussiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson D PoquetteCanadaElwin Sharvill NEGOTIATION
Mujtaba E MaletGermanyXuxue Feng PROPOSAL
Misaki P VocelkaFranceElwin Sharvill NEGOTIATION
Octavia G AlbaresUnited KingdomAnna Fali NEW
Maisha C MorascaBrazilElwin Sharvill RENEWAL
Deepesh X OstroskyFranceAmy Elsner PROPOSAL
Deepesh W NestleJapanElwin Sharvill RENEWAL
Jennifer O FigeroaBrazilXuxue Feng NEW
Costa W BriddickGermanyBernardo Dominic NEGOTIATION
Faith N InouyeArgentinaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy V PoquetteBrazil2024-06-09Feiner Bros QUALIFIED46Xuxue Feng
1001Jennifer W RimGermany2024-06-22Rangoni Of Florence NEW35Stephen Shaw
1002Claire X DilliardUnited Kingdom2024-06-21Rousseaux, Michael Esq NEGOTIATION83Bernardo Dominic
1003Isabel D RoysterArgentina2024-05-24Buckley Miller Wright RENEWAL85Bernardo Dominic
1004Wickens I VocelkaJapan2024-06-11Benton, John B Jr NEW63Stephen Shaw
1005Murillo B KolmetzIndia2024-06-14Benton, John B Jr NEW23Onyama Limba
1006Leja X DilliardGermany2024-05-31Morlong Associates QUALIFIED23Onyama Limba
1007Jennifer R VenereSpain2024-06-20Commercial Press NEGOTIATION57Stephen Shaw
1008Isabel Z MorascaFrance2024-06-01Chapman, Ross E Esq QUALIFIED29Asiya Javayant
1009Ashley O NestleItaly2024-06-13Benton, John B Jr QUALIFIED18Xuxue Feng
1010Smith Z KolmetzCanada2024-05-24King, Christopher A Esq NEW52Anna Fali
1011Izzy R BologniaRussia2024-06-08Chemel, James L Cpa UNQUALIFIED72Ivan Magalhaes
1012Aditya O BologniaRussia2024-06-17Commercial Press NEW14Bernardo Dominic
1013Maisha K CampainRussia2024-06-11Feltz Printing Service NEGOTIATION11Stephen Shaw
1014Deepesh Z AlbaresBrazil2024-06-20Chemel, James L Cpa NEGOTIATION48Stephen Shaw
1015Misaki W NickaArgentina2024-06-18Chapman, Ross E Esq NEW54Amy Elsner
1016Ivar T BologniaIndia2024-06-21King, Christopher A Esq NEW27Ioni Bowcher
1017Kaitlin O BologniaRussia2024-06-13Feiner Bros RENEWAL98Amy Elsner
1018Jennifer I WhobreyCanada2024-05-29Benton, John B Jr NEW96Asiya Javayant
1019Adams Y RutaJapan2024-06-02Feiner Bros RENEWAL90Amy Elsner
1020Francesco W BowleyRussia2024-05-31King, Christopher A Esq UNQUALIFIED68Ioni Bowcher
1021Emily O ButtSpain2024-06-22Morlong Associates QUALIFIED52Ivan Magalhaes
1022Chavez O WhobreyArgentina2024-06-02Dorl, James J Esq RENEWAL69Ivan Magalhaes
1023Aruna Q NestleCanada2024-06-05Truhlar And Truhlar Attys NEGOTIATION71Amy Elsner
1024Cody K MacleadItaly2024-06-14Buckley Miller Wright NEW27Anna Fali
1025Johnson Q AlbaresArgentina2024-05-28Rousseaux, Michael Esq UNQUALIFIED54Anna Fali
1026Arvin N StockhamItaly2024-06-03Rousseaux, Michael Esq NEGOTIATION25Xuxue Feng
1027Jefferson B SlusarskiAustralia2024-06-13Commercial Press NEGOTIATION72Ivan Magalhaes
1028Francesco M WaycottFrance2024-06-20Dorl, James J Esq UNQUALIFIED80Elwin Sharvill
1029James Z BowleySpain2024-05-29Printing Dimensions PROPOSAL15Bernardo Dominic
1030Darci L MaletBrazil2024-06-10Chanay, Jeffrey A Esq NEW94Stephen Shaw
1031Jennifer G PerinJapan2024-06-04Chemel, James L Cpa UNQUALIFIED43Bernardo Dominic
1032Silvio M SergiBrazil2024-06-01Benton, John B Jr QUALIFIED90Anna Fali
1033David P FollerFrance2024-06-09Rangoni Of Florence QUALIFIED33Onyama Limba
1034Kaitlin Q PoquetteSpain2024-05-28Morlong Associates NEW32Amy Elsner
1035Faith K MorascaAustralia2024-06-01Dorl, James J Esq RENEWAL96Stephen Shaw
1036Aruna K SlusarskiFrance2024-06-13Rangoni Of Florence UNQUALIFIED57Xuxue Feng
1037Chavez X StensethBrazil2024-06-11Rangoni Of Florence PROPOSAL94Elwin Sharvill
1038Kaitlin G NestleSpain2024-06-21Benton, John B Jr QUALIFIED43Anna Fali
1039Octavia B RulapaughFrance2024-05-26Truhlar And Truhlar Attys PROPOSAL35Bernardo Dominic
1040Murillo K MorascaFrance2024-06-22Dorl, James J Esq UNQUALIFIED55Elwin Sharvill
1041Munro E InouyeRussia2024-05-28Feltz Printing Service NEW16Elwin Sharvill
1042Maria V OldroydAustralia2024-05-24Dorl, James J Esq NEGOTIATION63Bernardo Dominic
1043Greenwood W MaletGermany2024-05-30Morlong Associates NEW94Stephen Shaw
1044Julie C OldroydSpain2024-06-11Feltz Printing Service NEGOTIATION76Stephen Shaw
1045Greenwood Y FollerGermany2024-05-27Chanay, Jeffrey A Esq QUALIFIED15Stephen Shaw
1046Johnson E IturbideItaly2024-06-20Benton, John B Jr NEGOTIATION18Bernardo Dominic
1047Julie F MarrierJapan2024-06-01Rousseaux, Michael Esq NEGOTIATION16Xuxue Feng
1048Emily Z BowleyRussia2024-06-16Buckley Miller Wright PROPOSAL69Stephen Shaw
1049Nicolas Q KolmetzItaly2024-06-07Rangoni Of Florence NEW6Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues G BriddickAustraliaAsiya Javayant QUALIFIED
Francesco D GillianItalyStephen Shaw PROPOSAL
Silvio L ChuiFranceBernardo Dominic NEGOTIATION
Cody P GauchoArgentinaBernardo Dominic RENEWAL
Alejandro C PoquetteSpainAmy Elsner UNQUALIFIED
Wickens K KolmetzRussiaIoni Bowcher NEGOTIATION
Maria F FollerUnited KingdomAnna Fali NEW
Claire C SlusarskiGermanyXuxue Feng PROPOSAL
Chavez W SchemmerArgentinaIoni Bowcher PROPOSAL
Nicolas A StensethJapanIoni Bowcher NEW
Silvio D WaycottJapanIvan Magalhaes NEW
Antonio J OldroydSpainOnyama Limba NEW
Leja C ChuiBrazilIvan Magalhaes PROPOSAL
Leon W ChuiFranceXuxue Feng PROPOSAL
Deepesh P MaletFranceIoni Bowcher PROPOSAL
Jeanfrancois A VenereItalyIvan Magalhaes UNQUALIFIED
Deepesh U PerinCanadaBernardo Dominic PROPOSAL
Julie A MacleadUnited KingdomAsiya Javayant NEGOTIATION
Jefferson D OldroydAustraliaStephen Shaw NEW
James U PaprockiBrazilAmy Elsner PROPOSAL
Morrow H PoquetteIndiaOnyama Limba RENEWAL
Leon A IturbideCanadaAnna Fali UNQUALIFIED
Mujtaba T RutaIndiaIoni Bowcher PROPOSAL
Jeanfrancois V SchemmerBrazilElwin Sharvill NEW
Antonio T FigeroaItalyIvan Magalhaes QUALIFIED
Nicolas L RoysterUnited KingdomIoni Bowcher NEGOTIATION
Emily C MacleadUnited KingdomAsiya Javayant QUALIFIED
Kadeem H CaldareraJapanAsiya Javayant PROPOSAL
Octavia G MacleadItalyBernardo Dominic RENEWAL
Rodrigues Q OldroydArgentinaAnna Fali QUALIFIED
Kaitlin N GauchoIndiaAsiya Javayant NEW
Costa Q GarufiCanadaElwin Sharvill NEW
Octavia J FollerRussiaAmy Elsner NEW
Costa X CaudyItalyAnna Fali PROPOSAL
Rodrigues L SaylorsArgentinaElwin Sharvill RENEWAL
Jennifer O AlbaresFranceStephen Shaw NEW
Sinclair O TollnerRussiaOnyama Limba NEW
Salvatore G FlosiRussiaAnna Fali RENEWAL
Jefferson Z BologniaFranceBernardo Dominic PROPOSAL
Julie V FerenczFranceAnna Fali NEGOTIATION
Emily N StensethRussiaAnna Fali NEW
Alejandro J KuskoIndiaOnyama Limba NEGOTIATION
Maisha W TollnerFranceIvan Magalhaes PROPOSAL
Aruna B DoeBrazilIvan Magalhaes PROPOSAL
Deepesh F PoquetteCanadaIoni Bowcher NEW
Clifford B MarrierArgentinaAmy Elsner NEW
Silvio K KuskoIndiaOnyama Limba NEGOTIATION
Greenwood R PerinJapanBernardo Dominic QUALIFIED
Nicolas S WieserArgentinaAnna Fali NEW
Isabel Y MarrierJapanAmy Elsner QUALIFIED
Frozen Columns
Name
Tony U Garufi
Francesco N Tollner
Jones C Whobrey
Wickens G Albares
David R Tollner
David H Garufi
Salvatore R Paprocki
Claire V Garufi
Adams E Maclead
Jeanfrancois Q Gaucho
Munro X Saylors
Costa I Chui
Francesco D Wieser
Chavez X Flosi
Darci E Nicka
Nicolas S Inouye
Darci R Rim
Clifford J Chui
Francesco B Briddick
Ricardo Z Marrier
Kaitlin T Stenseth
Morrow Q Doe
Kadeem E Stockham
Maria G Saylors
Silvio K Garufi
Mayumi J Iturbide
Jefferson D Paprocki
Ivar H Kolmetz
Salvatore O Rim
Alejandro Q Ostrosky
Arvin D Waycott
Smith P Kusko
Greenwood A Stockham
Jefferson Z Waycott
Antonio D Butt
Jeanfrancois G Foller
James G Foller
Mujtaba S Amigon
Darci L Stockham
Arvin S Tollner
Aika N Ferencz
Emily K Ruta
Ivar Y Gillian
Kadeem D Rulapaugh
Munro Y Amigon
Alejandro Z Venere
Mujtaba E Nestle
Jennifer H Stockham
Misaki L Glick
Claire X Iturbide
IdCountryDate
1000United Kingdom2024-05-26
1001Brazil2024-06-05
1002Canada2024-06-20
1003Argentina2024-06-01
1004Italy2024-05-31
1005Germany2024-06-14
1006Russia2024-06-20
1007India2024-06-07
1008Germany2024-06-19
1009Argentina2024-06-06
1010Australia2024-05-25
1011Spain2024-05-30
1012Australia2024-06-03
1013France2024-06-07
1014Australia2024-06-12
1015France2024-06-14
1016Brazil2024-05-30
1017Japan2024-06-22
1018Germany2024-05-27
1019United Kingdom2024-05-29
1020France2024-05-30
1021France2024-06-07
1022Italy2024-06-02
1023India2024-06-12
1024Spain2024-06-08
1025Germany2024-05-29
1026Japan2024-06-10
1027Spain2024-06-21
1028Argentina2024-06-04
1029Italy2024-06-02
1030Canada2024-06-17
1031Russia2024-06-19
1032Germany2024-06-15
1033Argentina2024-06-14
1034United Kingdom2024-06-12
1035Canada2024-06-06
1036Australia2024-06-03
1037Italy2024-06-18
1038France2024-06-21
1039Brazil2024-06-01
1040Australia2024-06-19
1041Spain2024-06-12
1042Spain2024-06-04
1043United Kingdom2024-06-17
1044Canada2024-05-27
1045France2024-06-10
1046Brazil2024-05-25
1047Australia2024-06-03
1048Germany2024-06-04
1049India2024-06-14

On-Demand Data

NameIdCountryDate
Alejandro T Paprocki1000France2024-05-25
Adams Z Figeroa1001Argentina2024-06-15
Izzy S Sergi1002India2024-06-07
Juan J Saylors1003Argentina2024-06-22
Faith U Foller1004Russia2024-05-25
Arvin I Schemmer1005France2024-06-22
Jeanfrancois D Maclead1006Argentina2024-06-15
Isabel D Amigon1007Canada2024-06-18
Murillo W Slusarski1008Argentina2024-06-07
Costa P Dilliard1009France2024-06-06
Rodrigues X Gillian1010Germany2024-06-01
Aika V Paprocki1011Canada2024-06-02
Johnson Q Doe1012Italy2024-05-28
Jeanfrancois P Tollner1013Australia2024-06-03
Leja Z Ruta1014Japan2024-06-11
Emily I Malet1015United Kingdom2024-06-04
Jeanfrancois A Garufi1016Spain2024-06-19
Deepesh U Morasca1017Italy2024-06-07
Salvatore D Maclead1018Japan2024-06-05
Wickens P Waycott1019United Kingdom2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria M MaletIndiaIoni Bowcher PROPOSAL
Chavez U OstroskyCanadaOnyama Limba QUALIFIED
Silvio H SlusarskiRussiaElwin Sharvill PROPOSAL
Nicolas G OstroskySpainStephen Shaw QUALIFIED
Tony V NestleItalyXuxue Feng QUALIFIED
Chavez Y MacleadGermanyAsiya Javayant PROPOSAL
Arvin B VenereUnited KingdomIoni Bowcher NEW
Kaitlin G MaletIndiaStephen Shaw QUALIFIED
Morrow V NickaArgentinaBernardo Dominic UNQUALIFIED
Mujtaba M VocelkaItalyXuxue Feng PROPOSAL
Silvio L RimRussiaAsiya Javayant RENEWAL
Chavez U DoeIndiaStephen Shaw UNQUALIFIED
Jeanfrancois K KuskoArgentinaIvan Magalhaes QUALIFIED
Isabel B PoquetteSpainAmy Elsner NEGOTIATION
Tony V PoquetteFranceStephen Shaw QUALIFIED
Ashley B DoeJapanIvan Magalhaes QUALIFIED
Maria N KuskoIndiaOnyama Limba UNQUALIFIED
Maisha E ShinkoItalyIvan Magalhaes UNQUALIFIED
Jones H VocelkaSpainAnna Fali QUALIFIED
Munro B WhobreyJapanIoni Bowcher NEW
Silvio M GarufiJapanIoni Bowcher QUALIFIED
Darci R PaprockiBrazilIvan Magalhaes NEW
Faith R VenereBrazilOnyama Limba PROPOSAL
Aditya A VenereAustraliaBernardo Dominic PROPOSAL
Morrow H InouyeCanadaElwin Sharvill RENEWAL
Costa J MaletFranceAnna Fali NEGOTIATION
Antonio J RutaJapanOnyama Limba NEGOTIATION
Deepesh Q BriddickBrazilIvan Magalhaes UNQUALIFIED
Silvio K PoquetteGermanyIvan Magalhaes QUALIFIED
Alejandro A DoeCanadaOnyama Limba QUALIFIED
Nicolas V OstroskyGermanyElwin Sharvill NEW
Julie X MorascaRussiaXuxue Feng QUALIFIED
Ricardo L MorascaCanadaAsiya Javayant PROPOSAL
Ivar E DarakjyUnited KingdomStephen Shaw PROPOSAL
Smith X DoeIndiaAmy Elsner RENEWAL
Faith P PerinGermanyXuxue Feng NEGOTIATION
Deepesh G ChuiIndiaOnyama Limba PROPOSAL
Aruna D VenereArgentinaIoni Bowcher NEGOTIATION
David B RulapaughGermanyAsiya Javayant PROPOSAL
Morrow Z KuskoBrazilStephen 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>