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
Mujtaba Z VenereUnited KingdomStephen Shaw NEGOTIATION
Adams I StockhamSpainOnyama Limba QUALIFIED
Jeanfrancois S CampainGermanyElwin Sharvill PROPOSAL
Stacey M SaylorsJapanAmy Elsner RENEWAL
Munro C IturbideRussiaAmy Elsner UNQUALIFIED
Faith J SaylorsCanadaStephen Shaw QUALIFIED
Nicolas Q FigeroaGermanyAmy Elsner RENEWAL
Darci D CaldareraGermanyStephen Shaw NEW
Ivar Z GarufiRussiaIoni Bowcher NEW
Juan G MaletUnited KingdomElwin Sharvill RENEWAL
Ashley V ChuiIndiaAsiya Javayant UNQUALIFIED
Emily J GarufiFranceAmy Elsner NEGOTIATION
Isabel C RoysterFranceElwin Sharvill RENEWAL
Maisha Q ShinkoSpainXuxue Feng QUALIFIED
Leon T GlickGermanyAsiya Javayant NEW
Leja T GauchoBrazilIvan Magalhaes PROPOSAL
Cody C SergiRussiaAsiya Javayant NEGOTIATION
Alejandro E RimCanadaAmy Elsner NEW
David H KolmetzBrazilOnyama Limba UNQUALIFIED
Darci O VocelkaAustraliaElwin Sharvill QUALIFIED
Julie Y WieserAustraliaIoni Bowcher QUALIFIED
Leon Z FigeroaArgentinaXuxue Feng QUALIFIED
Greenwood O ButtRussiaAsiya Javayant PROPOSAL
Octavia C OldroydBrazilBernardo Dominic NEW
Octavia H FigeroaBrazilStephen Shaw NEGOTIATION
Aruna X StockhamUnited KingdomOnyama Limba QUALIFIED
Darci V MorascaUnited KingdomIoni Bowcher NEGOTIATION
Aditya R BologniaCanadaIvan Magalhaes NEGOTIATION
Kadeem F TollnerArgentinaXuxue Feng QUALIFIED
Ashley F WaycottIndiaIoni Bowcher NEW
Mujtaba X CampainIndiaBernardo Dominic QUALIFIED
Aruna N RoysterItalyIvan Magalhaes PROPOSAL
Claire N RulapaughUnited KingdomElwin Sharvill QUALIFIED
Stacey N FerenczSpainOnyama Limba QUALIFIED
Misaki O SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Wickens Q StensethBrazilIoni Bowcher NEW
Morrow A NestleJapanAmy Elsner UNQUALIFIED
Nicolas P RulapaughFranceIvan Magalhaes RENEWAL
Aditya L FollerItalyIvan Magalhaes NEW
Claire T StockhamJapanOnyama Limba QUALIFIED
Izzy X WieserJapanBernardo Dominic QUALIFIED
Mayumi N AmigonCanadaElwin Sharvill QUALIFIED
Nicolas B MarrierIndiaAsiya Javayant NEW
Jones F CaudyGermanyAmy Elsner PROPOSAL
Maisha B ButtUnited KingdomOnyama Limba NEGOTIATION
Murillo U PerinUnited KingdomStephen Shaw NEW
Silvio C DoeCanadaIvan Magalhaes QUALIFIED
Costa C SchemmerIndiaAmy Elsner PROPOSAL
Salvatore F RoysterIndiaElwin Sharvill UNQUALIFIED
Nicolas G NestleBrazilAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya K PoquetteCanadaIvan Magalhaes QUALIFIED
Silvio G GauchoUnited KingdomBernardo Dominic NEGOTIATION
Deepesh V MacleadCanadaIvan Magalhaes RENEWAL
Mujtaba V BowleyAustraliaStephen Shaw QUALIFIED
Nicolas W MaletIndiaIvan Magalhaes NEW
Misaki F MaletSpainIvan Magalhaes NEW
Octavia H FigeroaFranceStephen Shaw UNQUALIFIED
David Q AlbaresAustraliaBernardo Dominic PROPOSAL
Smith V ButtGermanyStephen Shaw NEGOTIATION
Johnson I ChuiAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Z SaylorsArgentina2024-06-08Feiner Bros UNQUALIFIED12Amy Elsner
1001Rodrigues M KuskoBrazil2024-05-20Buckley Miller Wright NEW44Xuxue Feng
1002Ricardo X KuskoIndia2024-06-10Buckley Miller Wright PROPOSAL16Onyama Limba
1003Emily C CaldareraIndia2024-06-10Chapman, Ross E Esq QUALIFIED99Amy Elsner
1004Aditya R DoeCanada2024-06-03Dorl, James J Esq QUALIFIED13Anna Fali
1005Antonio S OldroydRussia2024-05-27Chanay, Jeffrey A Esq NEW90Ivan Magalhaes
1006Clifford S RulapaughArgentina2024-06-15Feltz Printing Service QUALIFIED32Stephen Shaw
1007Antonio K OldroydFrance2024-06-02Morlong Associates QUALIFIED71Asiya Javayant
1008Rodrigues H RimArgentina2024-05-23Morlong Associates NEGOTIATION6Onyama Limba
1009Ricardo N VocelkaItaly2024-06-12King, Christopher A Esq RENEWAL6Ioni Bowcher
1010Claire D CaudyRussia2024-05-28Truhlar And Truhlar Attys QUALIFIED48Xuxue Feng
1011Jones O IturbideIndia2024-05-24Benton, John B Jr UNQUALIFIED69Xuxue Feng
1012Darci B OldroydUnited Kingdom2024-06-08Commercial Press PROPOSAL22Xuxue Feng
1013Ashley W WieserRussia2024-05-27Benton, John B Jr UNQUALIFIED66Stephen Shaw
1014Antonio A SlusarskiFrance2024-06-03King, Christopher A Esq UNQUALIFIED60Stephen Shaw
1015Faith Y BowleyGermany2024-05-30King, Christopher A Esq NEGOTIATION94Bernardo Dominic
1016Claire G CampainIndia2024-05-19Rousseaux, Michael Esq RENEWAL53Ivan Magalhaes
1017Aika O WieserAustralia2024-05-20Feltz Printing Service QUALIFIED8Anna Fali
1018Maria T RimRussia2024-06-11Rousseaux, Michael Esq RENEWAL86Ioni Bowcher
1019Aditya O FollerAustralia2024-06-07Rousseaux, Michael Esq NEGOTIATION57Ivan Magalhaes
1020Deepesh L MacleadBrazil2024-06-02Morlong Associates UNQUALIFIED99Ioni Bowcher
1021Mayumi C CaudyIndia2024-05-22Feiner Bros PROPOSAL22Anna Fali
1022David B DarakjyItaly2024-06-01Rangoni Of Florence NEGOTIATION22Ivan Magalhaes
1023Juan F BriddickRussia2024-06-12Morlong Associates UNQUALIFIED43Amy Elsner
1024Octavia T WaycottIndia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION48Ivan Magalhaes
1025Nicolas J MorascaJapan2024-06-09Rousseaux, Michael Esq NEW49Elwin Sharvill
1026Jefferson L BologniaArgentina2024-06-03Feiner Bros PROPOSAL1Xuxue Feng
1027Ricardo U KolmetzFrance2024-06-10Feiner Bros NEW33Onyama Limba
1028Wickens I MacleadArgentina2024-06-06Chanay, Jeffrey A Esq RENEWAL77Onyama Limba
1029Jeanfrancois J ChuiArgentina2024-06-12Truhlar And Truhlar Attys NEGOTIATION95Asiya Javayant
1030Emily J GarufiCanada2024-05-22Chemel, James L Cpa RENEWAL96Xuxue Feng
1031Ivar P MorascaRussia2024-06-12Chemel, James L Cpa NEW95Stephen Shaw
1032Izzy M IturbideSpain2024-06-11Feiner Bros RENEWAL48Amy Elsner
1033Silvio N CampainIndia2024-05-31Rangoni Of Florence RENEWAL12Ioni Bowcher
1034Jeanfrancois O StockhamIndia2024-06-12Printing Dimensions PROPOSAL78Onyama Limba
1035Costa H GauchoAustralia2024-05-26Chapman, Ross E Esq NEW41Amy Elsner
1036Arvin A ChuiUnited Kingdom2024-06-02Benton, John B Jr RENEWAL30Onyama Limba
1037Leja Q SlusarskiIndia2024-05-27Truhlar And Truhlar Attys NEGOTIATION56Elwin Sharvill
1038Julie V RulapaughIndia2024-05-26Dorl, James J Esq PROPOSAL36Xuxue Feng
1039Leon O SergiUnited Kingdom2024-05-18Chemel, James L Cpa NEGOTIATION53Stephen Shaw
1040Claire U FlosiFrance2024-05-29Feiner Bros UNQUALIFIED32Elwin Sharvill
1041Maria E BologniaBrazil2024-05-19King, Christopher A Esq NEW65Asiya Javayant
1042Jefferson Y WieserSpain2024-06-08Printing Dimensions NEW95Stephen Shaw
1043Maria I ShinkoGermany2024-05-22Dorl, James J Esq RENEWAL93Elwin Sharvill
1044Antonio F StockhamArgentina2024-05-22Rangoni Of Florence QUALIFIED13Onyama Limba
1045Ashley E VocelkaSpain2024-06-11Chapman, Ross E Esq RENEWAL77Stephen Shaw
1046Juan K SaylorsItaly2024-05-28Commercial Press RENEWAL29Stephen Shaw
1047Mujtaba J OstroskyGermany2024-05-24Truhlar And Truhlar Attys NEGOTIATION31Amy Elsner
1048Adams C GillianGermany2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED25Xuxue Feng
1049Silvio A DarakjyBrazil2024-06-15Dorl, James J Esq NEW42Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily J SlusarskiGermanyBernardo Dominic RENEWAL
Juan Y IturbideSpainIoni Bowcher NEGOTIATION
Francesco W NestleUnited KingdomStephen Shaw NEGOTIATION
Salvatore K FerenczIndiaAsiya Javayant RENEWAL
Smith N KolmetzGermanyXuxue Feng PROPOSAL
Jennifer O SaylorsRussiaElwin Sharvill QUALIFIED
Tony K InouyeArgentinaAmy Elsner NEW
Ivar K DoeRussiaAsiya Javayant UNQUALIFIED
Arvin B WhobreyArgentinaAsiya Javayant PROPOSAL
Ashley Q VocelkaGermanyBernardo Dominic NEGOTIATION
Tony J ChuiGermanyIvan Magalhaes PROPOSAL
Greenwood P BologniaRussiaIvan Magalhaes PROPOSAL
Clifford P PerinCanadaBernardo Dominic PROPOSAL
Leon C PerinIndiaIoni Bowcher RENEWAL
Munro X GauchoAustraliaXuxue Feng PROPOSAL
Aika N FerenczIndiaBernardo Dominic NEGOTIATION
Ashley R MaletRussiaIvan Magalhaes PROPOSAL
Chavez Q CampainUnited KingdomXuxue Feng RENEWAL
Ashley H GauchoItalyElwin Sharvill QUALIFIED
Juan X NestleJapanIvan Magalhaes QUALIFIED
Kaitlin J DarakjyJapanIoni Bowcher QUALIFIED
Francesco R OldroydAustraliaIvan Magalhaes NEW
Ivar E RutaJapanAmy Elsner NEGOTIATION
Salvatore Z IturbideCanadaIvan Magalhaes NEGOTIATION
Silvio R WaycottIndiaAnna Fali NEW
Cody V FollerUnited KingdomXuxue Feng NEW
Maisha B SlusarskiIndiaAnna Fali QUALIFIED
Tony R MarrierRussiaAnna Fali NEW
Chavez Z OldroydBrazilAmy Elsner PROPOSAL
Deepesh O PerinJapanElwin Sharvill PROPOSAL
Munro A SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Costa G GauchoItalyIoni Bowcher NEGOTIATION
Octavia R DoeFranceIoni Bowcher UNQUALIFIED
Isabel F WhobreyAustraliaAmy Elsner NEGOTIATION
Claire L VocelkaGermanyXuxue Feng PROPOSAL
Maisha C CampainArgentinaAmy Elsner RENEWAL
Leon L RoysterUnited KingdomAsiya Javayant NEGOTIATION
Juan G CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer P PerinCanadaStephen Shaw NEW
Leon U WieserSpainAnna Fali PROPOSAL
Adams K CampainArgentinaAsiya Javayant UNQUALIFIED
Julie G BologniaBrazilBernardo Dominic RENEWAL
Salvatore D KuskoItalyAnna Fali UNQUALIFIED
Aruna P BowleyItalyElwin Sharvill RENEWAL
Stacey F StockhamFranceElwin Sharvill UNQUALIFIED
Salvatore W SaylorsItalyAmy Elsner UNQUALIFIED
Adams E ButtIndiaIvan Magalhaes QUALIFIED
Kadeem J KolmetzGermanyBernardo Dominic QUALIFIED
Aika B StockhamItalyAmy Elsner UNQUALIFIED
Arvin L ButtRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Nicolas A Albares
Octavia T Malet
Maria S Perin
Darci B Waycott
Mujtaba Q Vocelka
Arvin K Perin
Claire D Garufi
Salvatore F Nicka
Maisha A Perin
Sinclair W Dilliard
Izzy H Caldarera
Wickens C Garufi
Cody P Royster
Maria B Stenseth
Adams P Venere
Jones J Malet
Leon U Malet
Clifford N Albares
Leon X Caldarera
Johnson A Kusko
Isabel W Rim
Adams M Whobrey
Juan O Albares
Greenwood H Ferencz
Jones L Kolmetz
Octavia K Ostrosky
Stacey B Marrier
Costa O Slusarski
Octavia O Doe
Kaitlin F Venere
Costa X Figeroa
Ricardo W Kolmetz
Adams D Iturbide
Maria N Slusarski
Tony X Ferencz
Stacey U Sergi
David A Maclead
Adams X Inouye
Silvio G Marrier
Juan D Caudy
Emily T Vocelka
Jeanfrancois E Garufi
Costa N Nestle
Jefferson R Marrier
Sinclair R Figeroa
David R Shinko
Johnson T Sergi
Munro P Iturbide
Aruna O Flosi
Jeanfrancois J Dilliard
IdCountryDate
1000Italy2024-06-13
1001Brazil2024-05-23
1002Argentina2024-05-30
1003France2024-05-28
1004Australia2024-06-05
1005Argentina2024-05-19
1006Germany2024-06-07
1007Australia2024-06-02
1008Germany2024-06-10
1009Spain2024-05-18
1010Italy2024-06-05
1011Russia2024-05-26
1012India2024-06-04
1013Russia2024-06-05
1014France2024-06-01
1015Brazil2024-06-11
1016Canada2024-05-28
1017Germany2024-05-18
1018Japan2024-05-30
1019Russia2024-06-12
1020France2024-06-13
1021India2024-06-14
1022Argentina2024-05-25
1023Australia2024-05-19
1024Russia2024-06-15
1025Australia2024-05-23
1026France2024-06-09
1027Russia2024-05-28
1028India2024-06-08
1029Brazil2024-06-10
1030India2024-05-19
1031Australia2024-05-19
1032Italy2024-06-01
1033Japan2024-06-09
1034Australia2024-05-19
1035Brazil2024-06-13
1036Argentina2024-05-23
1037Spain2024-06-04
1038Germany2024-05-19
1039Italy2024-05-23
1040Spain2024-06-12
1041Argentina2024-05-23
1042Japan2024-06-12
1043Italy2024-05-24
1044France2024-05-19
1045Brazil2024-05-29
1046Brazil2024-06-14
1047Italy2024-06-05
1048Russia2024-06-13
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Kaitlin R Ferencz1000France2024-05-29
Leon G Slusarski1001France2024-05-27
Emily U Caudy1002Germany2024-06-14
Kadeem F Schemmer1003Japan2024-06-13
Octavia W Maclead1004France2024-05-27
Jones R Nicka1005Spain2024-05-30
Octavia W Gillian1006United Kingdom2024-05-27
Emily X Inouye1007Brazil2024-05-30
Jennifer Z Darakjy1008Canada2024-05-24
David A Rim1009Argentina2024-06-10
Greenwood Y Rim1010Russia2024-06-08
Maria U Campain1011France2024-05-25
Clifford U Kolmetz1012Australia2024-06-09
Antonio R Gaucho1013Italy2024-06-04
Greenwood Q Nestle1014Italy2024-05-31
Leon M Flosi1015Italy2024-06-10
Maisha F Morasca1016France2024-06-12
Cody N Doe1017Canada2024-06-12
Munro V Paprocki1018Argentina2024-05-23
Rodrigues E Paprocki1019Italy2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson L InouyeGermanyElwin Sharvill RENEWAL
Munro U WhobreyFranceBernardo Dominic PROPOSAL
Jeanfrancois Q WaycottItalyElwin Sharvill UNQUALIFIED
Emily F VocelkaUnited KingdomStephen Shaw NEW
Isabel J OldroydJapanStephen Shaw NEW
Alejandro C VocelkaUnited KingdomAsiya Javayant PROPOSAL
Greenwood T GillianArgentinaAmy Elsner NEGOTIATION
Mujtaba W GillianCanadaIoni Bowcher QUALIFIED
Emily Y SlusarskiGermanyAmy Elsner PROPOSAL
Juan Y PerinUnited KingdomAmy Elsner QUALIFIED
Clifford H PoquetteSpainIvan Magalhaes QUALIFIED
Nicolas B DoeJapanElwin Sharvill PROPOSAL
Sinclair S MaletIndiaStephen Shaw PROPOSAL
Munro J OstroskyFranceIoni Bowcher PROPOSAL
Francesco J FlosiItalyIvan Magalhaes QUALIFIED
Leja A StensethCanadaElwin Sharvill RENEWAL
David J SergiSpainXuxue Feng RENEWAL
Maria E FlosiCanadaAmy Elsner RENEWAL
Nicolas D StensethRussiaAnna Fali UNQUALIFIED
Ivar V NickaJapanIvan Magalhaes PROPOSAL
Maisha V DarakjyUnited KingdomAnna Fali RENEWAL
Johnson I WhobreyGermanyStephen Shaw NEGOTIATION
Darci K MarrierJapanAnna Fali RENEWAL
Antonio B GlickJapanStephen Shaw PROPOSAL
David P NestleUnited KingdomIoni Bowcher PROPOSAL
Morrow O NestleGermanyAmy Elsner PROPOSAL
Julie Y OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Maisha B BologniaRussiaXuxue Feng PROPOSAL
Misaki U GlickSpainXuxue Feng NEW
Faith F OstroskyRussiaIoni Bowcher NEGOTIATION
Johnson O CampainJapanOnyama Limba RENEWAL
Stacey U FigeroaGermanyXuxue Feng UNQUALIFIED
James R SchemmerUnited KingdomElwin Sharvill NEW
Chavez A BowleyCanadaBernardo Dominic UNQUALIFIED
Ashley C IturbideJapanAsiya Javayant UNQUALIFIED
Tony E DilliardAustraliaIvan Magalhaes NEGOTIATION
Darci Y DoeArgentinaStephen Shaw QUALIFIED
Ricardo G OstroskyUnited KingdomStephen Shaw RENEWAL
Nicolas E WhobreyFranceStephen Shaw PROPOSAL
Clifford A NickaArgentinaIvan Magalhaes 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>