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
Antonio K StensethRussiaBernardo Dominic NEGOTIATION
Claire N WaycottCanadaAsiya Javayant QUALIFIED
Arvin V ButtSpainOnyama Limba RENEWAL
Ricardo I NickaCanadaStephen Shaw UNQUALIFIED
David L CaudyBrazilIvan Magalhaes RENEWAL
Izzy V OldroydArgentinaBernardo Dominic NEGOTIATION
Claire I NickaJapanAsiya Javayant NEGOTIATION
Mayumi X FigeroaGermanyAsiya Javayant PROPOSAL
Maria R AlbaresFranceXuxue Feng UNQUALIFIED
Aika V MarrierSpainAmy Elsner RENEWAL
Jefferson V SlusarskiGermanyOnyama Limba PROPOSAL
Costa F ShinkoGermanyIvan Magalhaes QUALIFIED
Ivar N PerinFranceIoni Bowcher RENEWAL
Murillo K NickaItalyElwin Sharvill UNQUALIFIED
Jennifer C DoeBrazilElwin Sharvill PROPOSAL
Antonio J DarakjyArgentinaAmy Elsner QUALIFIED
Nicolas Z PoquetteArgentinaAmy Elsner RENEWAL
Aditya V DarakjySpainAsiya Javayant QUALIFIED
Deepesh Y BologniaArgentinaBernardo Dominic PROPOSAL
Leon U FerenczGermanyIoni Bowcher NEW
Greenwood Y FerenczItalyBernardo Dominic NEGOTIATION
Deepesh X MarrierGermanyOnyama Limba RENEWAL
Chavez E IturbideArgentinaBernardo Dominic UNQUALIFIED
Jennifer B VocelkaRussiaIoni Bowcher UNQUALIFIED
Tony F GlickArgentinaAmy Elsner QUALIFIED
Kaitlin Z BologniaArgentinaAsiya Javayant PROPOSAL
Morrow B OldroydArgentinaXuxue Feng RENEWAL
Jefferson E ShinkoCanadaBernardo Dominic QUALIFIED
Misaki Q AlbaresFranceAsiya Javayant NEGOTIATION
Maria F WaycottRussiaStephen Shaw PROPOSAL
Jennifer C MacleadItalyElwin Sharvill PROPOSAL
Murillo Z IturbideArgentinaIvan Magalhaes NEGOTIATION
Salvatore Z GauchoCanadaAnna Fali PROPOSAL
Mayumi J PerinJapanElwin Sharvill UNQUALIFIED
Salvatore W StensethJapanIoni Bowcher UNQUALIFIED
Antonio I SchemmerCanadaElwin Sharvill QUALIFIED
Nicolas B GlickBrazilElwin Sharvill NEW
Faith D WaycottFranceStephen Shaw QUALIFIED
Stacey R MarrierArgentinaAnna Fali PROPOSAL
Ricardo M StensethIndiaElwin Sharvill QUALIFIED
Leja J StockhamFranceAnna Fali QUALIFIED
James X VenereUnited KingdomXuxue Feng UNQUALIFIED
Arvin B MaletFranceElwin Sharvill UNQUALIFIED
Julie T SchemmerBrazilBernardo Dominic QUALIFIED
Adams Y MarrierUnited KingdomOnyama Limba NEGOTIATION
Sinclair U DilliardFranceAsiya Javayant RENEWAL
Francesco G RimFranceStephen Shaw NEGOTIATION
James V PaprockiArgentinaAnna Fali QUALIFIED
Cody B SchemmerAustraliaIoni Bowcher NEW
James I FigeroaGermanyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Claire V MacleadGermanyOnyama Limba NEW
Jeanfrancois E VenereJapanElwin Sharvill NEGOTIATION
Tony H GlickGermanyXuxue Feng NEW
Emily W TollnerCanadaStephen Shaw NEW
Kaitlin N GauchoItalyElwin Sharvill RENEWAL
Faith H InouyeFranceAmy Elsner RENEWAL
Claire S SergiGermanyIvan Magalhaes RENEWAL
Emily S GauchoItalyIvan Magalhaes RENEWAL
Arvin Q SaylorsRussiaElwin Sharvill NEW
James H FerenczArgentinaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford Z ChuiRussia2025-06-03Printing Dimensions NEGOTIATION94Xuxue Feng
1001Francesco C VenereArgentina2025-06-15Rangoni Of Florence NEGOTIATION12Onyama Limba
1002Greenwood S DarakjySpain2025-06-06Chemel, James L Cpa NEGOTIATION52Ioni Bowcher
1003Cody S ChuiRussia2025-05-27Commercial Press QUALIFIED7Asiya Javayant
1004Silvio O CaldareraAustralia2025-06-13Feltz Printing Service NEGOTIATION27Onyama Limba
1005Antonio V CampainGermany2025-05-24Feiner Bros UNQUALIFIED7Asiya Javayant
1006Tony P GlickJapan2025-06-11Truhlar And Truhlar Attys PROPOSAL41Ioni Bowcher
1007Aruna A KolmetzUnited Kingdom2025-05-28Buckley Miller Wright NEGOTIATION88Onyama Limba
1008Sinclair B PaprockiFrance2025-06-16Printing Dimensions NEW89Stephen Shaw
1009Mayumi E ChuiArgentina2025-05-22Morlong Associates NEW76Ioni Bowcher
1010Darci C BowleyUnited Kingdom2025-05-31Rousseaux, Michael Esq RENEWAL33Xuxue Feng
1011Salvatore G RulapaughCanada2025-06-06Commercial Press RENEWAL25Anna Fali
1012David E VenereIndia2025-06-02Rousseaux, Michael Esq NEW61Asiya Javayant
1013Ricardo I AmigonArgentina2025-06-11King, Christopher A Esq UNQUALIFIED47Amy Elsner
1014Antonio W CaldareraUnited Kingdom2025-06-01Rousseaux, Michael Esq UNQUALIFIED33Bernardo Dominic
1015Izzy Y AmigonIndia2025-06-11Chapman, Ross E Esq RENEWAL1Stephen Shaw
1016Chavez Q RimBrazil2025-06-16Dorl, James J Esq NEGOTIATION22Ivan Magalhaes
1017Jefferson J MorascaRussia2025-06-14Buckley Miller Wright PROPOSAL80Ioni Bowcher
1018Tony H InouyeJapan2025-06-12Morlong Associates QUALIFIED27Onyama Limba
1019Clifford C GlickItaly2025-05-30Morlong Associates RENEWAL62Onyama Limba
1020Ricardo R BowleyCanada2025-06-03Benton, John B Jr PROPOSAL70Elwin Sharvill
1021Ricardo H FerenczFrance2025-06-01Buckley Miller Wright RENEWAL78Amy Elsner
1022Francesco W PaprockiUnited Kingdom2025-05-31Rousseaux, Michael Esq NEGOTIATION40Xuxue Feng
1023Greenwood G ButtRussia2025-06-01Morlong Associates NEGOTIATION81Onyama Limba
1024Claire Y DoeArgentina2025-06-03Printing Dimensions NEW75Elwin Sharvill
1025Jennifer M MaletIndia2025-06-11Dorl, James J Esq PROPOSAL25Stephen Shaw
1026Morrow W KolmetzItaly2025-06-07Printing Dimensions QUALIFIED6Asiya Javayant
1027Sinclair B AlbaresUnited Kingdom2025-06-16Buckley Miller Wright UNQUALIFIED98Anna Fali
1028Jefferson M StensethBrazil2025-05-30Rangoni Of Florence QUALIFIED78Bernardo Dominic
1029Wickens E CampainSpain2025-05-25Feiner Bros PROPOSAL86Stephen Shaw
1030Murillo E SaylorsIndia2025-06-12Rousseaux, Michael Esq NEW67Anna Fali
1031Greenwood N VocelkaFrance2025-06-10Truhlar And Truhlar Attys UNQUALIFIED18Bernardo Dominic
1032Darci U WaycottFrance2025-05-31Chapman, Ross E Esq PROPOSAL11Asiya Javayant
1033Johnson E SergiGermany2025-05-22Printing Dimensions NEW11Xuxue Feng
1034Smith V KuskoGermany2025-06-06Rangoni Of Florence NEGOTIATION24Asiya Javayant
1035Mayumi N CaldareraFrance2025-05-25Chanay, Jeffrey A Esq UNQUALIFIED33Ioni Bowcher
1036Costa N BologniaBrazil2025-05-31Benton, John B Jr UNQUALIFIED68Elwin Sharvill
1037Kadeem T KuskoRussia2025-06-15Feiner Bros PROPOSAL71Xuxue Feng
1038Maria S SergiSpain2025-05-24Chanay, Jeffrey A Esq RENEWAL15Amy Elsner
1039Isabel L GillianGermany2025-05-21Chanay, Jeffrey A Esq PROPOSAL73Amy Elsner
1040Claire Q WieserUnited Kingdom2025-05-20Benton, John B Jr RENEWAL68Asiya Javayant
1041Munro T VenereRussia2025-05-24Chanay, Jeffrey A Esq QUALIFIED40Elwin Sharvill
1042Misaki Z VocelkaJapan2025-06-12Rousseaux, Michael Esq PROPOSAL26Xuxue Feng
1043Adams J PaprockiArgentina2025-06-01Benton, John B Jr NEW70Amy Elsner
1044Tony F SergiUnited Kingdom2025-06-08Chanay, Jeffrey A Esq NEGOTIATION57Amy Elsner
1045James Z ChuiAustralia2025-06-14Commercial Press QUALIFIED69Stephen Shaw
1046Darci F TollnerGermany2025-06-05Morlong Associates NEGOTIATION5Amy Elsner
1047Emily G ChuiFrance2025-05-24Dorl, James J Esq QUALIFIED46Xuxue Feng
1048Sinclair B CaudyCanada2025-06-05Benton, John B Jr UNQUALIFIED79Anna Fali
1049Stacey G SaylorsUnited Kingdom2025-06-04Rangoni Of Florence NEGOTIATION51Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kadeem S GauchoUnited KingdomOnyama Limba RENEWAL
Salvatore G NestleSpainAmy Elsner NEW
Juan P VenereSpainXuxue Feng RENEWAL
Murillo X FigeroaCanadaBernardo Dominic NEW
Francesco D InouyeAustraliaElwin Sharvill RENEWAL
Rodrigues I StockhamSpainXuxue Feng NEGOTIATION
Tony M DoeFranceBernardo Dominic NEGOTIATION
Tony I FerenczBrazilBernardo Dominic NEGOTIATION
Aditya U BologniaFranceAnna Fali NEGOTIATION
Jones I BriddickCanadaBernardo Dominic NEGOTIATION
Ivar N MaletBrazilAmy Elsner QUALIFIED
Cody Y RulapaughArgentinaIoni Bowcher RENEWAL
Salvatore O FerenczAustraliaOnyama Limba PROPOSAL
Nicolas T CaldareraIndiaIvan Magalhaes QUALIFIED
Smith P SaylorsRussiaAsiya Javayant NEW
Morrow B KuskoIndiaAmy Elsner NEGOTIATION
Morrow Y RutaRussiaBernardo Dominic RENEWAL
Antonio E NestleSpainElwin Sharvill QUALIFIED
Izzy D BriddickRussiaAnna Fali NEGOTIATION
Ricardo E WaycottUnited KingdomXuxue Feng RENEWAL
Maria I OstroskyCanadaAnna Fali RENEWAL
Maisha O DarakjyJapanBernardo Dominic RENEWAL
Ricardo U GillianCanadaBernardo Dominic QUALIFIED
Aika C SaylorsRussiaIoni Bowcher RENEWAL
Clifford T VenereCanadaXuxue Feng PROPOSAL
Rodrigues Y MarrierBrazilElwin Sharvill PROPOSAL
Ricardo C PaprockiJapanAnna Fali NEGOTIATION
Kadeem R SchemmerUnited KingdomIoni Bowcher NEW
Darci U DoeSpainIvan Magalhaes QUALIFIED
Tony R DarakjyJapanAsiya Javayant QUALIFIED
Arvin T CaudySpainElwin Sharvill NEGOTIATION
Kaitlin C BologniaSpainAsiya Javayant QUALIFIED
Alejandro P DilliardArgentinaStephen Shaw NEGOTIATION
Alejandro J DoeRussiaOnyama Limba PROPOSAL
Ivar B DoeUnited KingdomXuxue Feng PROPOSAL
Arvin E DilliardFranceOnyama Limba RENEWAL
Arvin P RoysterRussiaXuxue Feng RENEWAL
Kaitlin E OstroskyArgentinaAmy Elsner RENEWAL
Silvio C SlusarskiBrazilStephen Shaw NEGOTIATION
Kaitlin D ChuiRussiaBernardo Dominic UNQUALIFIED
Clifford O VocelkaRussiaOnyama Limba RENEWAL
Chavez D PaprockiItalyElwin Sharvill NEW
Ricardo O MaletBrazilIoni Bowcher NEGOTIATION
Kaitlin R OldroydArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois K TollnerRussiaElwin Sharvill UNQUALIFIED
Kaitlin D AlbaresIndiaAsiya Javayant RENEWAL
David C TollnerSpainIvan Magalhaes NEGOTIATION
Kaitlin P MaletItalyOnyama Limba RENEWAL
David M IturbideFranceElwin Sharvill UNQUALIFIED
Costa Z PaprockiSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Kadeem M Venere
Antonio A Figeroa
Jeanfrancois N Venere
Darci I Bowley
Jeanfrancois A Caudy
Emily J Flosi
Leja T Darakjy
Ivar O Stenseth
Adams W Shinko
James G Glick
Costa D Chui
James T Gillian
James K Nicka
Leon E Kusko
Isabel B Albares
Leja J Briddick
Sinclair D Wieser
Tony J Iturbide
Aruna M Schemmer
Nicolas M Bowley
Aditya Q Wieser
Faith Z Rim
Kadeem D Slusarski
Ivar B Saylors
Faith D Nestle
Alejandro T Rulapaugh
Salvatore S Campain
Leon N Inouye
Maria L Nicka
Juan B Garufi
Juan F Kolmetz
Aruna P Nestle
James U Nicka
Chavez B Briddick
Maisha C Caldarera
Johnson F Shinko
Costa A Doe
Tony Y Slusarski
Darci U Ruta
Isabel R Royster
Jones A Maclead
Wickens G Malet
Aika M Nicka
Octavia T Oldroyd
Darci K Maclead
Arvin T Marrier
Ashley K Butt
Kaitlin A Flosi
Costa V Maclead
Maria I Kolmetz
IdCountryDate
1000Germany2025-05-26
1001Germany2025-06-15
1002United Kingdom2025-05-20
1003Brazil2025-06-07
1004India2025-05-18
1005United Kingdom2025-05-28
1006Canada2025-06-04
1007Brazil2025-06-14
1008India2025-06-15
1009France2025-06-15
1010Russia2025-05-24
1011Germany2025-06-06
1012Spain2025-06-05
1013Australia2025-06-16
1014Russia2025-05-25
1015Italy2025-05-21
1016Australia2025-05-29
1017India2025-06-12
1018United Kingdom2025-05-29
1019India2025-05-31
1020Australia2025-06-13
1021Canada2025-05-29
1022Canada2025-05-19
1023Spain2025-06-06
1024Italy2025-06-05
1025United Kingdom2025-06-03
1026United Kingdom2025-05-18
1027Argentina2025-05-20
1028Italy2025-06-02
1029United Kingdom2025-05-29
1030Canada2025-05-28
1031Italy2025-05-19
1032Germany2025-05-20
1033India2025-06-15
1034Japan2025-06-09
1035Japan2025-06-07
1036France2025-05-22
1037Brazil2025-05-27
1038Italy2025-05-19
1039Canada2025-05-19
1040Japan2025-05-24
1041Italy2025-05-20
1042Russia2025-06-15
1043Brazil2025-05-27
1044Japan2025-06-09
1045France2025-05-31
1046Italy2025-05-29
1047Spain2025-06-08
1048Argentina2025-05-21
1049France2025-05-30

