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
Maisha A RoysterAustraliaAsiya Javayant PROPOSAL
Mayumi D ChuiUnited KingdomIoni Bowcher PROPOSAL
Clifford U ShinkoIndiaIvan Magalhaes NEGOTIATION
Aditya L SaylorsBrazilOnyama Limba NEW
Misaki H WaycottSpainStephen Shaw NEGOTIATION
Francesco P GillianFranceOnyama Limba NEGOTIATION
Julie C DarakjyIndiaOnyama Limba PROPOSAL
Tony F PaprockiAustraliaOnyama Limba RENEWAL
Ricardo Y CaldareraSpainAsiya Javayant PROPOSAL
Adams D KuskoCanadaStephen Shaw NEW
Tony Y ShinkoFranceStephen Shaw UNQUALIFIED
Mujtaba R AmigonUnited KingdomXuxue Feng NEGOTIATION
Faith I InouyeItalyAsiya Javayant QUALIFIED
Aditya P FollerAustraliaXuxue Feng NEGOTIATION
Emily B FerenczJapanOnyama Limba UNQUALIFIED
Ricardo E OstroskyAustraliaIvan Magalhaes QUALIFIED
Greenwood T SaylorsGermanyIoni Bowcher QUALIFIED
Juan B StockhamItalyAnna Fali RENEWAL
Munro O VenereCanadaElwin Sharvill PROPOSAL
Arvin X PaprockiFranceElwin Sharvill PROPOSAL
Jennifer R GillianRussiaOnyama Limba PROPOSAL
Tony S OstroskySpainElwin Sharvill QUALIFIED
James R ChuiRussiaBernardo Dominic RENEWAL
Juan Z RimAustraliaAmy Elsner RENEWAL
Mayumi F SaylorsArgentinaIvan Magalhaes QUALIFIED
Munro N MarrierFranceBernardo Dominic PROPOSAL
Cody Z PerinUnited KingdomBernardo Dominic RENEWAL
James V BologniaGermanyAnna Fali NEW
Leja D ChuiBrazilIoni Bowcher UNQUALIFIED
Greenwood K ChuiItalyElwin Sharvill QUALIFIED
Wickens U CaudySpainElwin Sharvill NEGOTIATION
Rodrigues F DilliardFranceAsiya Javayant RENEWAL
Greenwood E SchemmerFranceElwin Sharvill UNQUALIFIED
Jeanfrancois G ChuiBrazilStephen Shaw UNQUALIFIED
Wickens I TollnerIndiaBernardo Dominic QUALIFIED
Stacey X CampainIndiaXuxue Feng QUALIFIED
Rodrigues S NickaAustraliaIvan Magalhaes RENEWAL
Claire V IturbideCanadaBernardo Dominic PROPOSAL
Stacey L WieserFranceAsiya Javayant NEGOTIATION
Smith R GlickItalyIvan Magalhaes NEGOTIATION
Aika A RulapaughGermanyAmy Elsner RENEWAL
Chavez L TollnerIndiaOnyama Limba RENEWAL
Emily I NickaFranceAnna Fali RENEWAL
Faith O VocelkaItalyIvan Magalhaes RENEWAL
Ricardo J GlickItalyElwin Sharvill PROPOSAL
David Z DarakjyBrazilAmy Elsner NEGOTIATION
Cody M FerenczJapanAnna Fali PROPOSAL
Stacey L BologniaArgentinaAsiya Javayant NEGOTIATION
Faith O PoquetteCanadaStephen Shaw NEW
Ashley P MacleadJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford Q SlusarskiUnited KingdomAnna Fali QUALIFIED
Morrow L OldroydFranceAsiya Javayant NEGOTIATION
Juan L MarrierRussiaXuxue Feng QUALIFIED
Ricardo W ChuiBrazilBernardo Dominic PROPOSAL
Kadeem Y FigeroaJapanXuxue Feng PROPOSAL
Cody E PaprockiRussiaAsiya Javayant RENEWAL
Mujtaba O WieserAustraliaBernardo Dominic QUALIFIED
Clifford X DilliardBrazilElwin Sharvill PROPOSAL
Costa V MorascaFranceStephen Shaw UNQUALIFIED
David T RoysterSpainIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria V SergiArgentina2024-06-02Printing Dimensions QUALIFIED20Ioni Bowcher
1001Mujtaba A BowleyFrance2024-05-25Commercial Press UNQUALIFIED15Ioni Bowcher
1002Alejandro U PoquetteCanada2024-06-07Commercial Press PROPOSAL63Elwin Sharvill
1003Tony B CampainIndia2024-06-13Commercial Press RENEWAL42Ioni Bowcher
1004David A PerinCanada2024-06-09Truhlar And Truhlar Attys PROPOSAL41Anna Fali
1005Ivar E VenereFrance2024-06-18Printing Dimensions UNQUALIFIED78Amy Elsner
1006Jefferson Q WaycottBrazil2024-05-23Chemel, James L Cpa PROPOSAL46Ioni Bowcher
1007Aruna X CaldareraFrance2024-06-12Truhlar And Truhlar Attys UNQUALIFIED23Anna Fali
1008Kaitlin B RimBrazil2024-05-30Feltz Printing Service QUALIFIED33Anna Fali
1009Stacey H DoeArgentina2024-06-03Printing Dimensions QUALIFIED2Ivan Magalhaes
1010Faith F CaudyGermany2024-06-07Printing Dimensions NEW98Bernardo Dominic
1011Salvatore O InouyeBrazil2024-06-18Chapman, Ross E Esq RENEWAL78Ivan Magalhaes
1012Jennifer J MacleadSpain2024-06-17King, Christopher A Esq UNQUALIFIED66Asiya Javayant
1013Claire J RulapaughArgentina2024-05-24Feiner Bros RENEWAL85Onyama Limba
1014Stacey I DoeCanada2024-06-19Rangoni Of Florence NEW9Stephen Shaw
1015Mayumi L IturbideGermany2024-06-10Rousseaux, Michael Esq PROPOSAL49Bernardo Dominic
1016Misaki J FollerItaly2024-05-23Buckley Miller Wright NEW43Xuxue Feng
1017Adams M DarakjyGermany2024-06-16Morlong Associates PROPOSAL82Bernardo Dominic
1018Kadeem X VenereRussia2024-05-29Morlong Associates PROPOSAL67Asiya Javayant
1019Francesco H OstroskyIndia2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED26Xuxue Feng
1020Francesco B GlickItaly2024-06-10King, Christopher A Esq RENEWAL49Ivan Magalhaes
1021Rodrigues R SchemmerJapan2024-06-15Commercial Press NEW54Ioni Bowcher
1022Aruna U DilliardJapan2024-06-12Printing Dimensions NEW5Ivan Magalhaes
1023Ricardo P AlbaresFrance2024-05-25Benton, John B Jr QUALIFIED17Elwin Sharvill
1024Julie R FerenczRussia2024-06-15Rousseaux, Michael Esq QUALIFIED42Anna Fali
1025Murillo R ButtGermany2024-06-13King, Christopher A Esq PROPOSAL29Ioni Bowcher
1026Antonio W RimAustralia2024-06-06Morlong Associates NEW63Xuxue Feng
1027Silvio W SlusarskiAustralia2024-05-31Buckley Miller Wright PROPOSAL56Xuxue Feng
1028Isabel T PaprockiIndia2024-06-05Printing Dimensions PROPOSAL49Anna Fali
1029Stacey Z BriddickBrazil2024-05-30Chanay, Jeffrey A Esq NEGOTIATION41Onyama Limba
1030Izzy Y CampainSpain2024-06-19Rangoni Of Florence RENEWAL16Ioni Bowcher
1031Aditya O GauchoItaly2024-06-19Benton, John B Jr RENEWAL27Onyama Limba
1032Octavia C NickaCanada2024-06-02Chemel, James L Cpa QUALIFIED70Onyama Limba
1033Tony F SchemmerBrazil2024-05-29Morlong Associates QUALIFIED66Bernardo Dominic
1034Ashley V DoeRussia2024-06-21Feiner Bros NEGOTIATION25Amy Elsner
1035Smith U RulapaughAustralia2024-06-17Rangoni Of Florence NEW28Anna Fali
1036Izzy Y GillianSpain2024-05-24Rangoni Of Florence QUALIFIED19Xuxue Feng
1037Munro L MaletJapan2024-06-21Feltz Printing Service NEGOTIATION96Bernardo Dominic
1038Arvin L DilliardUnited Kingdom2024-05-24Rangoni Of Florence RENEWAL48Elwin Sharvill
1039Alejandro I FigeroaArgentina2024-06-13Commercial Press NEGOTIATION77Ivan Magalhaes
1040Izzy G MacleadSpain2024-06-03Rousseaux, Michael Esq NEW37Ioni Bowcher
1041Maria I VenereItaly2024-05-30Buckley Miller Wright QUALIFIED21Elwin Sharvill
1042Maria G KuskoJapan2024-06-04Benton, John B Jr NEW70Anna Fali
1043Mayumi P CampainGermany2024-05-26Commercial Press NEW27Ioni Bowcher
1044Smith P NickaIndia2024-06-01Truhlar And Truhlar Attys QUALIFIED92Stephen Shaw
1045Wickens A ShinkoBrazil2024-06-16Benton, John B Jr RENEWAL57Ioni Bowcher
1046Costa Z VenereIndia2024-06-17Morlong Associates QUALIFIED49Anna Fali
1047Mujtaba H StensethBrazil2024-06-20Commercial Press QUALIFIED13Stephen Shaw
1048Leon W RimUnited Kingdom2024-05-29Feiner Bros NEGOTIATION26Xuxue Feng
1049Emily S NickaItaly2024-05-28Printing Dimensions QUALIFIED14Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jefferson N NestleCanadaIvan Magalhaes NEGOTIATION
Adams J GauchoRussiaAnna Fali PROPOSAL
Jefferson Z BriddickGermanyXuxue Feng UNQUALIFIED
James H AmigonArgentinaAnna Fali QUALIFIED
Jennifer L CaldareraRussiaAnna Fali NEW
Johnson M MaletSpainElwin Sharvill QUALIFIED
Faith T WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore L MorascaIndiaAnna Fali NEW
Jones I GarufiUnited KingdomAnna Fali RENEWAL
Silvio L KolmetzIndiaStephen Shaw NEGOTIATION
Tony G SergiItalyAmy Elsner PROPOSAL
Alejandro T NestleArgentinaStephen Shaw NEW
Alejandro N InouyeIndiaElwin Sharvill UNQUALIFIED
Juan X SergiAustraliaAsiya Javayant NEW
Clifford B WhobreyArgentinaOnyama Limba UNQUALIFIED
Jones K MacleadJapanAsiya Javayant RENEWAL
Leja M KuskoIndiaOnyama Limba NEGOTIATION
Maisha P GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Misaki C StockhamRussiaIvan Magalhaes RENEWAL
Rodrigues G BologniaItalyIoni Bowcher QUALIFIED
Ricardo F FerenczSpainElwin Sharvill NEW
David X FlosiFranceAmy Elsner PROPOSAL
Octavia W RoysterCanadaAmy Elsner NEGOTIATION
Sinclair A OstroskyFranceAsiya Javayant NEW
Aika B FigeroaIndiaOnyama Limba NEGOTIATION
Leon M GarufiSpainXuxue Feng RENEWAL
Greenwood B IturbideIndiaIvan Magalhaes PROPOSAL
Leon J RimBrazilXuxue Feng UNQUALIFIED
Rodrigues O VocelkaItalyXuxue Feng PROPOSAL
Alejandro L OldroydIndiaBernardo Dominic QUALIFIED
Nicolas R VocelkaBrazilAmy Elsner RENEWAL
Jones Q MarrierJapanIvan Magalhaes NEGOTIATION
Kaitlin A ChuiBrazilStephen Shaw UNQUALIFIED
Misaki I VocelkaFranceAnna Fali QUALIFIED
Kaitlin V SlusarskiArgentinaIoni Bowcher NEGOTIATION
Isabel U VocelkaCanadaIoni Bowcher UNQUALIFIED
David X DoeUnited KingdomOnyama Limba NEGOTIATION
Maisha N PerinItalyElwin Sharvill NEGOTIATION
Aruna U MarrierRussiaAsiya Javayant NEGOTIATION
Rodrigues N BologniaUnited KingdomXuxue Feng NEW
Octavia Q PoquetteSpainElwin Sharvill PROPOSAL
Ashley T ButtRussiaAmy Elsner NEW
Octavia L DarakjyAustraliaIoni Bowcher UNQUALIFIED
Mayumi H FigeroaCanadaIoni Bowcher UNQUALIFIED
Salvatore Y CaudyArgentinaXuxue Feng NEGOTIATION
Julie Z DarakjyFranceStephen Shaw RENEWAL
Salvatore Z InouyeRussiaIvan Magalhaes NEW
Maisha O CampainSpainOnyama Limba RENEWAL
Chavez O SergiJapanAmy Elsner PROPOSAL
Julie V PaprockiJapanBernardo Dominic RENEWAL
Frozen Columns
Name
Leon J Briddick
Aditya O Albares
James M Slusarski
James O Gaucho
Maisha T Gillian
Tony O Foller
Ricardo X Nestle
David Y Slusarski
Alejandro G Poquette
Jefferson E Slusarski
Kadeem U Doe
Nicolas S Glick
Morrow D Kolmetz
Johnson V Rulapaugh
Aruna K Morasca
Francesco V Stockham
Darci I Nestle
Aika V Butt
Ricardo O Kolmetz
Adams N Figeroa
Kaitlin A Flosi
Antonio I Slusarski
Leon L Malet
Isabel C Kusko
Leon D Figeroa
Smith Y Shinko
Jeanfrancois Q Nicka
James B Perin
Aika Z Flosi
Antonio O Chui
Jeanfrancois V Stockham
Maisha R Wieser
Leon L Gillian
Sinclair L Gaucho
Maria E Wieser
Jefferson K Campain
Izzy L Gaucho
Kaitlin W Whobrey
Arvin D Glick
Costa W Figeroa
James H Schemmer
Isabel O Waycott
Tony D Kusko
Greenwood L Gillian
Claire J Rim
Wickens Y Caldarera
Arvin X Perin
Wickens P Amigon
Antonio X Foller
Jennifer L Gaucho
IdCountryDate
1000Argentina2024-05-23
1001Canada2024-05-29
1002Italy2024-06-10
1003Italy2024-06-08
1004Japan2024-06-07
1005India2024-06-12
1006Spain2024-05-27
1007India2024-05-24
1008Japan2024-06-19
1009France2024-06-19
1010France2024-05-30
1011Russia2024-06-14
1012Australia2024-06-19
1013Italy2024-05-31
1014Russia2024-06-16
1015France2024-06-20
1016Argentina2024-05-27
1017Australia2024-06-13
1018Germany2024-06-17
1019Canada2024-06-03
1020Spain2024-06-04
1021Germany2024-06-19
1022France2024-06-17
1023Japan2024-06-05
1024Japan2024-05-23
1025India2024-05-26
1026Italy2024-06-04
1027Japan2024-05-30
1028Germany2024-06-09
1029Canada2024-06-05
1030United Kingdom2024-06-16
1031Germany2024-06-06
1032United Kingdom2024-06-06
1033United Kingdom2024-06-21
1034France2024-05-29
1035Spain2024-05-29
1036Spain2024-05-31
1037Australia2024-06-08
1038Italy2024-06-09
1039Russia2024-05-23
1040Russia2024-06-03
1041France2024-06-16
1042Brazil2024-06-01
1043France2024-05-29
1044United Kingdom2024-06-10
1045Australia2024-05-30
1046India2024-06-15
1047Italy2024-05-28
1048Japan2024-05-27
1049Japan2024-06-19

