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
Jennifer F VenereSpainBernardo Dominic UNQUALIFIED
Octavia M ChuiSpainAmy Elsner PROPOSAL
Kadeem Z WhobreyCanadaElwin Sharvill UNQUALIFIED
Francesco V WaycottCanadaXuxue Feng NEGOTIATION
Izzy A MaletRussiaElwin Sharvill NEGOTIATION
Isabel Z VocelkaGermanyBernardo Dominic UNQUALIFIED
Costa P DarakjyGermanyAnna Fali NEGOTIATION
Leon K FerenczArgentinaOnyama Limba PROPOSAL
Jeanfrancois I KolmetzItalyAsiya Javayant NEGOTIATION
Jennifer I MorascaItalyIvan Magalhaes QUALIFIED
Wickens I RimGermanyAmy Elsner QUALIFIED
Stacey D SlusarskiFranceIvan Magalhaes QUALIFIED
Faith N ShinkoCanadaXuxue Feng UNQUALIFIED
Darci N MaletBrazilXuxue Feng NEGOTIATION
Silvio K DilliardArgentinaAsiya Javayant NEW
Misaki Z PaprockiGermanyStephen Shaw PROPOSAL
Clifford J DarakjyArgentinaIoni Bowcher NEGOTIATION
Izzy D SlusarskiFranceIoni Bowcher RENEWAL
Emily F GlickGermanyElwin Sharvill NEW
Claire M WhobreyBrazilAmy Elsner UNQUALIFIED
Ashley O GarufiJapanBernardo Dominic UNQUALIFIED
Juan L MaletFranceAnna Fali QUALIFIED
Ricardo T FlosiJapanOnyama Limba QUALIFIED
Faith Z FollerRussiaElwin Sharvill NEW
Clifford E SergiAustraliaOnyama Limba PROPOSAL
Leja S MacleadFranceXuxue Feng PROPOSAL
Alejandro C VocelkaRussiaAmy Elsner NEGOTIATION
Mujtaba N GillianAustraliaAnna Fali QUALIFIED
Darci W CampainUnited KingdomXuxue Feng NEW
Ashley E NickaUnited KingdomAmy Elsner RENEWAL
Izzy S MorascaFranceIoni Bowcher PROPOSAL
Faith V MacleadAustraliaElwin Sharvill QUALIFIED
Misaki C NestleFranceStephen Shaw UNQUALIFIED
Maria E OstroskyJapanXuxue Feng QUALIFIED
Juan M KuskoAustraliaAnna Fali QUALIFIED
Ashley X SchemmerFranceAnna Fali QUALIFIED
Aika F BriddickItalyBernardo Dominic NEGOTIATION
Greenwood X InouyeItalyBernardo Dominic NEGOTIATION
Tony W VenereSpainXuxue Feng UNQUALIFIED
Maisha P MarrierBrazilOnyama Limba NEW
Murillo Q OstroskyItalyXuxue Feng UNQUALIFIED
Ashley X MacleadItalyOnyama Limba PROPOSAL
Maisha T AlbaresItalyAnna Fali QUALIFIED
Jefferson G DoeIndiaIoni Bowcher NEGOTIATION
Kadeem I OstroskyFranceStephen Shaw NEGOTIATION
Mujtaba Y MacleadBrazilIvan Magalhaes NEW
Francesco L RoysterAustraliaAsiya Javayant NEW
Maisha U AlbaresJapanIoni Bowcher UNQUALIFIED
Kadeem H InouyeBrazilAnna Fali NEGOTIATION
Ivar N NickaFranceBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois N FerenczAustraliaIvan Magalhaes NEGOTIATION
Maisha T RoysterIndiaAsiya Javayant RENEWAL
Faith F FlosiFranceIoni Bowcher NEGOTIATION
Isabel U SlusarskiGermanyBernardo Dominic NEGOTIATION
Isabel M PerinIndiaAnna Fali NEW
Jefferson P GlickSpainElwin Sharvill QUALIFIED
Nicolas T OstroskyUnited KingdomStephen Shaw PROPOSAL
Claire S PerinAustraliaOnyama Limba UNQUALIFIED
Tony S NickaFranceStephen Shaw NEGOTIATION
Ivar W CaudyUnited KingdomStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo E BowleyJapan2024-05-12King, Christopher A Esq PROPOSAL82Bernardo Dominic
1001Nicolas O KuskoSpain2024-05-12Chanay, Jeffrey A Esq RENEWAL32Amy Elsner
1002Chavez Y BologniaFrance2024-05-21King, Christopher A Esq NEW22Elwin Sharvill
1003Aruna S SaylorsRussia2024-05-10Buckley Miller Wright NEGOTIATION13Ivan Magalhaes
1004Octavia O StensethRussia2024-05-03Truhlar And Truhlar Attys QUALIFIED95Ioni Bowcher
1005Kaitlin A StensethItaly2024-05-15Feiner Bros RENEWAL99Xuxue Feng
1006Maria A DarakjyUnited Kingdom2024-05-30Commercial Press NEGOTIATION29Xuxue Feng
1007Jones E ButtSpain2024-05-10Chemel, James L Cpa NEGOTIATION46Ioni Bowcher
1008David O SlusarskiGermany2024-05-12Commercial Press PROPOSAL22Bernardo Dominic
1009Misaki W DoeRussia2024-05-11Rousseaux, Michael Esq NEW20Stephen Shaw
1010Leja O KolmetzFrance2024-05-12Feiner Bros UNQUALIFIED89Asiya Javayant
1011Maria D SchemmerRussia2024-05-17Morlong Associates NEGOTIATION77Onyama Limba
1012Leon T WhobreyRussia2024-05-30Rousseaux, Michael Esq UNQUALIFIED26Onyama Limba
1013Francesco E WhobreyItaly2024-05-11Chemel, James L Cpa UNQUALIFIED1Ioni Bowcher
1014Aika E MaletAustralia2024-05-04Chemel, James L Cpa UNQUALIFIED10Amy Elsner
1015Tony J MarrierGermany2024-05-15Rousseaux, Michael Esq QUALIFIED42Asiya Javayant
1016Ivar Z PoquetteArgentina2024-05-11Chanay, Jeffrey A Esq QUALIFIED60Ioni Bowcher
1017Aika M StensethArgentina2024-05-16Morlong Associates RENEWAL77Xuxue Feng
1018Alejandro K DarakjyFrance2024-05-12Chemel, James L Cpa UNQUALIFIED78Ivan Magalhaes
1019Stacey S ShinkoGermany2024-05-09Feiner Bros RENEWAL5Ioni Bowcher
1020Jeanfrancois G StensethFrance2024-05-16Feltz Printing Service NEGOTIATION56Elwin Sharvill
1021Misaki Q GarufiFrance2024-05-06Feltz Printing Service NEGOTIATION1Onyama Limba
1022Jefferson F StensethJapan2024-05-24Rangoni Of Florence QUALIFIED61Onyama Limba
1023Greenwood A RutaArgentina2024-05-13Chanay, Jeffrey A Esq QUALIFIED11Onyama Limba
1024Leja D DarakjyRussia2024-05-19Buckley Miller Wright RENEWAL56Stephen Shaw
1025Mujtaba U FlosiFrance2024-05-25Chapman, Ross E Esq RENEWAL2Asiya Javayant
1026Mayumi X StockhamIndia2024-05-06Feltz Printing Service NEGOTIATION28Asiya Javayant
1027Stacey A PaprockiCanada2024-05-31Chemel, James L Cpa NEW96Ivan Magalhaes
1028Jeanfrancois P StockhamSpain2024-05-18Rousseaux, Michael Esq NEGOTIATION63Amy Elsner
1029David O DoeUnited Kingdom2024-05-27Benton, John B Jr RENEWAL93Xuxue Feng
1030Rodrigues Z NickaCanada2024-05-25Commercial Press NEGOTIATION16Ivan Magalhaes
1031Maria P WaycottBrazil2024-05-09Chemel, James L Cpa QUALIFIED45Onyama Limba
1032Morrow D OstroskyArgentina2024-05-15Printing Dimensions RENEWAL64Onyama Limba
1033Jefferson P VocelkaArgentina2024-05-25King, Christopher A Esq NEGOTIATION55Anna Fali
1034Julie Y SchemmerBrazil2024-05-17Buckley Miller Wright PROPOSAL99Xuxue Feng
1035Kadeem I AlbaresRussia2024-05-27Rousseaux, Michael Esq RENEWAL59Anna Fali
1036Greenwood J IturbideUnited Kingdom2024-05-02Benton, John B Jr PROPOSAL32Asiya Javayant
1037Stacey K FerenczCanada2024-05-04Morlong Associates PROPOSAL62Anna Fali
1038Claire M BologniaRussia2024-05-29Commercial Press RENEWAL88Stephen Shaw
1039Aika D RoysterAustralia2024-05-29King, Christopher A Esq RENEWAL66Bernardo Dominic
1040Salvatore I FigeroaUnited Kingdom2024-05-18Rousseaux, Michael Esq NEW29Asiya Javayant
1041Johnson T FigeroaBrazil2024-05-30Feiner Bros RENEWAL63Onyama Limba
1042Murillo I OstroskyRussia2024-05-14Dorl, James J Esq NEW94Asiya Javayant
1043Faith J DoeIndia2024-05-30Dorl, James J Esq QUALIFIED46Onyama Limba
1044Ricardo Q SlusarskiIndia2024-05-07Chemel, James L Cpa PROPOSAL67Anna Fali
1045Aditya H GarufiSpain2024-05-27Buckley Miller Wright UNQUALIFIED79Asiya Javayant
1046Jefferson L IturbideItaly2024-05-20Rangoni Of Florence RENEWAL45Asiya Javayant
1047Jones R AmigonAustralia2024-05-18Chanay, Jeffrey A Esq RENEWAL92Amy Elsner
1048Deepesh O IturbideJapan2024-05-16Dorl, James J Esq PROPOSAL82Xuxue Feng
1049Nicolas S StensethSpain2024-05-25Rangoni Of Florence UNQUALIFIED63Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Julie C CaudyCanadaIoni Bowcher QUALIFIED
Aruna Q OstroskyIndiaAnna Fali PROPOSAL
Jefferson X RoysterFranceStephen Shaw QUALIFIED
Francesco Q OldroydGermanyAnna Fali RENEWAL
Costa Y CampainJapanAnna Fali QUALIFIED
Rodrigues E StockhamAustraliaBernardo Dominic NEW
Sinclair U GlickJapanAnna Fali NEGOTIATION
Juan N FlosiArgentinaAsiya Javayant QUALIFIED
Rodrigues Q PerinSpainAmy Elsner RENEWAL
Morrow E RutaItalyIoni Bowcher NEW
Stacey S CaudyGermanyXuxue Feng UNQUALIFIED
Faith K CaldareraFranceIoni Bowcher PROPOSAL
Kaitlin X GarufiRussiaIvan Magalhaes PROPOSAL
Claire G ChuiSpainAsiya Javayant UNQUALIFIED
Leja P InouyeFranceAsiya Javayant NEW
Juan S CaldareraAustraliaAnna Fali QUALIFIED
David W FlosiFranceAmy Elsner NEGOTIATION
Jeanfrancois R DoeIndiaElwin Sharvill NEW
Kadeem Q SergiUnited KingdomOnyama Limba NEGOTIATION
Julie H IturbideFranceElwin Sharvill PROPOSAL
Aruna I ButtFranceElwin Sharvill RENEWAL
Johnson M SaylorsBrazilStephen Shaw RENEWAL
Jennifer W StensethBrazilAmy Elsner UNQUALIFIED
Sinclair V BriddickArgentinaIoni Bowcher UNQUALIFIED
Maria N VocelkaItalyAnna Fali PROPOSAL
Rodrigues X OstroskyIndiaElwin Sharvill NEW
Deepesh O GlickIndiaOnyama Limba NEW
Sinclair C FerenczAustraliaAnna Fali QUALIFIED
Greenwood B BologniaArgentinaIvan Magalhaes NEGOTIATION
Kaitlin B InouyeBrazilAsiya Javayant NEW
Ashley P BologniaCanadaOnyama Limba RENEWAL
Francesco V MaletBrazilAsiya Javayant QUALIFIED
Kaitlin K StockhamSpainBernardo Dominic RENEWAL
Ashley N SchemmerIndiaAmy Elsner NEGOTIATION
Kaitlin W GauchoGermanyElwin Sharvill NEGOTIATION
Wickens J MaletAustraliaStephen Shaw UNQUALIFIED
Silvio A ShinkoJapanXuxue Feng NEW
Kaitlin P AlbaresUnited KingdomStephen Shaw PROPOSAL
David G FollerRussiaStephen Shaw UNQUALIFIED
Mujtaba W KuskoFranceIvan Magalhaes UNQUALIFIED
Johnson L ButtArgentinaXuxue Feng QUALIFIED
Cody H InouyeItalyAmy Elsner NEW
Jefferson U SlusarskiFranceXuxue Feng QUALIFIED
Izzy Q PerinCanadaIvan Magalhaes RENEWAL
Smith W IturbideBrazilOnyama Limba RENEWAL
Julie I BriddickSpainAsiya Javayant PROPOSAL
Ashley Z SaylorsCanadaStephen Shaw PROPOSAL
Johnson B FollerArgentinaIoni Bowcher RENEWAL
Greenwood C FerenczRussiaAsiya Javayant RENEWAL
Ricardo T VenereGermanyAsiya Javayant PROPOSAL
Frozen Columns
Name
Salvatore F Rim
Aruna U Schemmer
Jennifer M Gaucho
Aruna H Albares
Tony C Oldroyd
Ashley W Rim
Salvatore H Flosi
Jefferson C Bolognia
Deepesh W Morasca
Silvio D Malet
Adams Y Marrier
Leon L Stenseth
Faith L Kusko
Adams G Venere
Aditya N Stenseth
Jennifer A Ostrosky
Clifford T Bolognia
Antonio E Iturbide
Jefferson M Marrier
Morrow D Doe
Johnson E Butt
James B Butt
Antonio Q Kolmetz
Ricardo J Ostrosky
Darci L Paprocki
Morrow N Nestle
Murillo N Ostrosky
Arvin W Foller
Wickens I Iturbide
Aika Q Oldroyd
Smith F Marrier
David X Maclead
Rodrigues T Maclead
Chavez Q Poquette
Mayumi M Doe
Greenwood W Glick
Maria W Venere
Mayumi O Bowley
Mujtaba Y Iturbide
Kaitlin L Kusko
Mayumi I Sergi
Jennifer Y Kusko
Aditya L Whobrey
Murillo F Bowley
Chavez E Vocelka
Faith P Garufi
David F Poquette
Jones R Flosi
Salvatore B Gillian
Claire K Stenseth
IdCountryDate
1000Argentina2024-05-25
1001Russia2024-05-11
1002France2024-05-19
1003Germany2024-05-30
1004India2024-05-05
1005Brazil2024-05-13
1006Brazil2024-05-03
1007Canada2024-05-02
1008Germany2024-05-17
1009India2024-05-22
1010Australia2024-05-10
1011India2024-05-31
1012Italy2024-05-04
1013Japan2024-05-31
1014France2024-05-19
1015India2024-05-15
1016Japan2024-05-20
1017Brazil2024-05-30
1018Germany2024-05-23
1019Canada2024-05-06
1020Japan2024-05-13
1021France2024-05-20
1022Spain2024-05-08
1023Argentina2024-05-28
1024Spain2024-05-03
1025Germany2024-05-21
1026India2024-05-31
1027Germany2024-05-18
1028India2024-05-17
1029Germany2024-05-19
1030India2024-05-23
1031Russia2024-05-28
1032Canada2024-05-14
1033Russia2024-05-12
1034United Kingdom2024-05-24
1035India2024-05-11
1036India2024-05-05
1037Canada2024-05-10
1038France2024-05-20
1039Canada2024-05-20
1040Russia2024-05-14
1041Canada2024-05-23
1042India2024-05-14
1043Australia2024-05-28
1044Italy2024-05-30
1045India2024-05-19
1046Germany2024-05-31
1047United Kingdom2024-05-24
1048Canada2024-05-23
1049Italy2024-05-04

