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
Arvin W PerinAustraliaBernardo Dominic PROPOSAL
Salvatore U SaylorsGermanyIvan Magalhaes NEW
Rodrigues N OstroskyCanadaIvan Magalhaes QUALIFIED
Chavez W KuskoGermanyAnna Fali NEW
Wickens G FigeroaIndiaStephen Shaw NEW
Maria U RutaItalyElwin Sharvill QUALIFIED
Jennifer O DilliardItalyStephen Shaw QUALIFIED
Morrow Y StockhamAustraliaAsiya Javayant PROPOSAL
Morrow F VocelkaJapanAsiya Javayant UNQUALIFIED
Silvio H OldroydArgentinaAnna Fali UNQUALIFIED
Maisha C GillianUnited KingdomXuxue Feng QUALIFIED
Munro X FerenczRussiaIvan Magalhaes UNQUALIFIED
Ricardo H FollerFranceIvan Magalhaes UNQUALIFIED
Johnson U InouyeUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues S GillianArgentinaIoni Bowcher RENEWAL
Maisha B CaldareraGermanyBernardo Dominic PROPOSAL
Faith N MorascaSpainBernardo Dominic NEW
Kadeem J CaldareraAustraliaStephen Shaw NEW
Adams J FlosiRussiaStephen Shaw UNQUALIFIED
Jennifer M MacleadRussiaElwin Sharvill PROPOSAL
Wickens Q BowleyRussiaElwin Sharvill UNQUALIFIED
Deepesh W FigeroaRussiaXuxue Feng PROPOSAL
Aditya T FlosiAustraliaElwin Sharvill NEGOTIATION
Nicolas X VenereArgentinaAnna Fali QUALIFIED
Antonio C SaylorsArgentinaIoni Bowcher UNQUALIFIED
Misaki A WhobreyUnited KingdomAmy Elsner PROPOSAL
Faith Y SlusarskiArgentinaIvan Magalhaes RENEWAL
Leon S KolmetzItalyStephen Shaw NEGOTIATION
Jennifer F MarrierIndiaAsiya Javayant NEW
Izzy C DilliardJapanBernardo Dominic NEGOTIATION
Murillo R StensethItalyAsiya Javayant UNQUALIFIED
Johnson X NickaRussiaStephen Shaw NEW
Kaitlin V WhobreyRussiaOnyama Limba QUALIFIED
Julie N MarrierItalyBernardo Dominic UNQUALIFIED
Munro A StensethArgentinaBernardo Dominic NEGOTIATION
Tony V RutaUnited KingdomStephen Shaw NEW
Greenwood V DilliardIndiaAsiya Javayant NEGOTIATION
Munro J WaycottAustraliaAmy Elsner PROPOSAL
Darci P ChuiBrazilAnna Fali RENEWAL
Jennifer M DoeRussiaStephen Shaw RENEWAL
James U PoquetteCanadaXuxue Feng UNQUALIFIED
Aditya I FollerRussiaOnyama Limba NEW
Alejandro C RimSpainStephen Shaw NEGOTIATION
Greenwood K MorascaArgentinaIoni Bowcher NEW
Chavez S CaldareraAustraliaXuxue Feng QUALIFIED
Mujtaba K AmigonJapanOnyama Limba PROPOSAL
James B TollnerArgentinaAsiya Javayant NEW
Rodrigues M MaletItalyStephen Shaw NEW
Julie S DarakjyBrazilAsiya Javayant RENEWAL
Smith H RimFranceIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues U ChuiArgentinaIvan Magalhaes PROPOSAL
Rodrigues W MorascaGermanyStephen Shaw RENEWAL
Aika U NickaItalyStephen Shaw RENEWAL
Ashley F PerinArgentinaAnna Fali PROPOSAL
Aruna H DoeGermanyElwin Sharvill NEW
Deepesh A RutaJapanStephen Shaw NEW
Wickens D WhobreyFranceIvan Magalhaes NEGOTIATION
Munro H VocelkaItalyIvan Magalhaes UNQUALIFIED
Ivar N CaudyAustraliaBernardo Dominic RENEWAL
Mayumi S SergiSpainAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi V RimArgentina2024-06-09Feiner Bros RENEWAL10Elwin Sharvill
1001Octavia R KolmetzUnited Kingdom2024-06-11Benton, John B Jr PROPOSAL69Anna Fali
1002Octavia X FollerItaly2024-05-28Printing Dimensions UNQUALIFIED25Anna Fali
1003Munro Y MaletSpain2024-06-09Chapman, Ross E Esq NEW48Anna Fali
1004Juan X GauchoIndia2024-06-14Printing Dimensions QUALIFIED2Stephen Shaw
1005Jefferson V WieserItaly2024-06-10Chapman, Ross E Esq PROPOSAL87Stephen Shaw
1006Juan R SlusarskiArgentina2024-05-25Morlong Associates PROPOSAL63Amy Elsner
1007Cody K GarufiArgentina2024-06-13Printing Dimensions UNQUALIFIED19Elwin Sharvill
1008Juan H ChuiAustralia2024-06-11Buckley Miller Wright NEGOTIATION63Elwin Sharvill
1009Misaki C RutaArgentina2024-05-31Rousseaux, Michael Esq UNQUALIFIED28Xuxue Feng
1010Rodrigues E BriddickSpain2024-06-20Printing Dimensions NEGOTIATION3Stephen Shaw
1011Jones L OstroskyBrazil2024-06-09Feiner Bros UNQUALIFIED60Elwin Sharvill
1012Ivar B VenereSpain2024-06-08Chanay, Jeffrey A Esq NEGOTIATION57Onyama Limba
1013Francesco M BologniaFrance2024-06-20Rangoni Of Florence NEW40Ioni Bowcher
1014Johnson R InouyeIndia2024-06-19Truhlar And Truhlar Attys RENEWAL13Stephen Shaw
1015Misaki P WieserRussia2024-06-09Chemel, James L Cpa PROPOSAL53Amy Elsner
1016Smith Y OstroskyRussia2024-06-02Dorl, James J Esq UNQUALIFIED43Bernardo Dominic
1017Stacey C GarufiBrazil2024-05-30Rangoni Of Florence QUALIFIED12Anna Fali
1018Claire C FlosiItaly2024-06-12Buckley Miller Wright UNQUALIFIED78Elwin Sharvill
1019Smith T PerinAustralia2024-06-14Buckley Miller Wright PROPOSAL59Asiya Javayant
1020Jones W MarrierItaly2024-06-05Printing Dimensions PROPOSAL8Onyama Limba
1021Clifford T WaycottSpain2024-05-29Benton, John B Jr PROPOSAL12Anna Fali
1022Rodrigues I FerenczJapan2024-06-02Printing Dimensions QUALIFIED96Onyama Limba
1023Francesco K GauchoCanada2024-06-05Commercial Press UNQUALIFIED99Elwin Sharvill
1024Sinclair Z AlbaresJapan2024-06-04Chemel, James L Cpa PROPOSAL5Elwin Sharvill
1025Salvatore D ChuiCanada2024-05-25Benton, John B Jr QUALIFIED60Elwin Sharvill
1026Costa U VocelkaFrance2024-06-18Chanay, Jeffrey A Esq PROPOSAL82Ivan Magalhaes
1027Francesco D NestleSpain2024-06-15Chapman, Ross E Esq NEGOTIATION43Asiya Javayant
1028Jones G GillianFrance2024-06-07Commercial Press NEGOTIATION92Ivan Magalhaes
1029Ricardo X GarufiFrance2024-06-09Commercial Press NEW26Ivan Magalhaes
1030David L OstroskyGermany2024-06-04Rousseaux, Michael Esq PROPOSAL64Stephen Shaw
1031Adams T FerenczCanada2024-05-29Chemel, James L Cpa UNQUALIFIED0Ioni Bowcher
1032Kadeem A VenereUnited Kingdom2024-06-18Dorl, James J Esq UNQUALIFIED59Onyama Limba
1033Leja L DilliardUnited Kingdom2024-06-11Truhlar And Truhlar Attys UNQUALIFIED11Bernardo Dominic
1034James E CaudyArgentina2024-05-26Benton, John B Jr NEGOTIATION29Ivan Magalhaes
1035Rodrigues D PerinCanada2024-06-03Feiner Bros QUALIFIED5Stephen Shaw
1036Izzy D FigeroaBrazil2024-06-14Buckley Miller Wright NEGOTIATION91Onyama Limba
1037Claire F AmigonUnited Kingdom2024-05-28Truhlar And Truhlar Attys PROPOSAL1Asiya Javayant
1038Cody R MarrierGermany2024-06-07Chanay, Jeffrey A Esq QUALIFIED77Onyama Limba
1039Mayumi E VenereJapan2024-06-18Truhlar And Truhlar Attys PROPOSAL15Bernardo Dominic
1040Tony Q GauchoCanada2024-06-02Printing Dimensions NEW61Asiya Javayant
1041Misaki W WhobreyBrazil2024-06-15Rousseaux, Michael Esq RENEWAL17Amy Elsner
1042James K TollnerArgentina2024-06-17Feiner Bros NEGOTIATION40Onyama Limba
1043Juan F FollerArgentina2024-06-20King, Christopher A Esq QUALIFIED15Ioni Bowcher
1044Morrow I StockhamCanada2024-05-30Feltz Printing Service NEW42Amy Elsner
1045Kaitlin D KuskoIndia2024-06-02Truhlar And Truhlar Attys NEGOTIATION46Ivan Magalhaes
1046Tony T GlickSpain2024-06-15Chapman, Ross E Esq NEGOTIATION92Xuxue Feng
1047Izzy T BriddickAustralia2024-06-11Commercial Press PROPOSAL14Ivan Magalhaes
1048Mayumi D PoquetteBrazil2024-06-14Chapman, Ross E Esq QUALIFIED14Ivan Magalhaes
1049Nicolas A BowleySpain2024-06-18Printing Dimensions NEW70Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore S MacleadArgentinaBernardo Dominic NEW
Wickens V PaprockiItalyOnyama Limba NEW
Maria R GillianFranceBernardo Dominic PROPOSAL
Costa P TollnerCanadaXuxue Feng PROPOSAL
Sinclair X SaylorsFranceElwin Sharvill RENEWAL
Stacey T OstroskyFranceOnyama Limba UNQUALIFIED
Faith O SergiRussiaIoni Bowcher QUALIFIED
Julie O IturbideCanadaAsiya Javayant NEW
Nicolas H IturbideRussiaAsiya Javayant QUALIFIED
Misaki X InouyeRussiaBernardo Dominic UNQUALIFIED
Ashley W InouyeIndiaAmy Elsner UNQUALIFIED
Misaki Z SergiItalyAmy Elsner PROPOSAL
Stacey Y IturbideRussiaElwin Sharvill NEGOTIATION
Ricardo J WieserRussiaIvan Magalhaes QUALIFIED
Cody F GillianAustraliaXuxue Feng NEGOTIATION
David W MorascaBrazilIoni Bowcher NEW
Antonio G CampainUnited KingdomAsiya Javayant RENEWAL
Maria V IturbideJapanAnna Fali RENEWAL
Munro T WieserRussiaAnna Fali NEW
Smith R WhobreyBrazilBernardo Dominic NEGOTIATION
Adams U DoeUnited KingdomElwin Sharvill UNQUALIFIED
Chavez Y RutaArgentinaElwin Sharvill NEW
Aruna F RoysterItalyAnna Fali RENEWAL
Adams H SergiRussiaXuxue Feng NEGOTIATION
Johnson T StensethAustraliaAmy Elsner NEW
Julie N CaudyBrazilIvan Magalhaes NEGOTIATION
Antonio X MacleadJapanIvan Magalhaes PROPOSAL
Kaitlin W BriddickUnited KingdomStephen Shaw PROPOSAL
Morrow N GillianUnited KingdomIvan Magalhaes RENEWAL
Leja D MarrierBrazilOnyama Limba NEGOTIATION
Mujtaba Q MaletAustraliaElwin Sharvill NEW
Jones J SchemmerRussiaOnyama Limba RENEWAL
Jefferson O RulapaughAustraliaElwin Sharvill RENEWAL
Isabel S ChuiSpainOnyama Limba QUALIFIED
Leon P FlosiAustraliaXuxue Feng NEW
Darci O NickaAustraliaStephen Shaw PROPOSAL
Maria W SergiBrazilXuxue Feng PROPOSAL
Izzy K GillianAustraliaBernardo Dominic NEW
Octavia U SaylorsArgentinaOnyama Limba NEW
Johnson L DilliardItalyStephen Shaw UNQUALIFIED
Morrow K GauchoGermanyElwin Sharvill NEW
Cody Z FerenczArgentinaElwin Sharvill PROPOSAL
Greenwood C PaprockiRussiaOnyama Limba RENEWAL
Munro A MaletArgentinaIoni Bowcher QUALIFIED
Aditya C RoysterSpainXuxue Feng QUALIFIED
Aika X CaudySpainOnyama Limba NEGOTIATION
Claire W GlickJapanAnna Fali UNQUALIFIED
Nicolas K FollerItalyAmy Elsner RENEWAL
Johnson Y OstroskyCanadaBernardo Dominic PROPOSAL
Leja Y GillianJapanBernardo Dominic PROPOSAL
Frozen Columns
Name
Morrow R Saylors
Kadeem B Nestle
Julie I Garufi
Ricardo S Doe
Rodrigues G Malet
Johnson F Saylors
Johnson U Albares
Octavia Z Slusarski
Leon E Stockham
Kadeem M Ostrosky
Misaki L Ferencz
Misaki E Malet
Chavez Z Wieser
Aruna E Flosi
Jennifer P Vocelka
Clifford H Doe
Ashley K Shinko
Ivar X Gaucho
Chavez U Vocelka
Chavez R Flosi
Mujtaba I Malet
Chavez I Sergi
Faith S Shinko
Ivar L Morasca
Isabel F Perin
Smith J Ostrosky
Arvin A Chui
Alejandro F Rulapaugh
Emily E Caldarera
Claire K Nestle
James Y Venere
Izzy N Flosi
Smith M Iturbide
Octavia D Caudy
Ricardo Y Whobrey
Salvatore V Caudy
Jeanfrancois S Rim
Alejandro C Dilliard
Claire G Venere
Rodrigues J Sergi
Murillo D Tollner
Leja S Darakjy
Greenwood M Butt
Alejandro M Darakjy
Silvio F Marrier
Nicolas I Dilliard
Chavez W Bowley
Salvatore U Morasca
Cody W Malet
Maisha T Stockham
IdCountryDate
1000Italy2024-05-24
1001Japan2024-06-03
1002Spain2024-05-28
1003Canada2024-06-06
1004Russia2024-06-01
1005Australia2024-06-02
1006Russia2024-06-09
1007Japan2024-05-31
1008Canada2024-05-27
1009Spain2024-06-22
1010Russia2024-06-13
1011Japan2024-06-07
1012France2024-06-17
1013Germany2024-06-11
1014Spain2024-06-03
1015France2024-05-29
1016Italy2024-05-24
1017Spain2024-06-01
1018Japan2024-06-08
1019Canada2024-06-03
1020Argentina2024-06-13
1021Australia2024-06-22
1022France2024-05-25
1023Italy2024-06-21
1024Italy2024-05-25
1025United Kingdom2024-06-21
1026Germany2024-06-19
1027Canada2024-06-22
1028Brazil2024-05-31
1029Spain2024-06-07
1030Italy2024-05-28
1031Brazil2024-06-15
1032Italy2024-06-02
1033Japan2024-06-09
1034Russia2024-06-15
1035Spain2024-06-11
1036Argentina2024-06-07
1037Australia2024-06-01
1038Australia2024-06-03
1039Spain2024-05-28
1040Germany2024-06-19
1041Spain2024-06-09
1042Canada2024-06-22
1043Spain2024-06-15
1044Canada2024-06-21
1045India2024-06-08
1046United Kingdom2024-06-04
1047India2024-06-04
1048Canada2024-06-07
1049Japan2024-05-27

