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 DoeIndiaXuxue Feng NEW
Aditya N ShinkoAustraliaIvan Magalhaes PROPOSAL
Mayumi O WieserItalyBernardo Dominic RENEWAL
Deepesh S MacleadSpainAsiya Javayant NEGOTIATION
Alejandro N AlbaresItalyElwin Sharvill RENEWAL
Misaki Q ButtBrazilAmy Elsner NEW
Kaitlin H RoysterArgentinaAnna Fali NEGOTIATION
Cody N AlbaresGermanyAmy Elsner NEGOTIATION
Kadeem W RulapaughJapanXuxue Feng PROPOSAL
Munro F OstroskyBrazilStephen Shaw NEW
Kaitlin R MarrierAustraliaAsiya Javayant QUALIFIED
Leon W NickaSpainIvan Magalhaes QUALIFIED
Johnson H ShinkoIndiaIoni Bowcher PROPOSAL
Costa Q GarufiIndiaElwin Sharvill QUALIFIED
Aika F MarrierArgentinaAsiya Javayant NEGOTIATION
Ricardo D NickaUnited KingdomIvan Magalhaes NEGOTIATION
Jones R MacleadItalyAmy Elsner RENEWAL
Maria R FerenczSpainStephen Shaw PROPOSAL
Mujtaba A StockhamFranceOnyama Limba QUALIFIED
Aruna L PoquetteArgentinaElwin Sharvill UNQUALIFIED
Isabel X GlickUnited KingdomElwin Sharvill QUALIFIED
Johnson U SlusarskiFranceBernardo Dominic UNQUALIFIED
Misaki B InouyeIndiaIvan Magalhaes NEGOTIATION
Darci T WieserBrazilBernardo Dominic UNQUALIFIED
Aruna X GlickCanadaIoni Bowcher UNQUALIFIED
Alejandro W SaylorsSpainStephen Shaw PROPOSAL
Ricardo O VenereCanadaAnna Fali QUALIFIED
Emily N CaudyCanadaStephen Shaw NEW
Alejandro E CaudyAustraliaElwin Sharvill RENEWAL
Emily R BriddickCanadaBernardo Dominic QUALIFIED
Alejandro C SaylorsAustraliaOnyama Limba RENEWAL
Munro G KuskoRussiaXuxue Feng PROPOSAL
Ashley G AlbaresIndiaOnyama Limba NEW
Morrow E MaletGermanyElwin Sharvill UNQUALIFIED
Nicolas L SchemmerItalyStephen Shaw QUALIFIED
Aika W MacleadUnited KingdomIoni Bowcher UNQUALIFIED
Faith X RutaRussiaXuxue Feng NEW
Darci N GillianItalyAsiya Javayant NEGOTIATION
Morrow J GlickFranceXuxue Feng UNQUALIFIED
Jeanfrancois M GauchoSpainXuxue Feng NEW
Ricardo N RimIndiaAmy Elsner RENEWAL
Murillo T AlbaresAustraliaAsiya Javayant QUALIFIED
Jennifer B DarakjyBrazilElwin Sharvill UNQUALIFIED
Izzy T DoeIndiaStephen Shaw QUALIFIED
Smith C BriddickBrazilAmy Elsner UNQUALIFIED
Wickens I BowleyGermanyXuxue Feng QUALIFIED
Ashley L ChuiBrazilOnyama Limba RENEWAL
Emily Q RoysterJapanBernardo Dominic NEW
Alejandro U ShinkoItalyIoni Bowcher UNQUALIFIED
Ivar M InouyeJapanIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Smith I GlickGermanyXuxue Feng NEGOTIATION
Octavia X RimRussiaOnyama Limba PROPOSAL
Sinclair L ShinkoAustraliaAsiya Javayant NEGOTIATION
Leon B TollnerAustraliaOnyama Limba NEW
Jennifer J GillianBrazilIoni Bowcher RENEWAL
Antonio S IturbideGermanyIoni Bowcher NEGOTIATION
Jones Q GauchoBrazilBernardo Dominic RENEWAL
Ivar K RoysterUnited KingdomAsiya Javayant RENEWAL
David X KolmetzArgentinaStephen Shaw QUALIFIED
Morrow A GauchoFranceAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba R SaylorsItaly2024-06-02Buckley Miller Wright QUALIFIED53Anna Fali
1001Aruna I SlusarskiFrance2024-06-05Dorl, James J Esq PROPOSAL77Xuxue Feng
1002Francesco P GlickFrance2024-05-27Buckley Miller Wright PROPOSAL85Anna Fali
1003Mujtaba B PoquetteUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL18Anna Fali
1004Sinclair B RoysterRussia2024-06-05Chapman, Ross E Esq NEW30Asiya Javayant
1005Clifford R OldroydItaly2024-06-14Feiner Bros RENEWAL96Ioni Bowcher
1006Sinclair P BowleyArgentina2024-06-08Rousseaux, Michael Esq PROPOSAL94Asiya Javayant
1007Antonio L GillianIndia2024-06-17Chanay, Jeffrey A Esq PROPOSAL86Elwin Sharvill
1008Arvin T PaprockiGermany2024-06-09Morlong Associates RENEWAL49Stephen Shaw
1009Octavia L SchemmerItaly2024-06-16Truhlar And Truhlar Attys NEGOTIATION74Xuxue Feng
1010Aditya M BriddickCanada2024-05-23Chapman, Ross E Esq PROPOSAL81Xuxue Feng
1011Morrow Z GillianFrance2024-06-01Morlong Associates UNQUALIFIED16Anna Fali
1012Wickens M NickaCanada2024-06-08Buckley Miller Wright RENEWAL19Ivan Magalhaes
1013Greenwood P CaldareraItaly2024-06-16Feltz Printing Service QUALIFIED14Asiya Javayant
1014Kadeem N MaletAustralia2024-05-20Rousseaux, Michael Esq RENEWAL45Ivan Magalhaes
1015Leja K InouyeCanada2024-06-09Rangoni Of Florence NEGOTIATION59Bernardo Dominic
1016Francesco E BowleyBrazil2024-05-25Chapman, Ross E Esq NEGOTIATION26Anna Fali
1017Faith O ButtUnited Kingdom2024-05-25Dorl, James J Esq UNQUALIFIED11Asiya Javayant
1018Julie O RimSpain2024-06-13King, Christopher A Esq PROPOSAL93Onyama Limba
1019Sinclair X MorascaIndia2024-05-28Chanay, Jeffrey A Esq PROPOSAL83Elwin Sharvill
1020Kadeem X MorascaJapan2024-05-28Chanay, Jeffrey A Esq QUALIFIED68Onyama Limba
1021Darci Y FerenczIndia2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED79Stephen Shaw
1022Aruna U FigeroaCanada2024-06-17Chanay, Jeffrey A Esq QUALIFIED18Amy Elsner
1023Kaitlin G GarufiItaly2024-06-09Benton, John B Jr UNQUALIFIED57Anna Fali
1024Leon R SlusarskiUnited Kingdom2024-05-20Feltz Printing Service RENEWAL70Elwin Sharvill
1025Maisha P WhobreyItaly2024-05-28Truhlar And Truhlar Attys UNQUALIFIED2Elwin Sharvill
1026Jeanfrancois T PaprockiAustralia2024-06-01Feiner Bros RENEWAL51Amy Elsner
1027Ashley J ButtItaly2024-06-17Printing Dimensions NEGOTIATION50Asiya Javayant
1028Jones K MorascaIndia2024-05-26Chapman, Ross E Esq NEW97Asiya Javayant
1029Deepesh S CaudyRussia2024-06-13Commercial Press QUALIFIED33Stephen Shaw
1030Arvin U PoquetteSpain2024-05-28Chemel, James L Cpa NEGOTIATION96Amy Elsner
1031Deepesh P AlbaresItaly2024-06-05Dorl, James J Esq QUALIFIED70Asiya Javayant
1032Sinclair F RimRussia2024-06-06Morlong Associates NEW57Stephen Shaw
1033Mayumi B SergiCanada2024-05-19Dorl, James J Esq QUALIFIED50Elwin Sharvill
1034Stacey I MaletJapan2024-06-11Commercial Press PROPOSAL29Bernardo Dominic
1035Julie B RulapaughCanada2024-06-07Rangoni Of Florence UNQUALIFIED55Onyama Limba
1036Antonio Y PerinBrazil2024-05-24Feiner Bros QUALIFIED94Ioni Bowcher
1037Mayumi M DoeArgentina2024-06-11Printing Dimensions NEW46Ivan Magalhaes
1038Leon R KolmetzCanada2024-06-09Morlong Associates PROPOSAL88Xuxue Feng
1039Chavez J DilliardGermany2024-06-07King, Christopher A Esq NEGOTIATION73Stephen Shaw
1040Nicolas K WhobreyRussia2024-05-30Commercial Press RENEWAL20Onyama Limba
1041Salvatore D IturbideBrazil2024-06-04Truhlar And Truhlar Attys PROPOSAL5Onyama Limba
1042Maisha W KuskoUnited Kingdom2024-05-23Commercial Press UNQUALIFIED14Stephen Shaw
1043Alejandro X MacleadIndia2024-06-08Morlong Associates QUALIFIED49Bernardo Dominic
1044Costa H DilliardRussia2024-05-21Chemel, James L Cpa UNQUALIFIED33Xuxue Feng
1045Faith M SchemmerUnited Kingdom2024-06-10Chanay, Jeffrey A Esq NEGOTIATION81Ioni Bowcher
1046Kaitlin B DarakjyCanada2024-05-20Buckley Miller Wright NEGOTIATION6Asiya Javayant
1047Jennifer D SergiGermany2024-06-03Printing Dimensions UNQUALIFIED46Asiya Javayant
1048Jones T RoysterUnited Kingdom2024-05-29Chanay, Jeffrey A Esq PROPOSAL48Asiya Javayant
1049Jennifer K NestleUnited Kingdom2024-06-01Dorl, James J Esq RENEWAL19Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood A CaldareraRussiaXuxue Feng QUALIFIED
Jennifer Z SergiFranceBernardo Dominic QUALIFIED
Deepesh U DilliardFranceAnna Fali RENEWAL
Misaki L ChuiGermanyIvan Magalhaes PROPOSAL
Jennifer A WhobreyCanadaAnna Fali NEW
Isabel V SlusarskiBrazilAmy Elsner NEW
Wickens V IturbideItalyIvan Magalhaes NEW
Jeanfrancois D SlusarskiSpainXuxue Feng NEGOTIATION
Jefferson S MarrierFranceStephen Shaw NEW
Jeanfrancois X GauchoCanadaAsiya Javayant QUALIFIED
Jeanfrancois T WieserCanadaElwin Sharvill NEGOTIATION
Johnson L BriddickFranceXuxue Feng NEGOTIATION
Faith Y MaletJapanOnyama Limba QUALIFIED
Tony J BologniaArgentinaOnyama Limba RENEWAL
Aditya Q SaylorsCanadaXuxue Feng RENEWAL
Jennifer Z SergiUnited KingdomBernardo Dominic QUALIFIED
Smith A KolmetzIndiaAnna Fali NEW
Juan Q AmigonGermanyAnna Fali QUALIFIED
Mayumi Z WieserAustraliaAmy Elsner RENEWAL
Arvin G FerenczSpainAsiya Javayant RENEWAL
Darci N DilliardUnited KingdomElwin Sharvill RENEWAL
Aika E RutaSpainAnna Fali PROPOSAL
Wickens Z DoeIndiaIvan Magalhaes RENEWAL
Maria F CampainSpainIvan Magalhaes NEW
Ivar X FlosiItalyAnna Fali QUALIFIED
James B SlusarskiIndiaStephen Shaw NEGOTIATION
Darci P SergiGermanyAmy Elsner QUALIFIED
Ricardo B FollerGermanyAnna Fali QUALIFIED
Darci D StensethFranceElwin Sharvill UNQUALIFIED
Misaki G SchemmerJapanXuxue Feng PROPOSAL
Clifford G NickaFranceIoni Bowcher NEGOTIATION
Adams I DilliardArgentinaXuxue Feng UNQUALIFIED
Maisha U DoeJapanStephen Shaw NEGOTIATION
Stacey B RutaFranceAmy Elsner RENEWAL
Emily X StensethGermanyAnna Fali UNQUALIFIED
Chavez B ChuiBrazilAnna Fali PROPOSAL
Emily Y RimIndiaElwin Sharvill RENEWAL
Costa Z WhobreyRussiaAnna Fali NEGOTIATION
Arvin R NestleRussiaIvan Magalhaes QUALIFIED
Costa Z GillianBrazilAnna Fali QUALIFIED
Alejandro C GlickCanadaIvan Magalhaes UNQUALIFIED
Stacey R CaudyRussiaIoni Bowcher PROPOSAL
Deepesh B RoysterArgentinaBernardo Dominic NEW
Izzy D OstroskyCanadaIvan Magalhaes UNQUALIFIED
Aruna D CampainArgentinaAnna Fali UNQUALIFIED
Juan N DoeAustraliaAmy Elsner NEW
Cody K GarufiCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois L MorascaRussiaXuxue Feng NEW
Cody C NickaJapanIvan Magalhaes QUALIFIED
Darci B StockhamJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Tony E Caldarera
James D Oldroyd
Jefferson B Waycott
Ricardo X Nicka
Costa S Flosi
Maria L Caudy
Silvio A Shinko
Leon X Garufi
Adams G Albares
Misaki V Sergi
Aruna S Vocelka
Clifford R Malet
Ricardo S Saylors
Clifford Z Nicka
Jeanfrancois C Inouye
Jefferson X Amigon
Murillo S Chui
Silvio L Darakjy
David N Dilliard
Cody C Malet
Jennifer Y Schemmer
Ricardo G Chui
Ricardo I Maclead
Aruna M Shinko
Rodrigues Y Darakjy
Sinclair I Vocelka
Aruna T Slusarski
Adams D Figeroa
Murillo K Saylors
Chavez O Wieser
Leon P Marrier
Maria L Perin
Octavia W Glick
Leon A Amigon
Antonio Z Foller
Chavez G Doe
Greenwood Q Caldarera
Tony H Wieser
Smith H Inouye
Costa K Waycott
Adams Y Ostrosky
Wickens R Whobrey
Chavez U Inouye
Francesco R Inouye
Salvatore C Foller
Julie R Maclead
Maisha O Inouye
Antonio A Kusko
Julie C Iturbide
Aika B Stenseth
IdCountryDate
1000Australia2024-05-25
1001Canada2024-05-26
1002Brazil2024-05-20
1003Japan2024-06-02
1004Argentina2024-06-12
1005Argentina2024-05-19
1006Australia2024-06-12
1007Italy2024-05-28
1008Italy2024-06-07
1009Brazil2024-06-04
1010Germany2024-05-23
1011Australia2024-05-20
1012United Kingdom2024-05-19
1013Russia2024-06-10
1014France2024-05-28
1015Japan2024-06-10
1016Argentina2024-05-22
1017Brazil2024-06-04
1018Spain2024-06-06
1019United Kingdom2024-05-27
1020Australia2024-06-15
1021United Kingdom2024-05-19
1022France2024-05-23
1023United Kingdom2024-06-16
1024Spain2024-06-13
1025Brazil2024-05-24
1026India2024-06-12
1027United Kingdom2024-05-28
1028Argentina2024-06-08
1029Russia2024-06-07
1030Germany2024-06-01
1031Spain2024-05-29
1032Argentina2024-06-01
1033Russia2024-06-13
1034France2024-06-17
1035Japan2024-05-21
1036France2024-06-04
1037United Kingdom2024-06-07
1038France2024-06-10
1039Spain2024-05-29
1040India2024-05-21
1041Australia2024-05-30
1042Brazil2024-05-26
1043Japan2024-06-12
1044Japan2024-06-01
1045Italy2024-06-15
1046Germany2024-05-23
1047France2024-05-21
1048Italy2024-06-08
1049United Kingdom2024-06-06

