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
Emily E WieserFranceIvan Magalhaes NEW
Julie Z AlbaresCanadaOnyama Limba NEW
Ricardo R StockhamFranceAnna Fali UNQUALIFIED
Mayumi I CampainSpainElwin Sharvill UNQUALIFIED
Maria V DarakjyGermanyStephen Shaw RENEWAL
Costa Z CampainItalyIoni Bowcher QUALIFIED
Claire U GarufiAustraliaIvan Magalhaes QUALIFIED
Alejandro Q TollnerUnited KingdomXuxue Feng NEGOTIATION
Jefferson R CaldareraArgentinaIoni Bowcher NEGOTIATION
Antonio A GlickSpainAmy Elsner PROPOSAL
Aika B AlbaresCanadaOnyama Limba RENEWAL
Aruna Q GlickSpainXuxue Feng PROPOSAL
Francesco R ButtSpainXuxue Feng NEW
Emily J FerenczJapanOnyama Limba UNQUALIFIED
Greenwood O StensethGermanyIoni Bowcher QUALIFIED
Leon C WieserSpainElwin Sharvill NEGOTIATION
Mayumi R RoysterArgentinaAmy Elsner QUALIFIED
Antonio R NestleCanadaAnna Fali QUALIFIED
Misaki T SlusarskiGermanyXuxue Feng UNQUALIFIED
Aditya S MacleadSpainIvan Magalhaes UNQUALIFIED
Ashley O WieserItalyStephen Shaw UNQUALIFIED
Misaki U StensethItalyAsiya Javayant NEGOTIATION
Chavez R WaycottArgentinaBernardo Dominic NEGOTIATION
Julie B GlickBrazilAsiya Javayant NEW
Aika T StensethItalyStephen Shaw NEGOTIATION
Aika A SchemmerJapanAnna Fali QUALIFIED
Kadeem J SergiArgentinaBernardo Dominic RENEWAL
Smith J AmigonItalyElwin Sharvill QUALIFIED
Chavez I GarufiRussiaIoni Bowcher PROPOSAL
Jennifer P OldroydBrazilStephen Shaw RENEWAL
Munro V AmigonBrazilIoni Bowcher QUALIFIED
Jennifer I MarrierRussiaIvan Magalhaes RENEWAL
Jefferson V GlickArgentinaIoni Bowcher NEW
Sinclair B BowleyFranceAsiya Javayant PROPOSAL
Maisha X MaletCanadaIoni Bowcher NEW
Francesco P OldroydCanadaBernardo Dominic RENEWAL
Sinclair K RutaItalyIoni Bowcher PROPOSAL
Tony R RulapaughUnited KingdomIvan Magalhaes RENEWAL
Salvatore N RimJapanIoni Bowcher RENEWAL
Ashley I PerinRussiaBernardo Dominic RENEWAL
Rodrigues R StensethArgentinaStephen Shaw UNQUALIFIED
Antonio I VenereGermanyXuxue Feng RENEWAL
Isabel E AmigonSpainBernardo Dominic RENEWAL
Rodrigues I PoquetteGermanyIoni Bowcher QUALIFIED
Costa W IturbideArgentinaAsiya Javayant PROPOSAL
Jefferson N CaldareraCanadaAmy Elsner RENEWAL
Juan S RoysterGermanyElwin Sharvill PROPOSAL
Leja S VenereBrazilXuxue Feng RENEWAL
Arvin U KolmetzItalyBernardo Dominic QUALIFIED
Cody T ButtUnited KingdomAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Tony G RoysterSpainOnyama Limba RENEWAL
Octavia J FerenczCanadaXuxue Feng NEW
Jefferson F WhobreyRussiaBernardo Dominic QUALIFIED
Kadeem I WaycottCanadaIvan Magalhaes PROPOSAL
Tony Z AlbaresArgentinaOnyama Limba RENEWAL
Mayumi U FerenczIndiaOnyama Limba UNQUALIFIED
Costa B SchemmerCanadaOnyama Limba RENEWAL
Morrow S NestleSpainStephen Shaw PROPOSAL
Misaki O PerinSpainIvan Magalhaes RENEWAL
Munro P MaletCanadaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow C RutaArgentina2024-05-10Rousseaux, Michael Esq PROPOSAL48Elwin Sharvill
1001Arvin W SergiArgentina2024-04-27Rousseaux, Michael Esq NEW24Ivan Magalhaes
1002Francesco W FigeroaFrance2024-04-29Truhlar And Truhlar Attys NEGOTIATION74Asiya Javayant
1003Misaki B FlosiUnited Kingdom2024-05-14Feiner Bros NEW39Asiya Javayant
1004Deepesh U ChuiIndia2024-05-07Chemel, James L Cpa UNQUALIFIED67Stephen Shaw
1005Clifford W RoysterArgentina2024-05-05Rangoni Of Florence UNQUALIFIED92Stephen Shaw
1006Ricardo P ShinkoRussia2024-04-26Feltz Printing Service PROPOSAL41Onyama Limba
1007Darci Q CaudyRussia2024-05-11Benton, John B Jr NEGOTIATION71Ioni Bowcher
1008Arvin X SchemmerSpain2024-05-12Buckley Miller Wright RENEWAL10Anna Fali
1009Octavia D FerenczAustralia2024-05-18Buckley Miller Wright RENEWAL83Xuxue Feng
1010Julie N KuskoJapan2024-05-24Morlong Associates NEGOTIATION43Stephen Shaw
1011James A FigeroaIndia2024-05-18Commercial Press RENEWAL9Stephen Shaw
1012Sinclair J WieserItaly2024-05-02Morlong Associates PROPOSAL65Anna Fali
1013Darci X NickaGermany2024-05-13Rangoni Of Florence PROPOSAL84Onyama Limba
1014Arvin R DoeUnited Kingdom2024-05-24Feiner Bros PROPOSAL38Ivan Magalhaes
1015Alejandro E DarakjySpain2024-05-01Chanay, Jeffrey A Esq NEGOTIATION46Bernardo Dominic
1016Jeanfrancois L TollnerUnited Kingdom2024-05-02Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1017Ricardo L StensethGermany2024-05-03Feltz Printing Service NEW45Anna Fali
1018Ricardo U KolmetzGermany2024-05-01Chapman, Ross E Esq RENEWAL91Onyama Limba
1019Johnson C BowleyJapan2024-04-26Morlong Associates UNQUALIFIED52Asiya Javayant
1020Octavia W FlosiArgentina2024-05-12Rousseaux, Michael Esq RENEWAL92Asiya Javayant
1021Kadeem O VocelkaAustralia2024-05-23Printing Dimensions NEW97Bernardo Dominic
1022Francesco C FlosiItaly2024-05-20Buckley Miller Wright UNQUALIFIED80Onyama Limba
1023Faith C RoysterBrazil2024-05-06Morlong Associates NEW69Amy Elsner
1024Maria E IturbideRussia2024-05-06Morlong Associates QUALIFIED16Bernardo Dominic
1025Clifford Z RulapaughRussia2024-04-28Benton, John B Jr UNQUALIFIED40Onyama Limba
1026Nicolas X GauchoCanada2024-05-11Rangoni Of Florence NEGOTIATION51Bernardo Dominic
1027Isabel U NestleCanada2024-04-29King, Christopher A Esq QUALIFIED58Stephen Shaw
1028Silvio P RoysterGermany2024-05-04Rousseaux, Michael Esq NEGOTIATION13Elwin Sharvill
1029Silvio J FlosiFrance2024-05-12Commercial Press UNQUALIFIED99Xuxue Feng
1030Kaitlin D WieserItaly2024-05-21Chanay, Jeffrey A Esq QUALIFIED14Onyama Limba
1031Salvatore O CaldareraGermany2024-05-10Truhlar And Truhlar Attys QUALIFIED18Onyama Limba
1032Munro G CampainGermany2024-05-07Benton, John B Jr UNQUALIFIED28Elwin Sharvill
1033Izzy G VocelkaUnited Kingdom2024-04-28Printing Dimensions NEW31Xuxue Feng
1034Arvin Z PoquetteUnited Kingdom2024-05-01Chapman, Ross E Esq NEGOTIATION83Ioni Bowcher
1035Aditya K WieserAustralia2024-05-05Printing Dimensions QUALIFIED51Bernardo Dominic
1036Kaitlin J MaletJapan2024-04-26Dorl, James J Esq QUALIFIED13Onyama Limba
1037Leon W KuskoJapan2024-05-24Feltz Printing Service UNQUALIFIED14Amy Elsner
1038Isabel H OldroydIndia2024-05-05Chapman, Ross E Esq RENEWAL76Bernardo Dominic
1039Leon R SchemmerArgentina2024-05-17Chanay, Jeffrey A Esq NEGOTIATION92Ivan Magalhaes
1040Wickens H DilliardAustralia2024-04-30Rousseaux, Michael Esq NEW46Stephen Shaw
1041Silvio B MarrierFrance2024-05-25Chemel, James L Cpa NEW23Xuxue Feng
1042Faith Z AmigonItaly2024-05-08Chanay, Jeffrey A Esq NEW52Ioni Bowcher
1043Nicolas G ChuiCanada2024-05-24King, Christopher A Esq NEW83Ioni Bowcher
1044Aika F CaudyIndia2024-04-27King, Christopher A Esq NEW62Xuxue Feng
1045Aruna L BriddickArgentina2024-05-09Morlong Associates QUALIFIED74Bernardo Dominic
1046Clifford R WieserCanada2024-05-01Dorl, James J Esq RENEWAL22Asiya Javayant
1047Kadeem K WhobreyCanada2024-05-24Rousseaux, Michael Esq UNQUALIFIED36Ivan Magalhaes
1048Juan F RoysterItaly2024-05-03Benton, John B Jr PROPOSAL86Bernardo Dominic
1049Maria C BologniaFrance2024-05-14Morlong Associates QUALIFIED6Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Murillo B StockhamSpainAmy Elsner PROPOSAL
Deepesh L StockhamIndiaBernardo Dominic NEGOTIATION
Greenwood E IturbideIndiaAmy Elsner PROPOSAL
Maisha Y BowleyIndiaAmy Elsner NEW
Jefferson O MarrierRussiaXuxue Feng NEW
Maria G MaletSpainStephen Shaw NEW
David A FigeroaIndiaStephen Shaw NEW
Alejandro O NestleGermanyIoni Bowcher RENEWAL
Jefferson I IturbideAustraliaElwin Sharvill PROPOSAL
Antonio G FlosiRussiaAnna Fali UNQUALIFIED
Misaki T PerinIndiaXuxue Feng NEGOTIATION
Julie O ButtAustraliaElwin Sharvill PROPOSAL
Greenwood S SchemmerCanadaElwin Sharvill NEGOTIATION
Juan K FlosiGermanyIvan Magalhaes UNQUALIFIED
Aruna H MaletSpainBernardo Dominic RENEWAL
Johnson Q BowleyCanadaBernardo Dominic RENEWAL
Maria G ButtArgentinaBernardo Dominic PROPOSAL
Morrow J MorascaFranceAsiya Javayant PROPOSAL
Antonio J SergiGermanyAsiya Javayant NEW
Aika C SaylorsBrazilIvan Magalhaes QUALIFIED
Wickens Y SlusarskiUnited KingdomAsiya Javayant RENEWAL
Johnson E MaletIndiaAsiya Javayant RENEWAL
Alejandro B RulapaughSpainAmy Elsner NEGOTIATION
Clifford W GauchoIndiaXuxue Feng NEW
Francesco H BriddickGermanyAsiya Javayant UNQUALIFIED
Rodrigues W AmigonCanadaStephen Shaw PROPOSAL
Ivar D WieserIndiaXuxue Feng PROPOSAL
Jeanfrancois G GarufiRussiaStephen Shaw NEW
Francesco I GillianGermanyXuxue Feng RENEWAL
Maria I DoeFranceIvan Magalhaes RENEWAL
Francesco G MacleadGermanyElwin Sharvill PROPOSAL
Julie D SaylorsBrazilIvan Magalhaes NEGOTIATION
Greenwood A NestleFranceOnyama Limba NEW
Salvatore U OstroskyFranceAnna Fali PROPOSAL
Ashley P WieserIndiaAmy Elsner RENEWAL
Salvatore G FigeroaRussiaElwin Sharvill NEGOTIATION
Silvio M InouyeAustraliaIoni Bowcher NEGOTIATION
Aruna Z WhobreyFranceAsiya Javayant QUALIFIED
Jones B WaycottArgentinaAsiya Javayant RENEWAL
Silvio P ButtRussiaStephen Shaw RENEWAL
Cody S PerinAustraliaElwin Sharvill QUALIFIED
Leja M NestleFranceIoni Bowcher PROPOSAL
Claire B IturbideArgentinaAnna Fali RENEWAL
Faith S OstroskyBrazilElwin Sharvill RENEWAL
Emily D BriddickAustraliaElwin Sharvill RENEWAL
Aditya V VocelkaItalyAnna Fali PROPOSAL
Aditya B CaldareraUnited KingdomElwin Sharvill PROPOSAL
Nicolas T InouyeCanadaElwin Sharvill UNQUALIFIED
Francesco O MaletCanadaElwin Sharvill PROPOSAL
Leon N SaylorsFranceIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Tony N Paprocki
Ivar M Vocelka
Jones Q Maclead
Maisha M Bolognia
Claire Y Kusko
Maisha Z Malet
David W Stenseth
Murillo H Shinko
Claire J Royster
Mayumi J Malet
Juan Y Gillian
Cody U Kolmetz
Wickens V Malet
Arvin W Kusko
Jennifer A Gillian
Stacey Z Ruta
Costa H Paprocki
Greenwood T Flosi
Emily X Kusko
Alejandro J Garufi
Jones V Oldroyd
Sinclair A Stenseth
Leon Y Oldroyd
Rodrigues W Dilliard
Smith M Saylors
Claire P Tollner
Murillo F Figeroa
Munro Q Dilliard
Tony U Schemmer
Juan O Schemmer
Munro X Briddick
Deepesh A Figeroa
Greenwood A Flosi
Julie S Schemmer
Ashley C Campain
Adams J Rim
Smith H Caldarera
Nicolas Y Rim
Chavez L Perin
Smith M Wieser
Kaitlin K Perin
Octavia J Marrier
Aruna Y Maclead
Ashley O Darakjy
Kaitlin Q Slusarski
David I Waycott
Costa J Slusarski
Francesco I Marrier
Leon F Malet
Claire O Dilliard
IdCountryDate
1000United Kingdom2024-05-22
1001Canada2024-05-11
1002India2024-05-02
1003Brazil2024-05-23
1004France2024-04-26
1005Russia2024-05-18
1006Canada2024-05-07
1007Japan2024-05-16
1008Italy2024-04-29
1009Italy2024-05-16
1010Japan2024-05-20
1011France2024-04-30
1012Italy2024-05-25
1013France2024-04-28
1014Spain2024-05-18
1015India2024-05-14
1016Argentina2024-05-09
1017France2024-05-23
1018Canada2024-05-17
1019United Kingdom2024-05-25
1020France2024-05-07
1021Japan2024-05-01
1022Canada2024-04-30
1023Italy2024-05-03
1024India2024-05-13
1025Australia2024-05-07
1026France2024-05-03
1027Russia2024-05-19
1028Brazil2024-05-23
1029Spain2024-04-27
1030India2024-05-19
1031Brazil2024-04-28
1032Canada2024-04-30
1033United Kingdom2024-05-08
1034United Kingdom2024-05-23
1035Australia2024-05-06
1036Japan2024-05-01
1037Russia2024-05-23
1038Japan2024-04-26
1039Canada2024-05-06
1040Canada2024-05-17
1041Argentina2024-05-17
1042Japan2024-05-12
1043Russia2024-05-12
1044Germany2024-05-19
1045France2024-05-06
1046Spain2024-05-04
1047India2024-04-30
1048Japan2024-05-02
1049India2024-05-07

