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
Murillo K DoeAustraliaIvan Magalhaes NEGOTIATION
Kadeem U KuskoIndiaAsiya Javayant NEGOTIATION
Emily G CaudyCanadaIvan Magalhaes PROPOSAL
Rodrigues N RulapaughItalyStephen Shaw RENEWAL
Stacey K WhobreyRussiaXuxue Feng QUALIFIED
Silvio O KuskoBrazilBernardo Dominic QUALIFIED
Kaitlin F VenereArgentinaStephen Shaw NEGOTIATION
Greenwood P InouyeIndiaBernardo Dominic RENEWAL
Aruna C DarakjyIndiaOnyama Limba UNQUALIFIED
Cody D GarufiItalyXuxue Feng NEGOTIATION
Mujtaba F CaldareraAustraliaIvan Magalhaes RENEWAL
Ashley B FlosiIndiaIoni Bowcher UNQUALIFIED
Johnson R StockhamGermanyOnyama Limba PROPOSAL
Mayumi O RimUnited KingdomAmy Elsner NEW
Octavia Z InouyeFranceAsiya Javayant QUALIFIED
Ricardo K IturbideGermanyAsiya Javayant QUALIFIED
Tony J MarrierGermanyElwin Sharvill NEGOTIATION
Mujtaba U GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Juan G RulapaughRussiaAsiya Javayant RENEWAL
Cody S KuskoGermanyAmy Elsner QUALIFIED
Kadeem L FigeroaGermanyIvan Magalhaes NEW
Faith Y AlbaresIndiaIvan Magalhaes NEW
Jefferson K IturbideUnited KingdomAmy Elsner RENEWAL
Mayumi Y WieserSpainIoni Bowcher NEGOTIATION
Salvatore E SlusarskiCanadaAmy Elsner NEGOTIATION
Faith C DilliardBrazilIvan Magalhaes NEGOTIATION
Morrow M CaldareraSpainAsiya Javayant UNQUALIFIED
Kadeem C MaletAustraliaOnyama Limba UNQUALIFIED
Faith Y RimArgentinaAmy Elsner NEGOTIATION
Octavia U BriddickSpainElwin Sharvill QUALIFIED
Julie S SergiRussiaXuxue Feng QUALIFIED
Wickens G ButtBrazilIvan Magalhaes RENEWAL
Faith R RulapaughAustraliaBernardo Dominic RENEWAL
Isabel Z RutaGermanyIoni Bowcher NEW
Isabel H KuskoArgentinaElwin Sharvill NEW
Juan W GillianSpainStephen Shaw NEGOTIATION
Aditya J SergiIndiaStephen Shaw NEGOTIATION
Aditya M FollerGermanyAsiya Javayant NEW
Jones D PaprockiBrazilStephen Shaw NEW
Claire A GarufiCanadaStephen Shaw NEGOTIATION
Cody W PerinJapanOnyama Limba NEGOTIATION
Mayumi A AmigonItalyAsiya Javayant NEGOTIATION
Julie O RoysterCanadaStephen Shaw NEGOTIATION
Arvin A InouyeAustraliaIvan Magalhaes QUALIFIED
Jefferson E FollerCanadaAsiya Javayant UNQUALIFIED
Octavia D GillianGermanyElwin Sharvill NEGOTIATION
Octavia P FlosiItalyStephen Shaw PROPOSAL
Antonio D GlickGermanyAmy Elsner RENEWAL
Faith A DarakjyItalyBernardo Dominic UNQUALIFIED
Julie C FollerIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan P RoysterAustraliaIoni Bowcher PROPOSAL
Mujtaba Y VocelkaCanadaIoni Bowcher RENEWAL
Isabel U SergiArgentinaXuxue Feng RENEWAL
Mujtaba P GlickBrazilXuxue Feng QUALIFIED
Jennifer U PaprockiItalyStephen Shaw NEW
James N WaycottAustraliaElwin Sharvill NEW
Adams S InouyeIndiaIoni Bowcher UNQUALIFIED
Maria E BriddickUnited KingdomAmy Elsner NEW
Jones E FerenczIndiaAsiya Javayant UNQUALIFIED
Leja Z StensethRussiaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez Y BowleyRussia2024-05-24Truhlar And Truhlar Attys PROPOSAL41Onyama Limba
1001Ashley G MaletIndia2024-05-28King, Christopher A Esq NEGOTIATION79Onyama Limba
1002Julie Y ButtGermany2024-05-31Buckley Miller Wright RENEWAL63Ivan Magalhaes
1003Aditya K RoysterIndia2024-06-20Rousseaux, Michael Esq QUALIFIED61Onyama Limba
1004Kadeem E RutaIndia2024-05-29King, Christopher A Esq PROPOSAL85Ioni Bowcher
1005Nicolas A StensethRussia2024-06-10Chanay, Jeffrey A Esq QUALIFIED16Stephen Shaw
1006Francesco H RulapaughFrance2024-05-27Commercial Press NEW15Anna Fali
1007Cody Y AmigonItaly2024-05-26King, Christopher A Esq NEGOTIATION34Elwin Sharvill
1008David H WhobreyAustralia2024-06-02Chapman, Ross E Esq PROPOSAL21Bernardo Dominic
1009Nicolas L GarufiBrazil2024-06-16Benton, John B Jr NEW73Elwin Sharvill
1010Kadeem X OldroydCanada2024-05-31Feltz Printing Service RENEWAL29Stephen Shaw
1011Murillo M BriddickBrazil2024-06-19Chapman, Ross E Esq QUALIFIED2Elwin Sharvill
1012Ivar E BriddickGermany2024-06-09Commercial Press NEGOTIATION47Bernardo Dominic
1013Jefferson B PoquetteBrazil2024-06-02Chemel, James L Cpa RENEWAL4Stephen Shaw
1014Costa Z MaletIndia2024-06-09Commercial Press NEGOTIATION58Amy Elsner
1015Morrow B FlosiCanada2024-06-13King, Christopher A Esq NEGOTIATION27Amy Elsner
1016Greenwood V WaycottCanada2024-06-13Printing Dimensions NEW15Ioni Bowcher
1017Aruna L BologniaUnited Kingdom2024-06-09Feiner Bros UNQUALIFIED98Onyama Limba
1018Emily D ChuiItaly2024-05-28Chanay, Jeffrey A Esq PROPOSAL72Amy Elsner
1019Jennifer T KolmetzBrazil2024-06-04Feltz Printing Service NEGOTIATION97Bernardo Dominic
1020Faith D MorascaGermany2024-06-18Chemel, James L Cpa NEGOTIATION31Xuxue Feng
1021Wickens L TollnerFrance2024-05-23Chemel, James L Cpa QUALIFIED24Xuxue Feng
1022Kadeem C ShinkoJapan2024-06-13Benton, John B Jr PROPOSAL85Ioni Bowcher
1023Aika K KuskoFrance2024-05-23Benton, John B Jr RENEWAL80Elwin Sharvill
1024Silvio A WaycottIndia2024-05-31Chemel, James L Cpa RENEWAL32Ioni Bowcher
1025Ivar Q InouyeBrazil2024-06-21Feltz Printing Service RENEWAL85Asiya Javayant
1026Aditya W NestleIndia2024-06-09Rangoni Of Florence NEW11Ivan Magalhaes
1027Sinclair J BriddickUnited Kingdom2024-06-17Chemel, James L Cpa PROPOSAL18Anna Fali
1028Nicolas R GillianRussia2024-06-19Commercial Press RENEWAL92Anna Fali
1029Misaki A PoquetteIndia2024-06-09Rangoni Of Florence PROPOSAL85Bernardo Dominic
1030Jones A DarakjyArgentina2024-06-09Rousseaux, Michael Esq RENEWAL90Ioni Bowcher
1031David I ButtSpain2024-05-26Dorl, James J Esq QUALIFIED3Amy Elsner
1032Morrow C MaletGermany2024-06-09Chapman, Ross E Esq PROPOSAL62Bernardo Dominic
1033Munro F DarakjyItaly2024-06-03Printing Dimensions PROPOSAL9Bernardo Dominic
1034Mujtaba S InouyeSpain2024-06-03Rangoni Of Florence PROPOSAL3Ioni Bowcher
1035Morrow H SchemmerGermany2024-06-10King, Christopher A Esq RENEWAL94Stephen Shaw
1036Chavez G AmigonGermany2024-06-15Chemel, James L Cpa QUALIFIED18Amy Elsner
1037Wickens S MorascaBrazil2024-06-10Feltz Printing Service NEW16Onyama Limba
1038Smith P SchemmerIndia2024-06-05Buckley Miller Wright NEGOTIATION90Stephen Shaw
1039Leja O ButtFrance2024-05-26Feltz Printing Service RENEWAL35Anna Fali
1040Silvio M IturbideFrance2024-06-16Chanay, Jeffrey A Esq RENEWAL51Amy Elsner
1041Maria N BowleyAustralia2024-06-09Benton, John B Jr UNQUALIFIED95Anna Fali
1042Julie R CaldareraFrance2024-06-15Feltz Printing Service RENEWAL91Onyama Limba
1043Sinclair N MorascaFrance2024-06-06Truhlar And Truhlar Attys UNQUALIFIED49Anna Fali
1044Smith F MarrierUnited Kingdom2024-06-14Morlong Associates RENEWAL71Ioni Bowcher
1045Sinclair G CaldareraFrance2024-06-01Dorl, James J Esq QUALIFIED32Amy Elsner
1046Emily F MaletFrance2024-06-10Commercial Press NEGOTIATION91Onyama Limba
1047Jeanfrancois G OstroskyIndia2024-06-09Rangoni Of Florence NEW66Bernardo Dominic
1048Morrow F OstroskyJapan2024-05-26Rousseaux, Michael Esq NEW14Ivan Magalhaes
1049Chavez E DoeRussia2024-06-09Feiner Bros QUALIFIED11Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aditya L MacleadJapanAnna Fali NEW
Darci D DarakjyRussiaIoni Bowcher NEW
Izzy A AlbaresRussiaAsiya Javayant NEGOTIATION
Aika K SaylorsFranceAsiya Javayant NEGOTIATION
Jones L BowleyUnited KingdomAmy Elsner NEGOTIATION
Costa V GlickGermanyAsiya Javayant RENEWAL
Ivar P GlickCanadaIoni Bowcher RENEWAL
Leon X MarrierRussiaAmy Elsner QUALIFIED
Morrow G CampainAustraliaAmy Elsner QUALIFIED
Salvatore L SlusarskiJapanStephen Shaw RENEWAL
Rodrigues T KuskoSpainBernardo Dominic PROPOSAL
Alejandro P CaudyJapanBernardo Dominic PROPOSAL
Jeanfrancois Q GlickCanadaIoni Bowcher UNQUALIFIED
Sinclair X ButtGermanyAsiya Javayant PROPOSAL
Kadeem A InouyeRussiaOnyama Limba NEW
Munro V SlusarskiFranceXuxue Feng UNQUALIFIED
Tony T GarufiUnited KingdomOnyama Limba RENEWAL
Wickens Q BriddickSpainAnna Fali NEW
Morrow W SergiGermanyElwin Sharvill NEGOTIATION
Kaitlin R SaylorsBrazilIoni Bowcher NEGOTIATION
Juan J IturbideGermanyStephen Shaw NEGOTIATION
Jennifer J WieserAustraliaStephen Shaw PROPOSAL
Silvio V SchemmerJapanIvan Magalhaes RENEWAL
Claire X CaudySpainXuxue Feng NEW
Leon A AmigonIndiaAnna Fali NEGOTIATION
Arvin T DoeFranceXuxue Feng RENEWAL
Leja A GlickGermanyAmy Elsner NEGOTIATION
Francesco F BowleyRussiaIvan Magalhaes RENEWAL
Mujtaba E TollnerUnited KingdomBernardo Dominic PROPOSAL
Morrow F KolmetzSpainStephen Shaw UNQUALIFIED
Wickens S WaycottFranceXuxue Feng NEW
Deepesh N RoysterIndiaIvan Magalhaes QUALIFIED
Nicolas Q MaletBrazilOnyama Limba NEGOTIATION
Deepesh Z CaudyFranceAsiya Javayant NEGOTIATION
Salvatore Y KolmetzFranceBernardo Dominic PROPOSAL
Julie B GlickJapanAmy Elsner RENEWAL
Stacey E BriddickUnited KingdomAnna Fali NEGOTIATION
Kaitlin Q WaycottBrazilAmy Elsner NEGOTIATION
Sinclair N GlickFranceElwin Sharvill UNQUALIFIED
Francesco E PoquetteAustraliaAsiya Javayant NEGOTIATION
Jones F OstroskyJapanOnyama Limba QUALIFIED
Octavia N MorascaBrazilAnna Fali UNQUALIFIED
Aruna O OstroskyArgentinaAnna Fali NEW
Antonio K GlickRussiaStephen Shaw RENEWAL
Antonio K SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Mayumi R SergiSpainIvan Magalhaes NEGOTIATION
Faith H TollnerSpainOnyama Limba NEGOTIATION
Cody Y ChuiIndiaXuxue Feng QUALIFIED
Emily M ChuiArgentinaElwin Sharvill NEW
Costa L OstroskyIndiaIoni Bowcher RENEWAL
Frozen Columns
Name
Ashley V Flosi
James B Morasca
Maisha T Amigon
Aika D Rulapaugh
Kadeem W Inouye
Silvio O Oldroyd
Darci K Foller
Leon W Bolognia
Chavez Y Campain
Kaitlin T Butt
Jennifer R Wieser
Leon G Chui
Jefferson P Nicka
Antonio J Ruta
Munro N Saylors
Jones E Whobrey
Emily Z Glick
Arvin K Venere
Ricardo D Sergi
Leja L Ruta
Leon W Garufi
Jones I Stockham
Jennifer E Doe
Tony H Chui
Maria Q Ferencz
Emily W Perin
Arvin F Bowley
Clifford K Campain
Ivar Z Maclead
Emily E Oldroyd
Mayumi Y Gillian
Wickens D Malet
Kaitlin P Gillian
Stacey V Flosi
Faith D Shinko
Ricardo Q Nestle
Murillo W Royster
Deepesh T Ruta
Aruna W Flosi
Smith Q Oldroyd
Silvio R Stenseth
Nicolas T Perin
Salvatore W Royster
Ashley T Bolognia
Maisha P Darakjy
Kadeem H Bolognia
Octavia Q Sergi
Misaki U Rim
Clifford L Stockham
James H Shinko
IdCountryDate
1000Russia2024-06-12
1001Brazil2024-06-08
1002Spain2024-06-02
1003Japan2024-06-15
1004United Kingdom2024-06-14
1005Russia2024-06-20
1006Canada2024-06-12
1007Italy2024-05-25
1008Australia2024-06-06
1009Australia2024-05-29
1010Italy2024-06-02
1011Spain2024-06-21
1012France2024-05-30
1013Canada2024-06-03
1014Argentina2024-06-06
1015Argentina2024-05-25
1016Italy2024-06-21
1017France2024-06-08
1018Canada2024-05-30
1019Argentina2024-06-02
1020United Kingdom2024-06-04
1021Australia2024-05-24
1022Italy2024-06-16
1023United Kingdom2024-06-03
1024Argentina2024-05-24
1025India2024-06-19
1026France2024-06-10
1027India2024-06-12
1028Australia2024-06-17
1029France2024-06-14
1030Australia2024-06-06
1031France2024-06-04
1032Argentina2024-05-24
1033Italy2024-05-28
1034Brazil2024-06-12
1035Canada2024-06-17
1036Japan2024-05-27
1037Japan2024-05-28
1038Germany2024-06-05
1039France2024-06-06
1040Brazil2024-06-08
1041Russia2024-06-05
1042Canada2024-05-31
1043Germany2024-06-12
1044Canada2024-06-20
1045Canada2024-06-05
1046India2024-05-25
1047Germany2024-05-29
1048India2024-05-25
1049United Kingdom2024-06-03

