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
Salvatore M PerinBrazilAsiya Javayant NEGOTIATION
Aika F AmigonFranceXuxue Feng UNQUALIFIED
Misaki O MarrierGermanyIoni Bowcher UNQUALIFIED
Deepesh F SergiFranceBernardo Dominic QUALIFIED
Chavez O CaudyRussiaOnyama Limba QUALIFIED
Costa F FerenczJapanIvan Magalhaes RENEWAL
Wickens W InouyeItalyAmy Elsner QUALIFIED
Jennifer I BologniaIndiaBernardo Dominic QUALIFIED
Greenwood A KolmetzBrazilOnyama Limba UNQUALIFIED
Adams G MaletCanadaOnyama Limba NEGOTIATION
Mayumi H BriddickJapanAmy Elsner NEGOTIATION
Costa A FigeroaCanadaOnyama Limba UNQUALIFIED
Jeanfrancois J GillianBrazilBernardo Dominic QUALIFIED
Costa Y StockhamRussiaStephen Shaw RENEWAL
Kadeem Q RimAustraliaAsiya Javayant PROPOSAL
Greenwood N GlickBrazilXuxue Feng NEW
Clifford E GillianCanadaIvan Magalhaes RENEWAL
Sinclair N OldroydAustraliaStephen Shaw RENEWAL
Leja E FerenczArgentinaIoni Bowcher NEGOTIATION
Kadeem V FollerGermanyIoni Bowcher QUALIFIED
Greenwood P OldroydUnited KingdomStephen Shaw QUALIFIED
Greenwood B CampainIndiaAnna Fali QUALIFIED
Isabel X WaycottItalyXuxue Feng NEW
Chavez T RulapaughGermanyElwin Sharvill UNQUALIFIED
Ricardo W ButtIndiaOnyama Limba NEGOTIATION
Greenwood W BologniaArgentinaAnna Fali RENEWAL
Johnson F BowleyGermanyAmy Elsner RENEWAL
Misaki V ShinkoFranceAnna Fali QUALIFIED
Misaki D GlickIndiaXuxue Feng NEGOTIATION
Octavia P CampainAustraliaStephen Shaw QUALIFIED
Misaki B VocelkaItalyBernardo Dominic RENEWAL
James C CaldareraUnited KingdomAnna Fali NEW
Emily K CampainCanadaBernardo Dominic RENEWAL
Jefferson Q BowleyIndiaAmy Elsner RENEWAL
Tony E IturbideItalyStephen Shaw RENEWAL
Sinclair P PaprockiFranceAsiya Javayant PROPOSAL
Misaki N DoeSpainStephen Shaw NEGOTIATION
Izzy F WaycottArgentinaAnna Fali UNQUALIFIED
Aika K TollnerBrazilAnna Fali NEGOTIATION
Julie B VenereItalyAnna Fali NEGOTIATION
David U RimSpainIvan Magalhaes QUALIFIED
Cody Y SlusarskiArgentinaOnyama Limba NEGOTIATION
Maisha F FlosiFranceXuxue Feng PROPOSAL
Leon W BriddickItalyStephen Shaw QUALIFIED
Misaki L InouyeItalyXuxue Feng RENEWAL
Jeanfrancois Q FlosiAustraliaIvan Magalhaes QUALIFIED
Julie K KuskoIndiaIoni Bowcher UNQUALIFIED
Ashley S WhobreyRussiaAsiya Javayant NEGOTIATION
Mujtaba J OldroydBrazilAnna Fali NEW
Leja E FollerAustraliaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Ivar T PoquetteSpainBernardo Dominic UNQUALIFIED
Sinclair E MarrierFranceBernardo Dominic NEGOTIATION
Sinclair N FerenczJapanIvan Magalhaes PROPOSAL
Morrow Q MacleadRussiaIvan Magalhaes NEW
Alejandro B CampainUnited KingdomIvan Magalhaes NEW
Jefferson I WhobreyArgentinaIvan Magalhaes NEW
Juan X MarrierFranceXuxue Feng PROPOSAL
Leja O FerenczRussiaOnyama Limba QUALIFIED
Claire S ChuiCanadaAmy Elsner QUALIFIED
Misaki H VocelkaIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens L WieserSpain2024-06-22Chapman, Ross E Esq UNQUALIFIED59Ioni Bowcher
1001Maria I FerenczBrazil2024-05-24King, Christopher A Esq QUALIFIED42Elwin Sharvill
1002Kadeem V CaldareraUnited Kingdom2024-06-01Feiner Bros UNQUALIFIED8Ioni Bowcher
1003Smith A NestleArgentina2024-06-18Chapman, Ross E Esq UNQUALIFIED46Elwin Sharvill
1004Francesco A OldroydGermany2024-06-10Chanay, Jeffrey A Esq PROPOSAL23Onyama Limba
1005Julie Y SergiBrazil2024-06-18Dorl, James J Esq NEW73Xuxue Feng
1006David N FigeroaUnited Kingdom2024-06-04Feiner Bros QUALIFIED13Elwin Sharvill
1007Jeanfrancois V IturbideJapan2024-06-07King, Christopher A Esq NEW33Ivan Magalhaes
1008Murillo K DarakjyUnited Kingdom2024-06-20Feiner Bros PROPOSAL25Ivan Magalhaes
1009Murillo Z GlickUnited Kingdom2024-06-04Dorl, James J Esq UNQUALIFIED97Anna Fali
1010Leon G IturbideArgentina2024-05-24Benton, John B Jr RENEWAL84Onyama Limba
1011Murillo I OldroydBrazil2024-06-15Printing Dimensions NEW41Elwin Sharvill
1012David E RulapaughBrazil2024-05-30Rangoni Of Florence NEGOTIATION25Ioni Bowcher
1013Sinclair J AlbaresRussia2024-06-18Feiner Bros UNQUALIFIED43Bernardo Dominic
1014Aruna J RulapaughAustralia2024-06-01Benton, John B Jr QUALIFIED16Ioni Bowcher
1015Sinclair X NestleJapan2024-06-03Rangoni Of Florence PROPOSAL70Asiya Javayant
1016Wickens T PaprockiJapan2024-06-01Printing Dimensions NEW2Ioni Bowcher
1017Mayumi T IturbideItaly2024-05-28Feiner Bros UNQUALIFIED29Elwin Sharvill
1018Juan O BowleyRussia2024-06-15Printing Dimensions NEW64Ioni Bowcher
1019Munro S SaylorsFrance2024-05-29Benton, John B Jr NEGOTIATION8Asiya Javayant
1020Emily S MorascaCanada2024-06-15Feltz Printing Service QUALIFIED30Ioni Bowcher
1021Emily H IturbideFrance2024-05-28Rousseaux, Michael Esq QUALIFIED23Bernardo Dominic
1022Julie B FigeroaCanada2024-06-09Rangoni Of Florence QUALIFIED75Anna Fali
1023Wickens P SlusarskiCanada2024-06-01Feltz Printing Service PROPOSAL39Bernardo Dominic
1024Deepesh U DoeBrazil2024-06-17Feiner Bros PROPOSAL21Bernardo Dominic
1025Nicolas V MacleadJapan2024-06-09Chemel, James L Cpa RENEWAL53Amy Elsner
1026Kadeem X VocelkaUnited Kingdom2024-05-27Benton, John B Jr NEW81Elwin Sharvill
1027Kaitlin T OstroskyIndia2024-06-04Morlong Associates NEGOTIATION38Anna Fali
1028Ricardo I CaudyItaly2024-06-15King, Christopher A Esq NEW46Asiya Javayant
1029Murillo W WhobreyFrance2024-06-01Buckley Miller Wright UNQUALIFIED20Ioni Bowcher
1030Rodrigues Y SaylorsAustralia2024-05-28Benton, John B Jr NEGOTIATION1Asiya Javayant
1031Sinclair C InouyeCanada2024-06-17Truhlar And Truhlar Attys NEGOTIATION5Ivan Magalhaes
1032Kaitlin Q MaletArgentina2024-05-26Benton, John B Jr RENEWAL5Xuxue Feng
1033Costa G MaletUnited Kingdom2024-06-01Chemel, James L Cpa UNQUALIFIED89Amy Elsner
1034Antonio O RulapaughArgentina2024-06-08King, Christopher A Esq UNQUALIFIED63Elwin Sharvill
1035Munro J BologniaFrance2024-06-21Rangoni Of Florence UNQUALIFIED5Ivan Magalhaes
1036Silvio F GlickJapan2024-06-03Truhlar And Truhlar Attys NEGOTIATION68Ivan Magalhaes
1037Aruna W MarrierRussia2024-06-04Feiner Bros RENEWAL17Xuxue Feng
1038Nicolas H IturbideAustralia2024-06-03Rousseaux, Michael Esq PROPOSAL24Bernardo Dominic
1039Adams U SchemmerIndia2024-05-25Chemel, James L Cpa NEW12Ivan Magalhaes
1040Murillo Y DarakjyRussia2024-05-24Feiner Bros UNQUALIFIED76Bernardo Dominic
1041Jeanfrancois V SaylorsUnited Kingdom2024-06-20Buckley Miller Wright QUALIFIED40Asiya Javayant
1042Octavia Z VocelkaAustralia2024-05-27Printing Dimensions NEGOTIATION14Amy Elsner
1043Kadeem H VenereRussia2024-05-30Rangoni Of Florence PROPOSAL42Bernardo Dominic
1044Adams U WieserArgentina2024-05-28Truhlar And Truhlar Attys NEGOTIATION63Ioni Bowcher
1045Julie N ButtFrance2024-05-31Truhlar And Truhlar Attys NEW67Amy Elsner
1046Faith C VocelkaRussia2024-06-18Rousseaux, Michael Esq PROPOSAL61Anna Fali
1047Claire V WieserCanada2024-05-28Truhlar And Truhlar Attys NEGOTIATION11Amy Elsner
1048Leon R PaprockiFrance2024-06-10Morlong Associates NEW51Xuxue Feng
1049Mujtaba S RutaIndia2024-06-03King, Christopher A Esq NEW69Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Salvatore W PaprockiAustraliaIoni Bowcher QUALIFIED
Misaki C OldroydSpainAnna Fali RENEWAL
Izzy D MarrierItalyAnna Fali NEGOTIATION
Jefferson D DoeGermanyBernardo Dominic RENEWAL
Julie R DilliardItalyStephen Shaw RENEWAL
Jeanfrancois E RutaFranceOnyama Limba QUALIFIED
Stacey S TollnerIndiaAmy Elsner NEW
Salvatore Q AmigonCanadaAnna Fali NEGOTIATION
Rodrigues O MorascaArgentinaIvan Magalhaes UNQUALIFIED
Johnson P WhobreyGermanyBernardo Dominic QUALIFIED
Murillo D CampainCanadaIoni Bowcher NEGOTIATION
Octavia I NestleUnited KingdomStephen Shaw RENEWAL
Clifford D ButtRussiaXuxue Feng UNQUALIFIED
Costa P KolmetzCanadaBernardo Dominic UNQUALIFIED
Adams V BologniaFranceBernardo Dominic PROPOSAL
Alejandro N ShinkoFranceIvan Magalhaes UNQUALIFIED
Claire A NestleSpainAnna Fali NEW
Aruna C CaldareraBrazilAsiya Javayant NEW
Johnson P WieserArgentinaXuxue Feng PROPOSAL
Jeanfrancois C BriddickSpainBernardo Dominic PROPOSAL
Misaki B ChuiCanadaXuxue Feng UNQUALIFIED
Juan U BologniaFranceStephen Shaw QUALIFIED
Chavez H NestleJapanAsiya Javayant QUALIFIED
Aditya T SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Stacey M FollerGermanyBernardo Dominic NEW
Kaitlin H RimIndiaXuxue Feng NEGOTIATION
Salvatore S SlusarskiJapanBernardo Dominic UNQUALIFIED
Adams D ButtIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois M ChuiGermanyIvan Magalhaes NEW
Claire B GarufiCanadaAmy Elsner PROPOSAL
Tony E GillianCanadaAmy Elsner UNQUALIFIED
Emily J SaylorsArgentinaElwin Sharvill NEW
Alejandro C KolmetzIndiaIoni Bowcher QUALIFIED
Ivar A RutaIndiaElwin Sharvill QUALIFIED
Morrow X WhobreyIndiaElwin Sharvill NEW
Aika T RoysterFranceIvan Magalhaes UNQUALIFIED
Maria L MarrierAustraliaIvan Magalhaes RENEWAL
Sinclair O MorascaBrazilAnna Fali UNQUALIFIED
Aika Y WieserRussiaAmy Elsner RENEWAL
Emily S ButtIndiaBernardo Dominic UNQUALIFIED
Isabel W WieserBrazilOnyama Limba NEW
Sinclair Z RutaSpainElwin Sharvill QUALIFIED
Jefferson M BriddickRussiaElwin Sharvill NEGOTIATION
Darci U VenereGermanyBernardo Dominic UNQUALIFIED
Smith O StockhamAustraliaStephen Shaw NEW
Kadeem Z BowleySpainXuxue Feng QUALIFIED
Ricardo T SlusarskiArgentinaElwin Sharvill NEW
Nicolas X NickaJapanStephen Shaw NEW
Morrow T OstroskyJapanAmy Elsner UNQUALIFIED
Cody N DarakjyIndiaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Juan V Maclead
Salvatore J Darakjy
Juan Z Flosi
Claire X Whobrey
Mayumi X Stockham
Octavia O Marrier
Julie N Malet
Nicolas A Tollner
Greenwood L Chui
Jennifer L Butt
Jeanfrancois A Ostrosky
James Y Doe
Aika A Campain
James H Waycott
Chavez L Chui
Darci C Poquette
Misaki Q Gillian
Mujtaba I Stockham
Clifford O Glick
Ricardo X Doe
Antonio A Campain
Jones B Amigon
Mujtaba T Caudy
Aditya R Saylors
Jennifer I Glick
Kadeem T Darakjy
Jefferson T Doe
Julie W Maclead
Jennifer L Caldarera
Ricardo G Briddick
Tony Q Morasca
Clifford G Morasca
Chavez Q Foller
Ricardo F Ferencz
Tony R Gillian
Jennifer V Venere
Johnson O Amigon
Wickens A Royster
Misaki U Iturbide
Rodrigues A Briddick
Mayumi W Doe
Ashley E Gaucho
Izzy V Tollner
David T Gaucho
Jones F Butt
James L Perin
Jeanfrancois H Bowley
Jennifer O Stenseth
Darci X Ruta
Maisha V Ostrosky
IdCountryDate
1000Japan2024-06-22
1001Spain2024-05-28
1002Brazil2024-06-19
1003Germany2024-06-17
1004India2024-06-08
1005Spain2024-05-27
1006Germany2024-06-15
1007France2024-06-07
1008Japan2024-06-18
1009Canada2024-05-30
1010Australia2024-06-18
1011Germany2024-06-10
1012Canada2024-06-01
1013Brazil2024-05-27
1014United Kingdom2024-06-05
1015Germany2024-06-20
1016Argentina2024-06-08
1017Canada2024-05-28
1018Spain2024-06-05
1019Russia2024-05-30
1020Italy2024-05-25
1021Argentina2024-05-30
1022Germany2024-06-17
1023Argentina2024-05-27
1024Russia2024-06-19
1025Spain2024-05-31
1026Japan2024-05-25
1027France2024-06-18
1028Japan2024-06-20
1029Italy2024-06-10
1030France2024-06-04
1031Canada2024-05-27
1032Argentina2024-06-22
1033Canada2024-05-25
1034Brazil2024-06-04
1035Argentina2024-06-02
1036Japan2024-06-16
1037France2024-06-20
1038Japan2024-06-14
1039Germany2024-06-02
1040Australia2024-06-02
1041Argentina2024-06-16
1042Russia2024-06-14
1043Brazil2024-06-13
1044Australia2024-06-12
1045United Kingdom2024-06-15
1046Spain2024-05-28
1047France2024-06-17
1048Australia2024-06-15
1049Spain2024-05-25