On-Demand Data

NameIdCountryDate
James J Malet1000Brazil2025-06-11
Rodrigues J Stockham1001Italy2025-06-12
Claire A Foller1002Canada2025-06-01
Izzy J Nestle1003Japan2025-06-08
Clifford O Flosi1004Germany2025-06-14
Jones Y Bolognia1005United Kingdom2025-06-02
Maria D Rim1006Germany2025-05-23
Sinclair S Saylors1007France2025-05-28
Salvatore I Slusarski1008Brazil2025-06-08
Jeanfrancois U Dilliard1009United Kingdom2025-05-27
Aruna J Gillian1010Argentina2025-06-11
Antonio T Wieser1011France2025-05-19
Juan J Saylors1012Argentina2025-06-11
Mayumi C Bolognia1013United Kingdom2025-05-25
Salvatore H Foller1014France2025-06-14
Isabel T Albares1015France2025-05-22
Smith Q Waycott1016United Kingdom2025-05-27
Francesco N Tollner1017Germany2025-05-30
Salvatore W Caudy1018Spain2025-05-18
Morrow Q Ferencz1019France2025-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson H CaudyUnited KingdomAmy Elsner RENEWAL
Nicolas N GarufiBrazilElwin Sharvill PROPOSAL
Deepesh B FollerIndiaStephen Shaw NEW
Kadeem M InouyeGermanyBernardo Dominic NEGOTIATION
Emily N StensethFranceXuxue Feng NEGOTIATION
Juan L WaycottArgentinaStephen Shaw UNQUALIFIED
Mayumi L SaylorsRussiaAnna Fali RENEWAL
Silvio I WhobreyUnited KingdomAmy Elsner NEGOTIATION
Ricardo G FlosiItalyAsiya Javayant QUALIFIED
Murillo V MaletRussiaXuxue Feng PROPOSAL
Adams M InouyeArgentinaOnyama Limba RENEWAL
Darci F DarakjySpainAmy Elsner NEW
Darci Q DarakjyRussiaAnna Fali QUALIFIED
David O VenereAustraliaStephen Shaw NEGOTIATION
Jeanfrancois T OldroydRussiaBernardo Dominic RENEWAL
James K KolmetzIndiaXuxue Feng RENEWAL
Ivar U RoysterAustraliaIoni Bowcher QUALIFIED
Ricardo D CaudyFranceAmy Elsner NEW
Aditya F MaletFranceAnna Fali RENEWAL
Mayumi M VenereItalyAnna Fali RENEWAL
Kadeem M KolmetzItalyOnyama Limba NEGOTIATION
Mujtaba M PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba N MaletRussiaAnna Fali RENEWAL
Costa Q BowleyRussiaIvan Magalhaes PROPOSAL
Ashley W VocelkaItalyIoni Bowcher UNQUALIFIED
Wickens X NickaIndiaOnyama Limba PROPOSAL
Claire K FlosiSpainXuxue Feng PROPOSAL
Sinclair L GauchoItalyBernardo Dominic RENEWAL
Maisha J MaletFranceIoni Bowcher QUALIFIED
Maisha J BriddickIndiaElwin Sharvill UNQUALIFIED
Stacey C ButtArgentinaIvan Magalhaes NEW
Costa B DarakjyUnited KingdomAmy Elsner NEW
Claire Q PaprockiItalyAnna Fali UNQUALIFIED
Misaki C GlickArgentinaElwin Sharvill PROPOSAL
Claire U KuskoFranceAsiya Javayant NEGOTIATION
Alejandro Y OldroydAustraliaBernardo Dominic NEW
James W KolmetzBrazilIvan Magalhaes PROPOSAL
Chavez Q BologniaGermanyStephen Shaw PROPOSAL
Clifford K GillianItalyBernardo Dominic RENEWAL
Stacey R TollnerAustraliaBernardo Dominic 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>