On-Demand Data

NameIdCountryDate
Tony O Paprocki1000Russia2024-05-14
David G Rim1001Brazil2024-05-04
Ashley S Bolognia1002Australia2024-05-03
Julie P Tollner1003United Kingdom2024-05-14
Leja R Stockham1004Australia2024-05-05
James Q Ruta1005India2024-05-06
Chavez P Stenseth1006Brazil2024-05-22
Rodrigues X Stockham1007Brazil2024-05-09
Costa K Perin1008Italy2024-05-15
Greenwood U Amigon1009Argentina2024-05-25
Smith A Waycott1010United Kingdom2024-05-13
Costa K Flosi1011Germany2024-05-30
Arvin X Marrier1012Australia2024-05-08
Claire M Glick1013Japan2024-05-07
Mayumi J Gaucho1014Australia2024-05-07
Aika E Bowley1015Canada2024-05-29
Alejandro L Briddick1016Australia2024-05-28
Faith C Paprocki1017India2024-05-17
Sinclair W Amigon1018United Kingdom2024-05-21
Mayumi M Gillian1019Japan2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia M FollerBrazilAnna Fali QUALIFIED
David B RoysterJapanElwin Sharvill PROPOSAL
Isabel K NestleJapanIoni Bowcher NEGOTIATION
Antonio F BowleyAustraliaBernardo Dominic NEW
Leja V CaldareraAustraliaXuxue Feng NEW
Silvio A MaletAustraliaBernardo Dominic RENEWAL
Salvatore P OldroydBrazilAmy Elsner UNQUALIFIED
Greenwood D MorascaUnited KingdomIvan Magalhaes NEW
Faith J RimArgentinaBernardo Dominic PROPOSAL
Antonio X CampainCanadaXuxue Feng QUALIFIED
Jeanfrancois N DarakjyBrazilIvan Magalhaes QUALIFIED
Octavia O NestleJapanBernardo Dominic RENEWAL
Johnson F PoquetteAustraliaAnna Fali QUALIFIED
Maisha F DoeArgentinaStephen Shaw UNQUALIFIED
Stacey I MacleadJapanAnna Fali QUALIFIED
Jones W KolmetzUnited KingdomAmy Elsner QUALIFIED
Morrow R AlbaresFranceXuxue Feng PROPOSAL
Kadeem T KuskoItalyStephen Shaw NEGOTIATION
Jeanfrancois Z PerinJapanIvan Magalhaes RENEWAL
Antonio F GlickAustraliaIvan Magalhaes NEGOTIATION
Juan T VenereFranceStephen Shaw UNQUALIFIED
Johnson E FigeroaRussiaBernardo Dominic NEGOTIATION
Octavia D DoeIndiaAnna Fali QUALIFIED
Alejandro K MorascaCanadaAsiya Javayant PROPOSAL
Maria G CaudyItalyAnna Fali PROPOSAL
Leja I DoeJapanAsiya Javayant UNQUALIFIED
Silvio Z FerenczIndiaElwin Sharvill PROPOSAL
Aditya U SchemmerArgentinaAsiya Javayant PROPOSAL
Ricardo U BologniaFranceAmy Elsner QUALIFIED
David R VenereItalyOnyama Limba NEW
Leon P CampainJapanIoni Bowcher RENEWAL
Silvio H InouyeIndiaStephen Shaw NEGOTIATION
Munro M MaletFranceElwin Sharvill QUALIFIED
Julie W MaletArgentinaXuxue Feng NEW
Chavez L MaletRussiaBernardo Dominic QUALIFIED
Sinclair R MaletIndiaIoni Bowcher UNQUALIFIED
Aditya Y MacleadBrazilIvan Magalhaes UNQUALIFIED
Jefferson Y WieserGermanyStephen Shaw RENEWAL
Ricardo U VenereSpainStephen Shaw RENEWAL
Maria X DilliardGermanyIvan Magalhaes NEGOTIATION

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