On-Demand Data

NameIdCountryDate
Stacey M Amigon1000Argentina2024-05-27
Munro C Gaucho1001United Kingdom2024-06-06
Silvio O Albares1002Spain2024-06-05
Antonio C Albares1003Canada2024-05-26
Isabel Y Maclead1004Australia2024-06-15
Isabel D Ruta1005Canada2024-06-17
Aika C Marrier1006United Kingdom2024-06-04
Tony K Caldarera1007Japan2024-05-27
Izzy N Glick1008Argentina2024-05-27
Izzy M Dilliard1009Russia2024-06-17
Mujtaba C Bowley1010Germany2024-06-08
Jefferson S Bowley1011Russia2024-06-03
Antonio Y Darakjy1012Australia2024-06-14
Octavia K Morasca1013India2024-06-08
Aditya O Slusarski1014Japan2024-05-23
Aruna B Inouye1015Italy2024-06-09
Johnson N Glick1016Spain2024-05-28
Kaitlin D Campain1017Spain2024-06-09
Francesco L Tollner1018United Kingdom2024-05-24
Emily D Shinko1019Germany2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey P RutaGermanyStephen Shaw NEGOTIATION
Octavia H AmigonIndiaElwin Sharvill QUALIFIED
Aruna G MacleadBrazilStephen Shaw NEGOTIATION
Mujtaba P SaylorsSpainAsiya Javayant PROPOSAL
Mujtaba D CaldareraSpainXuxue Feng NEW
Johnson Q WaycottCanadaElwin Sharvill NEGOTIATION
Emily Q VocelkaGermanyIoni Bowcher NEW
Tony F GauchoFranceOnyama Limba QUALIFIED
Smith W DoeBrazilXuxue Feng QUALIFIED
Darci E StensethFranceAsiya Javayant RENEWAL
Salvatore A StensethJapanIvan Magalhaes PROPOSAL
Mujtaba N ChuiIndiaBernardo Dominic PROPOSAL
Isabel H BowleyJapanAsiya Javayant NEW
Chavez E CaldareraSpainXuxue Feng RENEWAL
Rodrigues Y RulapaughRussiaAnna Fali NEGOTIATION
Maisha T FerenczRussiaXuxue Feng NEGOTIATION
Morrow E WaycottAustraliaElwin Sharvill PROPOSAL
Johnson Z MaletUnited KingdomOnyama Limba NEGOTIATION
Johnson H RoysterBrazilAmy Elsner NEGOTIATION
Claire F PoquetteAustraliaStephen Shaw UNQUALIFIED
Deepesh B BowleyJapanOnyama Limba UNQUALIFIED
Juan D DoeFranceAmy Elsner PROPOSAL
Arvin Q VocelkaGermanyOnyama Limba UNQUALIFIED
Julie U OstroskyArgentinaIoni Bowcher UNQUALIFIED
James W VenereRussiaAmy Elsner UNQUALIFIED
Smith J DoeCanadaAmy Elsner PROPOSAL
Maisha U DilliardSpainAmy Elsner NEGOTIATION
Faith G SaylorsItalyElwin Sharvill QUALIFIED
Adams O MaletBrazilAnna Fali NEGOTIATION
Johnson X VocelkaJapanElwin Sharvill QUALIFIED
Greenwood M BriddickIndiaAnna Fali RENEWAL
Emily M GarufiRussiaElwin Sharvill RENEWAL
Mayumi X RimAustraliaElwin Sharvill PROPOSAL
Jones Q RoysterGermanyIoni Bowcher NEGOTIATION
Jeanfrancois H OstroskyFranceStephen Shaw PROPOSAL
Mayumi B GarufiIndiaAnna Fali UNQUALIFIED
Costa B TollnerUnited KingdomAnna Fali QUALIFIED
Clifford W FerenczFranceAmy Elsner RENEWAL
Tony H VocelkaJapanStephen Shaw UNQUALIFIED
Leja G KolmetzArgentinaXuxue Feng NEW

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