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
James Y TollnerArgentinaIvan Magalhaes QUALIFIED
Munro G DarakjyItalyStephen Shaw NEGOTIATION
Salvatore P KolmetzCanadaIoni Bowcher UNQUALIFIED
Aruna H AlbaresJapanIvan Magalhaes UNQUALIFIED
David P SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Aruna D GlickRussiaIoni Bowcher UNQUALIFIED
Wickens X SlusarskiJapanIoni Bowcher NEGOTIATION
Francesco P NickaJapanIvan Magalhaes NEW
David E GillianBrazilOnyama Limba UNQUALIFIED
Leja S PaprockiItalyAmy Elsner UNQUALIFIED
Ashley S FerenczAustraliaOnyama Limba PROPOSAL
Mujtaba H FigeroaCanadaIoni Bowcher NEW
Ashley V FlosiIndiaAnna Fali UNQUALIFIED
Mayumi K FlosiGermanyAnna Fali QUALIFIED
Chavez J NestleRussiaAnna Fali UNQUALIFIED
Costa Y AlbaresJapanAmy Elsner QUALIFIED
Jeanfrancois Z CaldareraSpainIvan Magalhaes PROPOSAL
David I ChuiArgentinaStephen Shaw PROPOSAL
Clifford L MarrierSpainOnyama Limba NEGOTIATION
Darci K FollerUnited KingdomOnyama Limba NEGOTIATION
Mayumi M DilliardRussiaAsiya Javayant QUALIFIED
Stacey H FollerItalyOnyama Limba RENEWAL
Jeanfrancois Z AlbaresFranceElwin Sharvill UNQUALIFIED
Francesco Q NestleIndiaIvan Magalhaes UNQUALIFIED
Alejandro T SergiItalyIvan Magalhaes QUALIFIED
Costa C PoquetteIndiaIoni Bowcher NEGOTIATION
Greenwood Q ShinkoCanadaElwin Sharvill RENEWAL
Kadeem K KolmetzFranceOnyama Limba QUALIFIED
Munro O DarakjyUnited KingdomBernardo Dominic NEW
Leja E ChuiBrazilAsiya Javayant NEGOTIATION
Adams B SlusarskiGermanyBernardo Dominic NEGOTIATION
Leon Q FigeroaRussiaXuxue Feng PROPOSAL
Darci V VenereBrazilAmy Elsner NEW
Maria S MaletRussiaIoni Bowcher QUALIFIED
Jennifer S ButtCanadaOnyama Limba NEGOTIATION
Silvio F VocelkaFranceOnyama Limba NEGOTIATION
Greenwood T SergiFranceIvan Magalhaes PROPOSAL
Isabel I SlusarskiSpainStephen Shaw PROPOSAL
Mujtaba B MarrierFranceAnna Fali NEW
Morrow J GarufiCanadaOnyama Limba UNQUALIFIED
Alejandro F CampainArgentinaIvan Magalhaes NEGOTIATION
Mayumi R KolmetzArgentinaBernardo Dominic RENEWAL
Rodrigues T GauchoFranceIoni Bowcher QUALIFIED
Rodrigues J AlbaresRussiaElwin Sharvill QUALIFIED
Izzy H ButtUnited KingdomIvan Magalhaes QUALIFIED
Maisha F ButtCanadaXuxue Feng NEW
Aditya B AmigonBrazilIoni Bowcher NEW
Wickens K InouyeJapanIvan Magalhaes UNQUALIFIED
Jones N InouyeArgentinaXuxue Feng NEGOTIATION
Jeanfrancois H FigeroaJapanAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci Y StensethRussiaStephen Shaw PROPOSAL
Chavez M MarrierArgentinaIvan Magalhaes UNQUALIFIED
Jennifer S SergiArgentinaAsiya Javayant RENEWAL
Ivar M StockhamBrazilAnna Fali RENEWAL
Silvio I MaletJapanOnyama Limba NEW
Ricardo Y GillianRussiaXuxue Feng QUALIFIED
Octavia N PerinGermanyAsiya Javayant NEGOTIATION
Mayumi X PerinAustraliaElwin Sharvill PROPOSAL
Salvatore R VocelkaBrazilElwin Sharvill PROPOSAL
Salvatore I StockhamFranceOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci J TollnerAustralia2024-04-25Feiner Bros NEW19Onyama Limba
1001Jefferson P KuskoIndia2024-04-25Rousseaux, Michael Esq RENEWAL29Amy Elsner
1002Ivar H CaudyUnited Kingdom2024-05-23Feiner Bros UNQUALIFIED75Amy Elsner
1003Faith J FollerFrance2024-04-26Buckley Miller Wright NEGOTIATION22Ioni Bowcher
1004Maisha P ButtFrance2024-05-07Chemel, James L Cpa PROPOSAL68Xuxue Feng
1005Silvio K ButtItaly2024-04-25Rousseaux, Michael Esq NEGOTIATION85Ioni Bowcher
1006David A TollnerJapan2024-05-24Buckley Miller Wright QUALIFIED78Asiya Javayant
1007Juan X NickaBrazil2024-04-30Benton, John B Jr NEW12Amy Elsner
1008Jones I GarufiUnited Kingdom2024-05-03Chanay, Jeffrey A Esq UNQUALIFIED56Amy Elsner
1009Arvin S RoysterJapan2024-04-28Rousseaux, Michael Esq QUALIFIED79Anna Fali
1010Maria C SchemmerIndia2024-05-14Feiner Bros PROPOSAL47Anna Fali
1011Murillo T KolmetzItaly2024-05-19Chemel, James L Cpa NEGOTIATION85Ivan Magalhaes
1012Misaki Z DoeItaly2024-04-27Rousseaux, Michael Esq PROPOSAL50Elwin Sharvill
1013Morrow C SergiAustralia2024-05-14Feiner Bros PROPOSAL89Amy Elsner
1014Jennifer L GillianFrance2024-05-09Feiner Bros UNQUALIFIED98Anna Fali
1015Antonio O AmigonUnited Kingdom2024-05-24Dorl, James J Esq NEGOTIATION55Elwin Sharvill
1016Kadeem Q GlickCanada2024-05-19King, Christopher A Esq RENEWAL14Bernardo Dominic
1017Aditya E GauchoFrance2024-05-10King, Christopher A Esq NEW28Anna Fali
1018Mujtaba I OstroskyRussia2024-04-29Buckley Miller Wright QUALIFIED27Anna Fali
1019Aruna Y OstroskyFrance2024-05-03Buckley Miller Wright NEGOTIATION19Anna Fali
1020Maria H GillianItaly2024-05-10Rangoni Of Florence NEGOTIATION2Xuxue Feng
1021Jeanfrancois K CampainItaly2024-05-24King, Christopher A Esq NEW53Ioni Bowcher
1022Munro I MorascaRussia2024-05-19Buckley Miller Wright UNQUALIFIED13Bernardo Dominic
1023Emily L NestleIndia2024-05-14Printing Dimensions UNQUALIFIED47Stephen Shaw
1024Sinclair K StensethFrance2024-05-11Dorl, James J Esq QUALIFIED67Ivan Magalhaes
1025Emily B MaletGermany2024-05-22Chemel, James L Cpa UNQUALIFIED8Elwin Sharvill
1026Tony L AlbaresUnited Kingdom2024-05-11Feltz Printing Service RENEWAL99Asiya Javayant
1027Antonio X FigeroaRussia2024-05-10Printing Dimensions UNQUALIFIED81Anna Fali
1028Jefferson D DilliardIndia2024-05-10Dorl, James J Esq QUALIFIED1Xuxue Feng
1029Octavia H DoeFrance2024-04-29Feltz Printing Service UNQUALIFIED88Asiya Javayant
1030Emily O FigeroaUnited Kingdom2024-05-12Dorl, James J Esq PROPOSAL42Xuxue Feng
1031Octavia L BologniaRussia2024-05-15Chapman, Ross E Esq RENEWAL29Anna Fali
1032Emily O MarrierArgentina2024-04-29Benton, John B Jr NEW75Asiya Javayant
1033Rodrigues G KuskoFrance2024-05-09Buckley Miller Wright QUALIFIED15Xuxue Feng
1034Costa Q FerenczFrance2024-05-05Truhlar And Truhlar Attys RENEWAL10Onyama Limba
1035Silvio K WieserGermany2024-04-27Truhlar And Truhlar Attys NEGOTIATION80Bernardo Dominic
1036Kaitlin Y KolmetzSpain2024-04-29Feiner Bros QUALIFIED55Onyama Limba
1037Isabel Q OldroydItaly2024-05-12Morlong Associates NEW54Ioni Bowcher
1038Chavez P SaylorsBrazil2024-05-23Buckley Miller Wright QUALIFIED73Ioni Bowcher
1039Clifford W RulapaughSpain2024-05-15Chapman, Ross E Esq RENEWAL31Elwin Sharvill
1040Leon O VenereSpain2024-05-02Buckley Miller Wright PROPOSAL6Elwin Sharvill
1041Jennifer D PerinJapan2024-05-23Truhlar And Truhlar Attys RENEWAL45Amy Elsner
1042Smith U PerinCanada2024-05-08Benton, John B Jr UNQUALIFIED25Xuxue Feng
1043Ashley F VocelkaSpain2024-05-14Commercial Press NEGOTIATION53Asiya Javayant
1044Deepesh J GarufiCanada2024-04-29Morlong Associates PROPOSAL21Stephen Shaw
1045Darci N IturbideArgentina2024-05-09Dorl, James J Esq RENEWAL43Anna Fali
1046Maisha E IturbideUnited Kingdom2024-05-18Commercial Press NEGOTIATION43Ivan Magalhaes
1047Francesco M TollnerArgentina2024-04-25Dorl, James J Esq RENEWAL18Stephen Shaw
1048Stacey K FollerItaly2024-05-22King, Christopher A Esq RENEWAL83Stephen Shaw
1049Mayumi S OldroydCanada2024-05-10Truhlar And Truhlar Attys UNQUALIFIED38Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Alejandro F MaletItalyOnyama Limba UNQUALIFIED
Sinclair C FlosiIndiaElwin Sharvill UNQUALIFIED
Antonio V MorascaFranceStephen Shaw NEGOTIATION
Izzy G PaprockiFranceIoni Bowcher NEW
Greenwood Q NestleArgentinaElwin Sharvill NEW
Faith R AlbaresRussiaIoni Bowcher NEGOTIATION
Mujtaba F InouyeFranceAnna Fali NEW
Ivar A VenereItalyElwin Sharvill NEW
Aika H FollerFranceIvan Magalhaes QUALIFIED
Leon F PoquetteFranceIvan Magalhaes NEW
Misaki I ButtRussiaXuxue Feng UNQUALIFIED
Nicolas Z FlosiItalyXuxue Feng RENEWAL
Kadeem S PaprockiAustraliaXuxue Feng UNQUALIFIED
Wickens X KolmetzUnited KingdomXuxue Feng QUALIFIED
Claire I RutaGermanyElwin Sharvill QUALIFIED
Johnson P SergiGermanyXuxue Feng QUALIFIED
Nicolas Z KolmetzJapanOnyama Limba UNQUALIFIED
Claire E OldroydSpainAsiya Javayant QUALIFIED
Arvin X DarakjySpainAsiya Javayant NEGOTIATION
Wickens Q DarakjyArgentinaXuxue Feng QUALIFIED
Aika N WaycottCanadaIoni Bowcher NEW
Adams B GlickAustraliaAmy Elsner RENEWAL
Julie Y DilliardCanadaAmy Elsner NEW
Ivar J BologniaItalyOnyama Limba RENEWAL
Emily K FlosiIndiaAmy Elsner NEW
Smith W SchemmerGermanyOnyama Limba UNQUALIFIED
Julie J MarrierUnited KingdomAsiya Javayant NEW
Greenwood G AlbaresGermanyAnna Fali RENEWAL
Claire C BologniaBrazilIoni Bowcher UNQUALIFIED
Leon V PoquetteBrazilAnna Fali PROPOSAL
Leon H SlusarskiCanadaOnyama Limba QUALIFIED
Clifford O DoeIndiaAnna Fali RENEWAL
Alejandro U GauchoCanadaElwin Sharvill UNQUALIFIED
Darci C NestleAustraliaBernardo Dominic NEGOTIATION
Smith M KolmetzItalyXuxue Feng PROPOSAL
Octavia V MarrierIndiaAmy Elsner UNQUALIFIED
Tony X StockhamUnited KingdomIoni Bowcher RENEWAL
Nicolas K RoysterCanadaBernardo Dominic QUALIFIED
Maisha B VocelkaGermanyAsiya Javayant NEGOTIATION
Salvatore P DilliardArgentinaElwin Sharvill PROPOSAL
Octavia Z MaletSpainStephen Shaw UNQUALIFIED
Julie T WieserArgentinaAsiya Javayant RENEWAL
Alejandro X RulapaughItalyElwin Sharvill RENEWAL
Maria W WieserUnited KingdomAmy Elsner QUALIFIED
Octavia J StockhamItalyAmy Elsner QUALIFIED
Ivar I BowleyUnited KingdomStephen Shaw UNQUALIFIED
Jones O WhobreyAustraliaBernardo Dominic RENEWAL
Jones I MaletFranceXuxue Feng UNQUALIFIED
Greenwood J WaycottGermanyAsiya Javayant RENEWAL
Jones B RulapaughUnited KingdomStephen Shaw QUALIFIED
Frozen Columns
Name
Costa W Rulapaugh
Antonio E Darakjy
Francesco Y Oldroyd
Kaitlin X Caudy
Kadeem W Ostrosky
Mujtaba W Kolmetz
Isabel E Caudy
Wickens N Albares
Salvatore R Malet
Wickens Q Glick
James C Rim
Ricardo O Morasca
Antonio G Schemmer
Francesco I Chui
Kadeem C Morasca
Arvin B Bolognia
Jones I Darakjy
Jeanfrancois V Vocelka
Leon Q Paprocki
Kaitlin M Kusko
Claire N Amigon
Darci N Kolmetz
Jones G Tollner
Alejandro E Glick
Mujtaba T Royster
Jennifer A Inouye
Izzy I Nicka
Antonio E Marrier
Nicolas Z Campain
Smith F Foller
Arvin P Waycott
Faith H Maclead
Ashley E Shinko
Antonio R Chui
Darci B Maclead
Izzy W Bowley
Ashley K Inouye
Chavez K Shinko
Jeanfrancois V Ruta
Johnson M Paprocki
Clifford M Doe
Misaki C Kolmetz
Nicolas E Oldroyd
Stacey G Venere
Adams H Morasca
Munro Y Dilliard
Arvin O Marrier
Octavia T Gillian
Leon E Kusko
Claire A Iturbide
IdCountryDate
1000Germany2024-05-02
1001France2024-05-23
1002Australia2024-05-23
1003Germany2024-05-19
1004Canada2024-04-28
1005Russia2024-05-09
1006Germany2024-05-14
1007India2024-04-28
1008India2024-05-03
1009Japan2024-05-20
1010India2024-04-25
1011Argentina2024-05-20
1012India2024-05-06
1013Germany2024-05-16
1014India2024-05-24
1015Canada2024-05-09
1016Germany2024-05-20
1017Australia2024-04-30
1018Russia2024-05-24
1019Canada2024-04-27
1020United Kingdom2024-05-12
1021United Kingdom2024-05-21
1022Germany2024-04-30
1023India2024-04-25
1024Canada2024-05-23
1025Argentina2024-05-24
1026Australia2024-05-07
1027France2024-05-09
1028Spain2024-04-27
1029Australia2024-05-14
1030Spain2024-05-13
1031United Kingdom2024-05-10
1032United Kingdom2024-05-24
1033Argentina2024-05-20
1034Canada2024-05-17
1035France2024-04-27
1036Russia2024-05-01
1037Russia2024-05-19
1038Argentina2024-05-07
1039Brazil2024-05-10
1040France2024-05-02
1041Germany2024-05-07
1042Argentina2024-05-13
1043Canada2024-04-28
1044Canada2024-05-13
1045Germany2024-05-17
1046Brazil2024-04-29
1047France2024-05-16
1048United Kingdom2024-05-07
1049Australia2024-05-16