On-Demand Data

NameIdCountryDate
Aditya G Doe1000Canada2024-05-23
Mujtaba A Campain1001Australia2024-05-05
Izzy S Paprocki1002Brazil2024-05-02
Silvio Q Saylors1003Canada2024-05-04
Maria H Ruta1004France2024-05-16
Nicolas R Chui1005United Kingdom2024-05-12
Ricardo E Saylors1006United Kingdom2024-05-09
Alejandro K Poquette1007Russia2024-05-04
Isabel E Ostrosky1008Italy2024-05-14
Jefferson A Ruta1009Germany2024-05-22
Misaki S Amigon1010Brazil2024-05-19
Maria L Nestle1011Italy2024-04-26
Ivar C Gaucho1012Spain2024-05-12
Maria A Sergi1013Canada2024-05-19
Alejandro E Wieser1014Germany2024-05-17
Jennifer E Morasca1015Brazil2024-05-21
Cody Z Butt1016France2024-04-30
Wickens Z Paprocki1017India2024-05-06
Darci P Albares1018Germany2024-05-23
Costa J Kolmetz1019Argentina2024-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore A MaletArgentinaIvan Magalhaes UNQUALIFIED
Ashley Q FollerFranceAmy Elsner UNQUALIFIED
Costa H WaycottCanadaIvan Magalhaes PROPOSAL
Emily I SchemmerArgentinaAnna Fali NEW
Nicolas B WieserAustraliaAsiya Javayant NEGOTIATION
Chavez C CaldareraGermanyOnyama Limba UNQUALIFIED
Munro O WieserCanadaAsiya Javayant QUALIFIED
Ivar E OldroydArgentinaAmy Elsner NEW
Jefferson U FigeroaAustraliaAmy Elsner NEGOTIATION
Deepesh H FlosiIndiaBernardo Dominic NEW
Stacey U CaudyAustraliaStephen Shaw UNQUALIFIED
Jennifer S BriddickJapanIoni Bowcher UNQUALIFIED
Claire Z StensethSpainAmy Elsner QUALIFIED
Leon Q VocelkaSpainStephen Shaw NEW
Antonio T FlosiItalyBernardo Dominic UNQUALIFIED
Munro M NestleIndiaElwin Sharvill QUALIFIED
Johnson E SaylorsItalyElwin Sharvill QUALIFIED
Cody Z StensethItalyAmy Elsner NEGOTIATION
Mujtaba E InouyeJapanAnna Fali UNQUALIFIED
Sinclair I MaletSpainAmy Elsner RENEWAL
Silvio U MaletFranceIvan Magalhaes NEW
Aika G PoquetteCanadaAmy Elsner QUALIFIED
Kaitlin Y MacleadSpainStephen Shaw NEGOTIATION
Mujtaba A RimCanadaAmy Elsner NEW
Chavez X FlosiAustraliaIvan Magalhaes NEGOTIATION
Francesco G MarrierUnited KingdomAnna Fali PROPOSAL
Chavez P ButtIndiaAmy Elsner NEGOTIATION
Nicolas K RimSpainElwin Sharvill NEW
Smith N WaycottSpainIoni Bowcher UNQUALIFIED
Leja G MaletGermanyAsiya Javayant RENEWAL
Sinclair I GarufiArgentinaAsiya Javayant QUALIFIED
Jefferson W MacleadFranceStephen Shaw NEW
Clifford C KuskoSpainElwin Sharvill QUALIFIED
Maria J FigeroaJapanBernardo Dominic PROPOSAL
Kaitlin X WieserSpainAmy Elsner NEW
Mayumi E StockhamRussiaIoni Bowcher QUALIFIED
Leon X VenereRussiaOnyama Limba QUALIFIED
Salvatore O InouyeSpainAmy Elsner RENEWAL
Emily Y PerinAustraliaAmy Elsner PROPOSAL
Aditya B KolmetzGermanyOnyama Limba QUALIFIED

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