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
Leon G RutaIndiaElwin Sharvill RENEWAL
Julie R SlusarskiGermanyAnna Fali UNQUALIFIED
Antonio B FerenczRussiaOnyama Limba PROPOSAL
Tony K NestleFranceIvan Magalhaes RENEWAL
Emily O RutaItalyXuxue Feng UNQUALIFIED
Leja S IturbideItalyAsiya Javayant NEGOTIATION
Deepesh V BowleySpainAnna Fali QUALIFIED
Adams A RoysterItalyIvan Magalhaes NEW
Deepesh Z DarakjyJapanIoni Bowcher UNQUALIFIED
Kaitlin L OldroydFranceXuxue Feng NEGOTIATION
Emily G CaudyIndiaStephen Shaw UNQUALIFIED
David P AmigonCanadaOnyama Limba RENEWAL
Cody O ChuiBrazilAmy Elsner RENEWAL
Octavia L DilliardSpainBernardo Dominic NEW
Emily W BriddickSpainOnyama Limba QUALIFIED
James I SchemmerFranceAmy Elsner RENEWAL
Costa P FollerGermanyElwin Sharvill NEGOTIATION
Leon X MacleadUnited KingdomOnyama Limba NEW
Izzy U WhobreyJapanIvan Magalhaes QUALIFIED
Aruna J PaprockiCanadaBernardo Dominic PROPOSAL
Jennifer N MaletUnited KingdomStephen Shaw UNQUALIFIED
Jones B WieserGermanyOnyama Limba UNQUALIFIED
David G GlickSpainOnyama Limba QUALIFIED
Clifford R PerinArgentinaAsiya Javayant PROPOSAL
Salvatore O PerinRussiaAnna Fali UNQUALIFIED
Misaki A PerinGermanyBernardo Dominic RENEWAL
Munro S SlusarskiUnited KingdomAnna Fali QUALIFIED
Cody P KuskoAustraliaElwin Sharvill UNQUALIFIED
Rodrigues Q GillianArgentinaBernardo Dominic QUALIFIED
Faith Q RutaCanadaAmy Elsner UNQUALIFIED
Nicolas O MaletAustraliaXuxue Feng NEGOTIATION
Darci P MarrierItalyXuxue Feng UNQUALIFIED
Jones T MaletAustraliaElwin Sharvill RENEWAL
Arvin R StensethAustraliaIvan Magalhaes NEW
Nicolas B CampainBrazilStephen Shaw PROPOSAL
Deepesh G OldroydItalyStephen Shaw NEW
Rodrigues P SchemmerIndiaIvan Magalhaes RENEWAL
Aditya U PoquetteArgentinaXuxue Feng QUALIFIED
Johnson X PaprockiUnited KingdomAnna Fali PROPOSAL
Morrow S NestleJapanOnyama Limba PROPOSAL
Aruna Y IturbideJapanElwin Sharvill UNQUALIFIED
Mayumi Q SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Chavez Y TollnerSpainXuxue Feng NEGOTIATION
Alejandro K AmigonUnited KingdomXuxue Feng UNQUALIFIED
Julie T PoquetteBrazilAsiya Javayant UNQUALIFIED
Emily R WaycottAustraliaOnyama Limba UNQUALIFIED
Costa Z SlusarskiBrazilIoni Bowcher QUALIFIED
Alejandro X GillianIndiaIoni Bowcher NEW
Johnson H CampainRussiaIoni Bowcher UNQUALIFIED
Greenwood J FlosiUnited KingdomOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin E MorascaJapanElwin Sharvill NEGOTIATION
Arvin L DoeCanadaXuxue Feng NEGOTIATION
David D AmigonUnited KingdomIvan Magalhaes NEW
Ivar P FerenczGermanyXuxue Feng NEW
Aruna O RimItalyIvan Magalhaes NEGOTIATION
Morrow P KuskoItalyIoni Bowcher UNQUALIFIED
James C ChuiJapanBernardo Dominic UNQUALIFIED
Kadeem A RoysterIndiaBernardo Dominic NEW
Ashley O ShinkoRussiaBernardo Dominic NEW
Jones P WieserAustraliaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones S SlusarskiJapan2024-10-30Morlong Associates RENEWAL21Xuxue Feng
1001Maisha M SchemmerItaly2024-10-11Benton, John B Jr PROPOSAL99Asiya Javayant
1002Stacey K WhobreyCanada2024-10-05Rangoni Of Florence UNQUALIFIED36Amy Elsner
1003Isabel D RoysterGermany2024-10-18Commercial Press NEGOTIATION93Asiya Javayant
1004Leja A MaletArgentina2024-10-28Benton, John B Jr NEGOTIATION68Amy Elsner
1005Claire P MorascaItaly2024-10-03King, Christopher A Esq NEW79Asiya Javayant
1006Smith Z CaldareraJapan2024-10-11Benton, John B Jr RENEWAL18Xuxue Feng
1007Wickens U SaylorsRussia2024-10-26Dorl, James J Esq RENEWAL79Elwin Sharvill
1008Aditya K IturbideRussia2024-10-14Printing Dimensions PROPOSAL50Elwin Sharvill
1009Julie Q NestleArgentina2024-10-04Rousseaux, Michael Esq NEW23Amy Elsner
1010Chavez F RimItaly2024-10-29Buckley Miller Wright UNQUALIFIED57Amy Elsner
1011Clifford X SchemmerArgentina2024-10-19Buckley Miller Wright QUALIFIED61Amy Elsner
1012Greenwood M StockhamAustralia2024-10-14Chemel, James L Cpa UNQUALIFIED18Amy Elsner
1013Munro F FollerGermany2024-10-21Chanay, Jeffrey A Esq QUALIFIED80Ioni Bowcher
1014Mayumi P GauchoRussia2024-10-05King, Christopher A Esq NEGOTIATION11Onyama Limba
1015Antonio T KuskoIndia2024-10-18Rousseaux, Michael Esq UNQUALIFIED34Anna Fali
1016Jeanfrancois W VocelkaAustralia2024-10-31Dorl, James J Esq RENEWAL11Onyama Limba
1017Kaitlin J WhobreyRussia2024-10-04Truhlar And Truhlar Attys PROPOSAL96Elwin Sharvill
1018Smith I FlosiSpain2024-10-10Rousseaux, Michael Esq QUALIFIED29Stephen Shaw
1019Antonio H GlickJapan2024-10-13Morlong Associates PROPOSAL57Amy Elsner
1020Adams H CaldareraGermany2024-10-11Morlong Associates PROPOSAL15Stephen Shaw
1021Tony S MorascaSpain2024-10-25Dorl, James J Esq RENEWAL55Ioni Bowcher
1022Misaki E PerinArgentina2024-10-05Dorl, James J Esq RENEWAL45Asiya Javayant
1023Antonio T ChuiFrance2024-10-27Benton, John B Jr UNQUALIFIED54Xuxue Feng
1024Ricardo I WieserItaly2024-10-17Buckley Miller Wright QUALIFIED49Elwin Sharvill
1025Julie F ChuiRussia2024-10-28Buckley Miller Wright NEGOTIATION46Asiya Javayant
1026Kadeem W BriddickFrance2024-10-31Dorl, James J Esq QUALIFIED55Elwin Sharvill
1027Jennifer B ButtIndia2024-10-11Dorl, James J Esq QUALIFIED34Stephen Shaw
1028Alejandro O AmigonFrance2024-10-31Commercial Press NEW93Asiya Javayant
1029Izzy L GarufiArgentina2024-10-10Rousseaux, Michael Esq UNQUALIFIED96Anna Fali
1030Kaitlin O NestleAustralia2024-10-31Buckley Miller Wright PROPOSAL78Ivan Magalhaes
1031Jones D DoeAustralia2024-10-15Chapman, Ross E Esq QUALIFIED47Elwin Sharvill
1032Octavia W FerenczBrazil2024-10-14Chanay, Jeffrey A Esq NEGOTIATION91Ivan Magalhaes
1033Aika T BowleyCanada2024-10-14Dorl, James J Esq PROPOSAL80Onyama Limba
1034Isabel M VocelkaBrazil2024-10-17Printing Dimensions QUALIFIED33Anna Fali
1035Francesco P ChuiIndia2024-10-08King, Christopher A Esq PROPOSAL64Asiya Javayant
1036Salvatore M BologniaJapan2024-10-26Chanay, Jeffrey A Esq PROPOSAL24Amy Elsner
1037Jeanfrancois E BologniaArgentina2024-10-25Morlong Associates NEW38Amy Elsner
1038Francesco B WhobreyFrance2024-10-02King, Christopher A Esq RENEWAL2Ivan Magalhaes
1039Emily H RoysterFrance2024-10-18Dorl, James J Esq NEW93Elwin Sharvill
1040Claire O StockhamIndia2024-10-22Morlong Associates NEW77Anna Fali
1041Juan I MaletUnited Kingdom2024-10-20Commercial Press NEGOTIATION85Anna Fali
1042Wickens I BriddickJapan2024-10-14King, Christopher A Esq PROPOSAL95Stephen Shaw
1043Adams F ChuiAustralia2024-10-23King, Christopher A Esq NEW52Ioni Bowcher
1044Sinclair S NickaJapan2024-10-28Morlong Associates NEW80Xuxue Feng
1045Izzy S FlosiGermany2024-10-20Buckley Miller Wright QUALIFIED75Amy Elsner
1046Faith B ChuiRussia2024-10-15Feiner Bros UNQUALIFIED65Elwin Sharvill
1047Jeanfrancois Y RutaUnited Kingdom2024-10-05King, Christopher A Esq NEW31Bernardo Dominic
1048Julie F ChuiAustralia2024-10-08Chapman, Ross E Esq NEW37Asiya Javayant
1049Wickens V FlosiIndia2024-10-23Dorl, James J Esq QUALIFIED77Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Kadeem W RoysterRussiaIvan Magalhaes NEGOTIATION
Smith I AlbaresUnited KingdomOnyama Limba NEW
Greenwood B RimRussiaAmy Elsner NEGOTIATION
Clifford J SergiRussiaIvan Magalhaes NEW
Aika E SergiRussiaAnna Fali UNQUALIFIED
Mujtaba C WieserIndiaBernardo Dominic QUALIFIED
Costa M VenereRussiaOnyama Limba QUALIFIED
Aditya D VenereAustraliaAsiya Javayant NEW
Arvin E GauchoCanadaAnna Fali RENEWAL
Jefferson Z RulapaughSpainIoni Bowcher RENEWAL
Salvatore F WieserCanadaOnyama Limba UNQUALIFIED
Ricardo X RulapaughAustraliaAsiya Javayant PROPOSAL
Morrow S MaletBrazilAsiya Javayant NEGOTIATION
Claire Y GauchoArgentinaIvan Magalhaes UNQUALIFIED
Chavez P NickaBrazilAmy Elsner PROPOSAL
Darci K OstroskyAustraliaIvan Magalhaes RENEWAL
David L FigeroaUnited KingdomXuxue Feng UNQUALIFIED
Jennifer B ButtUnited KingdomIvan Magalhaes RENEWAL
Faith B CampainIndiaAmy Elsner RENEWAL
Juan S FerenczSpainAmy Elsner UNQUALIFIED
Greenwood I KuskoGermanyStephen Shaw RENEWAL
Wickens K NickaGermanyAnna Fali QUALIFIED
Johnson H IturbideBrazilStephen Shaw QUALIFIED
Misaki X SlusarskiIndiaAmy Elsner NEW
Jeanfrancois N StockhamAustraliaAsiya Javayant NEGOTIATION
Jones N RulapaughBrazilIoni Bowcher NEW
Rodrigues K GillianIndiaStephen Shaw NEGOTIATION
Jefferson R GauchoItalyXuxue Feng QUALIFIED
Jeanfrancois W FigeroaCanadaIoni Bowcher QUALIFIED
Tony R MacleadArgentinaStephen Shaw NEW
Munro S KuskoIndiaElwin Sharvill NEGOTIATION
Alejandro Y FigeroaArgentinaStephen Shaw PROPOSAL
Izzy U DarakjyCanadaAmy Elsner RENEWAL
Nicolas C DoeFranceIoni Bowcher UNQUALIFIED
Izzy S KuskoIndiaStephen Shaw NEW
Aditya L VocelkaArgentinaIvan Magalhaes NEW
Julie H KuskoArgentinaIoni Bowcher PROPOSAL
Rodrigues R ShinkoArgentinaXuxue Feng QUALIFIED
Wickens U GillianItalyIoni Bowcher NEGOTIATION
Wickens B InouyeArgentinaXuxue Feng PROPOSAL
Francesco V DoeRussiaAsiya Javayant PROPOSAL
Munro Y StensethArgentinaXuxue Feng PROPOSAL
Costa N PaprockiIndiaXuxue Feng RENEWAL
Ricardo S NestleBrazilBernardo Dominic PROPOSAL
Wickens S KuskoBrazilXuxue Feng UNQUALIFIED
Kadeem Y OstroskyIndiaAnna Fali UNQUALIFIED
Kadeem Z AmigonJapanAnna Fali UNQUALIFIED
Adams I ShinkoItalyOnyama Limba NEW
Misaki C DilliardSpainAmy Elsner PROPOSAL
Aditya B CaudyBrazilAnna Fali NEGOTIATION
Frozen Columns
Name
Arvin X Caldarera
Leon V Bowley
Arvin J Garufi
Nicolas F Ferencz
Nicolas K Rulapaugh
Claire S Schemmer
Kaitlin U Inouye
Aditya E Shinko
Octavia B Nestle
Arvin B Darakjy
Kaitlin M Rim
Cody W Darakjy
Wickens O Venere
Izzy H Caldarera
Jennifer M Vocelka
Antonio I Morasca
Smith G Gillian
Jones C Waycott
Arvin G Inouye
Francesco F Bolognia
Cody P Perin
Darci H Maclead
Costa F Doe
Murillo R Campain
Johnson Z Albares
Misaki B Butt
Silvio Z Albares
Aditya M Stenseth
Leon G Rim
Darci L Maclead
Silvio J Rulapaugh
James J Rulapaugh
Isabel X Perin
Greenwood Z Gaucho
Murillo S Waycott
Jeanfrancois M Bolognia
Adams R Stenseth
Isabel N Shinko
Silvio S Stockham
Francesco A Nestle
Faith V Stenseth
Octavia O Dilliard
Aditya J Flosi
Costa S Oldroyd
Leja Z Gillian
Stacey U Stockham
Emily O Butt
Leja A Slusarski
David Z Paprocki
Murillo D Campain
IdCountryDate
1000Australia2024-10-16
1001France2024-10-08
1002Canada2024-10-28
1003Germany2024-10-27
1004Germany2024-10-23
1005Russia2024-10-03
1006United Kingdom2024-10-20
1007Argentina2024-10-18
1008India2024-10-09
1009Germany2024-10-19
1010United Kingdom2024-10-16
1011Russia2024-10-17
1012India2024-10-09
1013France2024-10-27
1014Canada2024-10-22
1015Germany2024-10-02
1016India2024-10-04
1017Germany2024-10-19
1018Australia2024-10-24
1019Australia2024-10-13
1020Russia2024-10-25
1021Brazil2024-10-28
1022France2024-10-21
1023Germany2024-10-28
1024Brazil2024-10-03
1025United Kingdom2024-10-11
1026India2024-10-23
1027Brazil2024-10-03
1028France2024-10-31
1029Argentina2024-10-10
1030Australia2024-10-27
1031Germany2024-10-14
1032Brazil2024-10-31
1033Russia2024-10-10
1034Japan2024-10-31
1035Germany2024-10-02
1036Italy2024-10-24
1037Argentina2024-10-27
1038Russia2024-10-26
1039Japan2024-10-19
1040Brazil2024-10-11
1041India2024-10-24
1042United Kingdom2024-10-08
1043Japan2024-10-04
1044United Kingdom2024-10-15
1045Italy2024-10-22
1046Italy2024-10-02
1047Spain2024-10-25
1048Germany2024-10-10
1049Australia2024-10-31