On-Demand Data

NameIdCountryDate
Jefferson Z Ferencz1000Brazil2024-05-26
Kadeem H Maclead1001Italy2024-06-12
Jeanfrancois B Malet1002Brazil2024-06-01
Ashley W Amigon1003France2024-06-11
Antonio T Tollner1004Brazil2024-06-15
Jefferson N Oldroyd1005Italy2024-06-14
Aruna O Bolognia1006Brazil2024-05-27
Jennifer A Glick1007United Kingdom2024-06-05
Salvatore V Nestle1008Japan2024-05-25
Leja H Poquette1009Spain2024-06-22
Octavia V Rim1010Spain2024-06-06
Morrow B Iturbide1011France2024-06-06
Francesco U Butt1012Italy2024-05-24
Kaitlin L Slusarski1013Argentina2024-06-22
Costa N Wieser1014Japan2024-06-11
Kadeem N Garufi1015Germany2024-06-07
Faith R Rim1016India2024-06-06
Smith E Shinko1017Australia2024-06-19
Stacey V Ruta1018Brazil2024-06-12
Morrow D Caudy1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio T RutaBrazilOnyama Limba RENEWAL
Aditya P NestleGermanyOnyama Limba UNQUALIFIED
Ivar O BologniaBrazilIoni Bowcher NEGOTIATION
Francesco G FerenczBrazilXuxue Feng NEW
Ricardo X PerinArgentinaOnyama Limba QUALIFIED
Smith U MaletIndiaAnna Fali UNQUALIFIED
James H OstroskyGermanyBernardo Dominic QUALIFIED
Sinclair C DarakjyArgentinaAnna Fali PROPOSAL
Aruna Y KolmetzGermanyElwin Sharvill NEGOTIATION
Wickens P SergiJapanAsiya Javayant QUALIFIED
Aruna V VocelkaRussiaStephen Shaw PROPOSAL
Adams W OldroydAustraliaAsiya Javayant NEW
Deepesh L SergiCanadaAnna Fali PROPOSAL
Octavia C RoysterGermanyBernardo Dominic NEGOTIATION
Silvio S BologniaGermanyStephen Shaw NEGOTIATION
James G InouyeArgentinaIoni Bowcher UNQUALIFIED
Kadeem C FlosiArgentinaStephen Shaw PROPOSAL
Aika P MacleadArgentinaBernardo Dominic QUALIFIED
Leon F RutaFranceStephen Shaw UNQUALIFIED
Rodrigues L BowleyArgentinaIoni Bowcher NEW
Mujtaba Z CampainJapanAmy Elsner PROPOSAL
Jennifer N OstroskyArgentinaXuxue Feng PROPOSAL
Faith Z ButtJapanOnyama Limba RENEWAL
Misaki D CampainFranceAmy Elsner PROPOSAL
Francesco G CampainBrazilBernardo Dominic QUALIFIED
Smith G FlosiIndiaBernardo Dominic QUALIFIED
Mujtaba W MorascaJapanXuxue Feng UNQUALIFIED
Mujtaba F RoysterIndiaIvan Magalhaes UNQUALIFIED
Mujtaba U FlosiCanadaElwin Sharvill RENEWAL
Chavez Y StensethCanadaBernardo Dominic NEW
Salvatore V BologniaJapanXuxue Feng NEW
Izzy R MorascaGermanyXuxue Feng QUALIFIED
Mujtaba B IturbideCanadaBernardo Dominic NEW
Aditya T ChuiItalyBernardo Dominic NEGOTIATION
Aruna B AlbaresIndiaIoni Bowcher NEGOTIATION
Munro M SergiIndiaAmy Elsner PROPOSAL
Adams Z FigeroaBrazilStephen Shaw NEGOTIATION
Mayumi S RimUnited KingdomIoni Bowcher UNQUALIFIED
Wickens Y CaldareraAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois X RulapaughRussiaXuxue Feng NEW

<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>