On-Demand Data

NameIdCountryDate
Isabel V Malet1000Canada2024-06-20
Faith J Dilliard1001India2024-06-03
Julie I Nestle1002France2024-06-16
Maria V Malet1003Brazil2024-05-24
Stacey W Sergi1004Japan2024-06-17
Jefferson B Kusko1005India2024-05-25
Faith E Amigon1006Germany2024-06-20
Costa P Malet1007Australia2024-06-01
Jennifer N Ferencz1008Italy2024-06-13
Tony N Whobrey1009Canada2024-05-27
Aditya K Iturbide1010Japan2024-06-02
Darci K Butt1011Spain2024-06-20
Munro S Oldroyd1012France2024-06-14
Jones C Perin1013India2024-06-03
Greenwood I Bowley1014Italy2024-06-02
Jefferson J Shinko1015Australia2024-06-16
Jennifer V Poquette1016United Kingdom2024-06-04
Aruna L Paprocki1017India2024-06-15
Aditya N Rulapaugh1018Australia2024-06-08
Deepesh Z Caudy1019India2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore W FlosiJapanIvan Magalhaes NEW
Greenwood U DarakjySpainAnna Fali RENEWAL
Smith M BriddickSpainBernardo Dominic QUALIFIED
Ricardo L CaldareraFranceElwin Sharvill QUALIFIED
Adams P ButtAustraliaElwin Sharvill NEW
Aruna D VenereGermanyAsiya Javayant PROPOSAL
Silvio X RulapaughRussiaOnyama Limba RENEWAL
Deepesh S InouyeSpainBernardo Dominic NEGOTIATION
David L RulapaughBrazilElwin Sharvill UNQUALIFIED
Faith C OstroskyAustraliaElwin Sharvill UNQUALIFIED
Jefferson W FigeroaBrazilIoni Bowcher QUALIFIED
Aika V ShinkoBrazilOnyama Limba RENEWAL
Murillo I IturbideBrazilElwin Sharvill QUALIFIED
Jefferson A InouyeIndiaElwin Sharvill QUALIFIED
Nicolas Q RutaUnited KingdomIvan Magalhaes PROPOSAL
Isabel L CaldareraBrazilOnyama Limba RENEWAL
Kadeem I MarrierBrazilAnna Fali UNQUALIFIED
Johnson V BologniaJapanBernardo Dominic RENEWAL
Ashley E TollnerCanadaAnna Fali QUALIFIED
Darci E FollerFranceAmy Elsner NEGOTIATION
Francesco M RutaSpainStephen Shaw QUALIFIED
Mayumi B GarufiRussiaAmy Elsner NEW
Jefferson Y InouyeCanadaOnyama Limba RENEWAL
Salvatore P NickaAustraliaXuxue Feng QUALIFIED
Murillo L IturbideSpainXuxue Feng NEW
Sinclair C DarakjyGermanyIvan Magalhaes QUALIFIED
Alejandro R NestleJapanAsiya Javayant UNQUALIFIED
Costa A OstroskyJapanAnna Fali QUALIFIED
Salvatore F RimCanadaIvan Magalhaes RENEWAL
Kadeem M GillianItalyOnyama Limba PROPOSAL
Johnson C CaldareraAustraliaXuxue Feng NEW
Johnson Z WieserFranceAsiya Javayant RENEWAL
Darci D WhobreyJapanOnyama Limba PROPOSAL
Aruna R CampainGermanyAsiya Javayant RENEWAL
Izzy S BowleyJapanAnna Fali RENEWAL
Aruna T PoquetteSpainStephen Shaw NEGOTIATION
Costa B CaldareraRussiaXuxue Feng NEW
Kaitlin I StockhamBrazilAsiya Javayant PROPOSAL
Claire X NickaUnited KingdomAmy Elsner NEGOTIATION
Munro J FerenczRussiaIoni Bowcher 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>