On-Demand Data

NameIdCountryDate
Morrow E Caldarera1000Japan2024-10-29
Deepesh Q Foller1001France2024-10-24
Aditya D Morasca1002Argentina2024-10-25
Cody P Royster1003Spain2024-10-04
Kaitlin K Kolmetz1004Japan2024-10-08
Silvio H Perin1005Spain2024-10-14
David Z Chui1006India2024-10-05
Stacey X Nicka1007Argentina2024-10-03
Cody M Oldroyd1008Japan2024-10-22
Adams R Garufi1009India2024-10-21
Aruna D Rim1010Russia2024-10-14
Maisha G Shinko1011Canada2024-10-08
Maisha J Schemmer1012Brazil2024-10-25
Faith N Saylors1013Argentina2024-10-06
Greenwood V Inouye1014Argentina2024-10-08
Leon I Gaucho1015Brazil2024-10-15
Jones L Gaucho1016Canada2024-10-10
Ricardo N Amigon1017Australia2024-10-06
James D Rulapaugh1018Japan2024-10-29
Arvin Z Kusko1019Argentina2024-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco T VocelkaArgentinaIoni Bowcher QUALIFIED
Maria H PoquetteIndiaStephen Shaw PROPOSAL
Ashley S RoysterCanadaStephen Shaw UNQUALIFIED
Mayumi U FigeroaFranceAnna Fali PROPOSAL
Emily E CaudySpainStephen Shaw NEGOTIATION
James X VocelkaAustraliaXuxue Feng NEW
Julie E GlickSpainBernardo Dominic PROPOSAL
Johnson U WaycottRussiaIoni Bowcher RENEWAL
Alejandro V StockhamArgentinaStephen Shaw NEW
Tony P NestleGermanyIoni Bowcher PROPOSAL
Jennifer K StensethCanadaElwin Sharvill UNQUALIFIED
Wickens R CaldareraItalyOnyama Limba PROPOSAL
Jeanfrancois H RoysterFranceXuxue Feng NEW
David C RimUnited KingdomAnna Fali PROPOSAL
Leon W SchemmerIndiaStephen Shaw UNQUALIFIED
Emily I MaletIndiaStephen Shaw PROPOSAL
Misaki K TollnerFranceOnyama Limba PROPOSAL
Wickens T VocelkaAustraliaOnyama Limba QUALIFIED
Nicolas O FerenczFranceAmy Elsner RENEWAL
Izzy F RimGermanyXuxue Feng UNQUALIFIED
Sinclair P SaylorsGermanyAnna Fali PROPOSAL
Emily Z StensethItalyBernardo Dominic RENEWAL
Emily D GillianCanadaElwin Sharvill NEW
Costa R FerenczGermanyOnyama Limba UNQUALIFIED
Morrow G FigeroaSpainIvan Magalhaes NEGOTIATION
Leon X FlosiArgentinaIvan Magalhaes UNQUALIFIED
Francesco W CampainIndiaAsiya Javayant QUALIFIED
Clifford E MacleadIndiaAmy Elsner RENEWAL
Darci K VenereArgentinaAmy Elsner QUALIFIED
Chavez E RoysterFranceOnyama Limba PROPOSAL
Alejandro F FerenczAustraliaXuxue Feng RENEWAL
Isabel J MarrierArgentinaAmy Elsner NEW
Antonio K MaletJapanIoni Bowcher RENEWAL
Isabel E PoquetteSpainAmy Elsner PROPOSAL
Julie B TollnerArgentinaElwin Sharvill PROPOSAL
Aditya K WaycottSpainStephen Shaw NEW
Kaitlin Y SchemmerBrazilBernardo Dominic PROPOSAL
Salvatore D RutaCanadaAnna Fali PROPOSAL
Silvio W KolmetzJapanAmy Elsner PROPOSAL
Murillo M GauchoCanadaAmy Elsner RENEWAL

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