On-Demand Data

NameIdCountryDate
Kaitlin R Perin1000India2024-06-03
Nicolas Y Paprocki1001Argentina2024-06-05
Julie N Perin1002Germany2024-06-06
Costa J Ruta1003Italy2024-06-09
Morrow G Caldarera1004Canada2024-06-07
Mujtaba D Stockham1005Australia2024-06-11
Arvin K Waycott1006India2024-05-28
Faith F Waycott1007Australia2024-06-16
Mujtaba Q Whobrey1008Italy2024-05-28
Arvin B Ostrosky1009Japan2024-06-05
Leja Y Kolmetz1010India2024-05-31
Morrow Z Figeroa1011Brazil2024-05-28
David S Maclead1012Italy2024-06-16
Francesco Q Rim1013India2024-06-12
Silvio A Darakjy1014Italy2024-05-29
Julie F Caldarera1015Germany2024-06-02
Cody A Ruta1016United Kingdom2024-06-17
Maria A Saylors1017India2024-06-17
Darci Q Albares1018Brazil2024-06-02
Salvatore L Marrier1019Brazil2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem A VenereJapanIvan Magalhaes PROPOSAL
Isabel B PaprockiIndiaXuxue Feng RENEWAL
Faith Y DoeAustraliaBernardo Dominic PROPOSAL
Faith K GillianIndiaAmy Elsner NEW
Ivar U RoysterSpainAmy Elsner NEW
Isabel O ShinkoGermanyAnna Fali NEW
Francesco E PaprockiFranceAsiya Javayant UNQUALIFIED
Ricardo W VenereFranceXuxue Feng RENEWAL
Deepesh D DilliardItalyAnna Fali PROPOSAL
Maria I CaudyGermanyAmy Elsner UNQUALIFIED
Mujtaba D SergiGermanyBernardo Dominic UNQUALIFIED
Adams S GarufiRussiaElwin Sharvill NEW
Adams F PaprockiFranceAsiya Javayant UNQUALIFIED
Smith Q AlbaresItalyAsiya Javayant UNQUALIFIED
Nicolas S ButtBrazilStephen Shaw PROPOSAL
Cody S BologniaFranceAsiya Javayant UNQUALIFIED
Izzy X MacleadRussiaXuxue Feng UNQUALIFIED
Claire J PerinGermanyIvan Magalhaes PROPOSAL
David U PoquetteSpainAsiya Javayant NEW
Leja B ShinkoAustraliaBernardo Dominic NEGOTIATION
Ashley R PaprockiItalyAnna Fali RENEWAL
Ricardo R IturbideGermanyStephen Shaw PROPOSAL
Darci Z WaycottJapanElwin Sharvill RENEWAL
Alejandro Z NickaBrazilAnna Fali NEW
James S FigeroaCanadaAnna Fali RENEWAL
Maria G NestleRussiaStephen Shaw RENEWAL
Nicolas W PaprockiSpainAmy Elsner RENEWAL
Ricardo Q IturbideRussiaXuxue Feng PROPOSAL
Aditya H FerenczItalyXuxue Feng NEGOTIATION
Maria L DoeJapanStephen Shaw UNQUALIFIED
Maria E PaprockiSpainIvan Magalhaes QUALIFIED
Tony I SaylorsBrazilAmy Elsner NEW
Chavez C WieserIndiaXuxue Feng UNQUALIFIED
Johnson K KolmetzItalyAnna Fali RENEWAL
Isabel B SlusarskiItalyOnyama Limba UNQUALIFIED
Sinclair P GlickItalyIvan Magalhaes NEW
Faith G MaletFranceElwin Sharvill QUALIFIED
Mujtaba T MarrierFranceAnna Fali UNQUALIFIED
Aruna P InouyeBrazilIoni Bowcher RENEWAL
James Q StockhamUnited 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>