On-Demand Data

NameIdCountryDate
Nicolas D Dilliard1000Russia2024-04-26
Silvio Q Caudy1001Germany2024-05-06
Nicolas Z Nestle1002Argentina2024-05-17
Stacey U Slusarski1003Germany2024-05-22
David D Poquette1004France2024-05-12
Antonio F Paprocki1005Japan2024-05-07
Juan P Schemmer1006Brazil2024-05-04
Octavia N Nestle1007Argentina2024-05-20
Silvio T Tollner1008Russia2024-05-15
Clifford S Stockham1009India2024-05-13
Aika D Garufi1010Italy2024-05-13
Mayumi Z Caldarera1011Germany2024-05-20
Morrow D Flosi1012Russia2024-05-22
Faith N Butt1013Brazil2024-05-01
David G Whobrey1014Australia2024-05-09
Munro D Malet1015Russia2024-05-02
Murillo I Iturbide1016Spain2024-05-08
Cody V Flosi1017United Kingdom2024-05-17
Ricardo Q Bowley1018Japan2024-05-15
Octavia N Oldroyd1019Brazil2024-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens M RulapaughCanadaXuxue Feng NEGOTIATION
Antonio K StockhamFranceElwin Sharvill NEW
Maisha R PerinItalyAnna Fali UNQUALIFIED
Juan N FlosiRussiaIvan Magalhaes QUALIFIED
Costa A DilliardRussiaStephen Shaw NEGOTIATION
Ashley P DilliardSpainStephen Shaw UNQUALIFIED
Costa B CaudyAustraliaAmy Elsner RENEWAL
Mujtaba R CaldareraSpainBernardo Dominic QUALIFIED
Leon E DilliardBrazilIvan Magalhaes PROPOSAL
Adams Q DilliardGermanyIoni Bowcher PROPOSAL
Faith X VenereCanadaStephen Shaw RENEWAL
Johnson N WhobreySpainAnna Fali UNQUALIFIED
Izzy Y ShinkoRussiaOnyama Limba PROPOSAL
Johnson D FerenczCanadaAsiya Javayant NEW
Antonio X DoeCanadaAnna Fali RENEWAL
Jeanfrancois C DarakjyCanadaAsiya Javayant NEGOTIATION
Smith G OstroskyUnited KingdomXuxue Feng NEW
Ricardo W CampainAustraliaAmy Elsner PROPOSAL
Mayumi Y WaycottGermanyAmy Elsner UNQUALIFIED
Misaki D CampainCanadaAnna Fali NEW
Aditya G MaletAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois S FerenczAustraliaIoni Bowcher NEGOTIATION
Johnson D InouyeFranceXuxue Feng QUALIFIED
Tony U KuskoGermanyIoni Bowcher PROPOSAL
Arvin G PaprockiGermanyXuxue Feng NEGOTIATION
Darci M TollnerAustraliaXuxue Feng RENEWAL
Munro X PoquetteUnited KingdomOnyama Limba RENEWAL
Johnson W FlosiArgentinaAsiya Javayant NEW
James E FlosiBrazilXuxue Feng QUALIFIED
Octavia U PerinFranceIoni Bowcher RENEWAL
Johnson S MarrierBrazilBernardo Dominic UNQUALIFIED
Munro H WhobreyIndiaIvan Magalhaes PROPOSAL
Maisha L DarakjyFranceAnna Fali PROPOSAL
Alejandro R WaycottIndiaAsiya Javayant RENEWAL
Ricardo T OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Arvin C NestleRussiaElwin Sharvill NEW
Aika L MarrierJapanXuxue Feng QUALIFIED
Jones N KolmetzItalyIvan Magalhaes RENEWAL
Izzy F MorascaItalyElwin Sharvill NEGOTIATION
Johnson S DilliardUnited KingdomIoni Bowcher 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>