On-Demand Data

NameIdCountryDate
Nicolas K Saylors1000Brazil2024-06-02
Izzy B Flosi1001Canada2024-06-11
Antonio O Rim1002Russia2024-06-17
Emily T Morasca1003Japan2024-05-24
Leja J Butt1004Italy2024-06-03
Adams D Inouye1005Canada2024-05-30
Maria R Butt1006Brazil2024-05-30
Emily L Tollner1007India2024-05-27
Faith L Rim1008Germany2024-05-31
Sinclair V Butt1009France2024-05-30
Claire T Flosi1010Canada2024-05-31
Octavia Y Royster1011France2024-06-13
Chavez V Bolognia1012Japan2024-06-20
Aditya Z Butt1013Japan2024-05-28
Tony S Shinko1014France2024-05-28
Costa O Rulapaugh1015Argentina2024-06-08
Juan X Royster1016Italy2024-06-11
Claire D Tollner1017Russia2024-06-04
Stacey N Foller1018Argentina2024-06-19
Greenwood Z Morasca1019India2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James E SaylorsBrazilAsiya Javayant UNQUALIFIED
Jennifer B WhobreyIndiaAmy Elsner UNQUALIFIED
Aditya R WaycottRussiaAsiya Javayant NEW
Rodrigues K WieserArgentinaAnna Fali QUALIFIED
Stacey B MaletJapanOnyama Limba NEW
Jefferson B BriddickCanadaXuxue Feng QUALIFIED
Rodrigues C WaycottGermanyElwin Sharvill QUALIFIED
Silvio F SlusarskiSpainStephen Shaw RENEWAL
Mujtaba T KuskoCanadaStephen Shaw UNQUALIFIED
Ashley O InouyeAustraliaBernardo Dominic NEGOTIATION
Silvio C FollerArgentinaIoni Bowcher QUALIFIED
Johnson K AmigonAustraliaAmy Elsner PROPOSAL
Morrow L SaylorsUnited KingdomAsiya Javayant RENEWAL
Jeanfrancois G BriddickIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois M RoysterArgentinaStephen Shaw RENEWAL
Kaitlin O SchemmerSpainOnyama Limba NEGOTIATION
Clifford D MaletIndiaAnna Fali PROPOSAL
Mujtaba C FlosiItalyOnyama Limba UNQUALIFIED
Julie T IturbideGermanyXuxue Feng QUALIFIED
David G CampainJapanAnna Fali RENEWAL
Kaitlin W ButtAustraliaIvan Magalhaes UNQUALIFIED
Octavia X KolmetzGermanyAnna Fali NEW
Jennifer V RoysterGermanyBernardo Dominic PROPOSAL
Adams T InouyeBrazilElwin Sharvill NEGOTIATION
Jeanfrancois A DilliardItalyAmy Elsner RENEWAL
Aruna I KolmetzGermanyStephen Shaw PROPOSAL
Aika H BowleyFranceIvan Magalhaes NEGOTIATION
Costa Z BriddickRussiaStephen Shaw UNQUALIFIED
Emily D StensethIndiaOnyama Limba RENEWAL
Tony E MacleadFranceAnna Fali UNQUALIFIED
Francesco S AlbaresJapanAnna Fali UNQUALIFIED
Nicolas D FigeroaGermanyAnna Fali PROPOSAL
Francesco R WieserJapanAnna Fali UNQUALIFIED
Murillo D DarakjyIndiaElwin Sharvill QUALIFIED
Costa F GillianArgentinaAsiya Javayant NEGOTIATION
Darci F BriddickBrazilIoni Bowcher UNQUALIFIED
Leon Q CaldareraIndiaAmy Elsner RENEWAL
Leon D VocelkaUnited KingdomOnyama Limba NEGOTIATION
Munro H KuskoJapanAnna Fali NEGOTIATION
Aruna H ButtSpainBernardo Dominic UNQUALIFIED

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