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
Sinclair T SaylorsFranceXuxue Feng NEW
Emily F StensethJapanAsiya Javayant UNQUALIFIED
Jennifer C InouyeRussiaXuxue Feng UNQUALIFIED
Wickens S PaprockiJapanElwin Sharvill QUALIFIED
Leon J AlbaresItalyXuxue Feng UNQUALIFIED
Aruna J RimJapanAsiya Javayant PROPOSAL
Tony C VenereGermanyElwin Sharvill PROPOSAL
Isabel O FigeroaSpainAmy Elsner UNQUALIFIED
Ivar R KolmetzItalyOnyama Limba NEW
Aika G VenereIndiaAmy Elsner PROPOSAL
Juan S MaletBrazilAmy Elsner PROPOSAL
Maria F MacleadGermanyIvan Magalhaes QUALIFIED
David K DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Tony A MaletJapanXuxue Feng NEGOTIATION
Costa V MacleadCanadaAnna Fali NEW
James H AlbaresItalyXuxue Feng RENEWAL
Salvatore A FollerRussiaStephen Shaw NEGOTIATION
Juan W MacleadIndiaIoni Bowcher PROPOSAL
Munro N StensethCanadaAmy Elsner QUALIFIED
David R RulapaughIndiaAmy Elsner RENEWAL
Ashley T InouyeGermanyAsiya Javayant PROPOSAL
Clifford K IturbideGermanyBernardo Dominic QUALIFIED
Murillo U GlickRussiaXuxue Feng RENEWAL
Ivar D SergiRussiaElwin Sharvill NEGOTIATION
Tony C GarufiItalyOnyama Limba NEGOTIATION
Morrow X RulapaughGermanyAnna Fali QUALIFIED
Murillo O StensethSpainElwin Sharvill QUALIFIED
Stacey G ShinkoJapanAnna Fali NEGOTIATION
Faith U CaudyAustraliaAsiya Javayant PROPOSAL
Arvin F GauchoBrazilStephen Shaw NEW
Darci R ChuiIndiaOnyama Limba RENEWAL
Deepesh X IturbideRussiaAnna Fali UNQUALIFIED
Jefferson V KuskoRussiaOnyama Limba NEW
Leon J MaletCanadaBernardo Dominic RENEWAL
Morrow D WieserCanadaAnna Fali UNQUALIFIED
Emily W RutaSpainIvan Magalhaes NEW
Deepesh M BriddickBrazilOnyama Limba QUALIFIED
Murillo X InouyeCanadaIvan Magalhaes UNQUALIFIED
Leon C TollnerSpainIoni Bowcher PROPOSAL
Jeanfrancois A KolmetzRussiaAsiya Javayant QUALIFIED
Jones O PoquetteCanadaIoni Bowcher UNQUALIFIED
Aditya R KuskoArgentinaAmy Elsner NEGOTIATION
Aruna L DarakjyBrazilElwin Sharvill NEGOTIATION
Mayumi E WieserSpainAsiya Javayant UNQUALIFIED
Munro S VenereJapanAnna Fali UNQUALIFIED
Rodrigues S SergiJapanIoni Bowcher PROPOSAL
Misaki H AmigonArgentinaAmy Elsner UNQUALIFIED
Sinclair N RutaAustraliaAmy Elsner NEGOTIATION
Johnson I GlickRussiaBernardo Dominic NEW
Silvio Z TollnerUnited KingdomAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia N MorascaAustraliaStephen Shaw PROPOSAL
Jeanfrancois E FerenczCanadaXuxue Feng NEW
Cody L FollerArgentinaStephen Shaw PROPOSAL
Costa U TollnerJapanAnna Fali UNQUALIFIED
Wickens M KuskoIndiaIvan Magalhaes UNQUALIFIED
Adams E CampainSpainXuxue Feng RENEWAL
Isabel W CampainCanadaBernardo Dominic UNQUALIFIED
Morrow X FlosiBrazilStephen Shaw UNQUALIFIED
Rodrigues G GillianIndiaOnyama Limba UNQUALIFIED
Clifford M WieserIndiaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson O GarufiFrance2024-09-21Truhlar And Truhlar Attys NEGOTIATION82Elwin Sharvill
1001Aditya C ChuiAustralia2024-09-16Dorl, James J Esq QUALIFIED92Onyama Limba
1002Silvio Y SaylorsArgentina2024-08-28Morlong Associates NEW91Bernardo Dominic
1003Arvin K OstroskyAustralia2024-09-20King, Christopher A Esq RENEWAL84Asiya Javayant
1004James Y DoeArgentina2024-08-27Dorl, James J Esq NEGOTIATION67Elwin Sharvill
1005Ashley L MacleadUnited Kingdom2024-09-22Commercial Press UNQUALIFIED37Xuxue Feng
1006Aika D MacleadRussia2024-09-01King, Christopher A Esq NEW89Stephen Shaw
1007Jefferson Z FollerItaly2024-08-29Rangoni Of Florence UNQUALIFIED13Anna Fali
1008Aika L FlosiUnited Kingdom2024-09-04Benton, John B Jr PROPOSAL25Anna Fali
1009Julie F NestleFrance2024-09-18Chapman, Ross E Esq NEGOTIATION40Ivan Magalhaes
1010Antonio H NestleCanada2024-09-18Buckley Miller Wright PROPOSAL1Asiya Javayant
1011Deepesh P CampainJapan2024-08-28Chanay, Jeffrey A Esq QUALIFIED19Xuxue Feng
1012Greenwood I ButtGermany2024-08-24King, Christopher A Esq NEW8Asiya Javayant
1013Maria J RimUnited Kingdom2024-09-10Benton, John B Jr RENEWAL18Amy Elsner
1014Emily Q WaycottCanada2024-09-15Chanay, Jeffrey A Esq NEW20Stephen Shaw
1015Ashley J PoquetteCanada2024-09-09Rangoni Of Florence RENEWAL15Stephen Shaw
1016Jeanfrancois K IturbideJapan2024-09-06Printing Dimensions QUALIFIED83Anna Fali
1017Leja C StensethItaly2024-09-22King, Christopher A Esq NEW46Asiya Javayant
1018Mujtaba Y DoeAustralia2024-08-30Commercial Press NEW85Bernardo Dominic
1019Juan U SergiItaly2024-08-29Dorl, James J Esq RENEWAL36Ivan Magalhaes
1020Jennifer I CaldareraArgentina2024-09-21Feltz Printing Service NEGOTIATION61Ivan Magalhaes
1021Jeanfrancois G VenereAustralia2024-08-26Feltz Printing Service QUALIFIED89Bernardo Dominic
1022Leon X MaletGermany2024-08-27Chapman, Ross E Esq RENEWAL14Asiya Javayant
1023Clifford D DarakjySpain2024-09-09Commercial Press UNQUALIFIED82Ivan Magalhaes
1024Misaki A NestleGermany2024-09-06King, Christopher A Esq RENEWAL83Elwin Sharvill
1025Murillo R AlbaresRussia2024-09-02Buckley Miller Wright PROPOSAL81Onyama Limba
1026Jennifer F SlusarskiSpain2024-09-01King, Christopher A Esq QUALIFIED94Bernardo Dominic
1027Murillo S KolmetzBrazil2024-09-04Benton, John B Jr UNQUALIFIED33Elwin Sharvill
1028Wickens D BologniaIndia2024-08-27Truhlar And Truhlar Attys PROPOSAL4Xuxue Feng
1029Francesco Q AmigonIndia2024-09-15Dorl, James J Esq NEW18Stephen Shaw
1030Adams T FerenczBrazil2024-09-10Chapman, Ross E Esq QUALIFIED99Stephen Shaw
1031Alejandro E BowleyFrance2024-09-18Rangoni Of Florence QUALIFIED71Amy Elsner
1032Cody N RimJapan2024-08-29King, Christopher A Esq NEW91Elwin Sharvill
1033Darci I CaldareraJapan2024-09-16Morlong Associates NEW61Elwin Sharvill
1034Murillo K PerinUnited Kingdom2024-09-10Printing Dimensions NEW74Elwin Sharvill
1035Isabel V RimFrance2024-09-08Commercial Press UNQUALIFIED17Ivan Magalhaes
1036Leja C GlickItaly2024-09-01Printing Dimensions RENEWAL72Anna Fali
1037Octavia W FlosiRussia2024-09-13Feiner Bros UNQUALIFIED59Onyama Limba
1038Adams V SaylorsArgentina2024-09-05Chapman, Ross E Esq NEGOTIATION44Anna Fali
1039Isabel O SergiItaly2024-09-12Printing Dimensions RENEWAL55Bernardo Dominic
1040Izzy M MorascaItaly2024-09-07Morlong Associates RENEWAL34Amy Elsner
1041Jones I OldroydItaly2024-09-13Benton, John B Jr QUALIFIED24Elwin Sharvill
1042Mayumi J MarrierCanada2024-08-30Truhlar And Truhlar Attys NEGOTIATION7Onyama Limba
1043Maisha I NickaGermany2024-09-06Commercial Press UNQUALIFIED88Ioni Bowcher
1044Salvatore A DoeAustralia2024-09-14Dorl, James J Esq UNQUALIFIED39Xuxue Feng
1045Jefferson R SlusarskiUnited Kingdom2024-09-03Feltz Printing Service NEGOTIATION71Asiya Javayant
1046Aruna Z MaletArgentina2024-09-21Buckley Miller Wright RENEWAL14Stephen Shaw
1047Antonio V BowleyGermany2024-09-21Feltz Printing Service UNQUALIFIED71Stephen Shaw
1048Darci X MacleadUnited Kingdom2024-09-07Feiner Bros RENEWAL44Elwin Sharvill
1049Emily T CaudyCanada2024-09-05Rousseaux, Michael Esq UNQUALIFIED77Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire T RutaSpainAmy Elsner PROPOSAL
Maria J MaletItalyElwin Sharvill NEGOTIATION
Adams B StockhamAustraliaIoni Bowcher QUALIFIED
Francesco P BologniaBrazilAnna Fali UNQUALIFIED
Octavia F FerenczBrazilAnna Fali NEW
Salvatore U CampainBrazilXuxue Feng UNQUALIFIED
Kaitlin F WaycottRussiaOnyama Limba NEGOTIATION
Nicolas V NickaBrazilXuxue Feng UNQUALIFIED
Maria W DilliardBrazilAsiya Javayant QUALIFIED
Nicolas Q SlusarskiArgentinaIoni Bowcher PROPOSAL
Cody I RoysterFranceAnna Fali NEW
Isabel W StockhamGermanyStephen Shaw UNQUALIFIED
Murillo H SaylorsRussiaXuxue Feng RENEWAL
Smith V StockhamRussiaAnna Fali NEGOTIATION
Johnson X BriddickFranceElwin Sharvill QUALIFIED
Faith W BologniaBrazilStephen Shaw NEW
Faith I ChuiUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba A FigeroaItalyElwin Sharvill NEGOTIATION
Leon M SchemmerCanadaIoni Bowcher NEGOTIATION
Mayumi E SchemmerCanadaBernardo Dominic QUALIFIED
Aika W NestleRussiaXuxue Feng QUALIFIED
Francesco G ChuiRussiaXuxue Feng NEW
Emily O SaylorsUnited KingdomOnyama Limba NEW
Ashley Y NickaGermanyStephen Shaw NEW
Smith X DoeIndiaXuxue Feng NEGOTIATION
Wickens K NickaCanadaBernardo Dominic PROPOSAL
Wickens B AlbaresIndiaBernardo Dominic QUALIFIED
Jeanfrancois X SergiFranceXuxue Feng PROPOSAL
Jones L BologniaJapanIoni Bowcher NEGOTIATION
Francesco H ButtItalyElwin Sharvill PROPOSAL
Kadeem B GillianAustraliaAnna Fali PROPOSAL
Adams S StensethFranceIoni Bowcher UNQUALIFIED
Kadeem X TollnerRussiaAmy Elsner QUALIFIED
Juan V FollerFranceIoni Bowcher PROPOSAL
Mujtaba R KuskoJapanAsiya Javayant PROPOSAL
Aika S GillianItalyIvan Magalhaes NEW
Faith D ButtRussiaAnna Fali QUALIFIED
Leja G NestleSpainIoni Bowcher UNQUALIFIED
Emily I SlusarskiBrazilAsiya Javayant NEGOTIATION
Ivar V IturbideBrazilAmy Elsner NEGOTIATION
Antonio U DoeCanadaAnna Fali UNQUALIFIED
Silvio G BowleyArgentinaAnna Fali PROPOSAL
Sinclair K BowleyArgentinaBernardo Dominic UNQUALIFIED
Sinclair F ButtItalyOnyama Limba NEGOTIATION
Claire O DoeSpainAsiya Javayant QUALIFIED
Kadeem Y ShinkoIndiaIvan Magalhaes NEGOTIATION
Tony R RutaFranceXuxue Feng NEGOTIATION
Johnson N ButtSpainAsiya Javayant QUALIFIED
Leon E BowleyIndiaAnna Fali UNQUALIFIED
Kadeem W ShinkoJapanOnyama Limba NEGOTIATION
Frozen Columns
Name
Jeanfrancois B Gaucho
Isabel Z Foller
Sinclair L Wieser
Aruna Y Campain
Morrow C Ostrosky
Smith V Perin
Adams Y Maclead
Greenwood Y Ferencz
Morrow Q Dilliard
Isabel Z Albares
Misaki C Butt
Jennifer H Chui
Morrow N Figeroa
Alejandro W Flosi
Mayumi M Wieser
Aditya H Nicka
Faith C Caudy
Ivar U Oldroyd
Kaitlin F Poquette
Ricardo M Vocelka
Salvatore T Glick
Aditya R Flosi
Rodrigues E Slusarski
James O Malet
Silvio O Amigon
Ashley Y Kusko
James Z Royster
Octavia Y Iturbide
Adams U Schemmer
Maria I Albares
Jones V Rim
David Q Whobrey
Juan P Ruta
Smith A Nicka
Arvin U Nestle
Octavia D Whobrey
Salvatore V Perin
Jennifer G Waycott
Murillo I Stenseth
Johnson F Dilliard
Rodrigues U Oldroyd
Morrow K Poquette
Mayumi K Inouye
David R Stockham
Silvio J Shinko
Johnson P Inouye
Salvatore A Amigon
Murillo A Royster
Izzy X Poquette
Jefferson T Doe
IdCountryDate
1000Australia2024-08-30
1001Spain2024-09-19
1002India2024-08-24
1003Germany2024-09-17
1004Italy2024-09-03
1005Canada2024-09-22
1006Australia2024-09-21
1007Spain2024-09-19
1008Russia2024-09-10
1009Germany2024-09-13
1010Spain2024-09-09
1011Japan2024-08-28
1012United Kingdom2024-08-29
1013Australia2024-09-19
1014Italy2024-09-12
1015Canada2024-09-09
1016Russia2024-09-13
1017India2024-08-27
1018Australia2024-09-01
1019Australia2024-09-08
1020Japan2024-08-25
1021Spain2024-09-14
1022Germany2024-09-19
1023United Kingdom2024-09-01
1024Russia2024-08-29
1025Germany2024-08-28
1026Brazil2024-09-10
1027Australia2024-08-31
1028Germany2024-09-18
1029Japan2024-09-01
1030Italy2024-08-30
1031Australia2024-09-01
1032Australia2024-09-04
1033France2024-09-17
1034France2024-09-07
1035Italy2024-09-04
1036France2024-08-30
1037Spain2024-09-22
1038Argentina2024-09-11
1039Canada2024-08-25
1040Russia2024-08-25
1041Australia2024-09-02
1042Russia2024-09-12
1043Germany2024-09-20
1044Russia2024-09-02
1045Spain2024-09-11
1046Spain2024-09-13
1047India2024-09-01
1048India2024-08-26
1049France2024-09-02

On-Demand Data

NameIdCountryDate
Stacey F Rim1000Canada2024-09-19
Jefferson E Rim1001Germany2024-09-03
Jennifer Q Malet1002Australia2024-09-12
Johnson B Tollner1003Russia2024-09-20
Jones J Waycott1004Germany2024-09-15
Smith Z Kusko1005France2024-09-01
Ashley X Butt1006United Kingdom2024-08-27
Wickens D Campain1007Italy2024-08-31
Rodrigues S Sergi1008India2024-09-18
Jennifer P Malet1009Germany2024-08-24
Morrow Z Venere1010France2024-09-02
Murillo C Briddick1011France2024-09-05
Silvio D Albares1012India2024-09-13
Aditya Q Rulapaugh1013Brazil2024-09-04
Antonio N Ruta1014Italy2024-08-31
Cody S Saylors1015Brazil2024-08-26
Greenwood G Tollner1016Australia2024-09-13
Johnson K Schemmer1017Brazil2024-08-31
Jeanfrancois R Nestle1018Argentina2024-09-05
Aruna T Malet1019Canada2024-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki F RimUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh A MorascaSpainAmy Elsner NEGOTIATION
Costa V VenereArgentinaStephen Shaw QUALIFIED
Leon K PaprockiFranceIoni Bowcher NEW
Juan D VenereItalyIoni Bowcher PROPOSAL
Johnson Q StensethArgentinaAnna Fali UNQUALIFIED
Isabel I CaudyArgentinaIvan Magalhaes NEGOTIATION
Ashley Y DarakjyBrazilAnna Fali NEW
Antonio J NestleJapanAmy Elsner NEGOTIATION
Julie J SlusarskiRussiaAsiya Javayant NEW
Kadeem F ShinkoBrazilOnyama Limba RENEWAL
Alejandro J SlusarskiFranceXuxue Feng QUALIFIED
Nicolas J AlbaresIndiaAsiya Javayant UNQUALIFIED
Wickens Y TollnerAustraliaElwin Sharvill QUALIFIED
Jefferson M SergiSpainAmy Elsner PROPOSAL
Jefferson L MaletSpainAmy Elsner RENEWAL
Tony S ChuiUnited KingdomIoni Bowcher NEGOTIATION
Arvin Y NestleUnited KingdomXuxue Feng PROPOSAL
Leon S MorascaArgentinaXuxue Feng NEGOTIATION
Arvin V VenereIndiaAnna Fali QUALIFIED
Salvatore I DilliardGermanyXuxue Feng QUALIFIED
Jennifer M OstroskyItalyAnna Fali UNQUALIFIED
Maisha B DilliardGermanyIoni Bowcher NEW
Ashley S ChuiAustraliaAmy Elsner PROPOSAL
Alejandro I NickaAustraliaBernardo Dominic NEW
Emily G MorascaIndiaIvan Magalhaes QUALIFIED
Cody U MaletUnited KingdomElwin Sharvill QUALIFIED
Mayumi I RutaSpainXuxue Feng RENEWAL
Salvatore G MaletBrazilBernardo Dominic RENEWAL
Jennifer N MaletCanadaBernardo Dominic NEGOTIATION
Johnson Y CaudyFranceElwin Sharvill RENEWAL
Leja V CaudyBrazilBernardo Dominic UNQUALIFIED
Tony B WaycottAustraliaElwin Sharvill UNQUALIFIED
Faith L RutaCanadaXuxue Feng RENEWAL
Salvatore M MaletIndiaAmy Elsner NEW
Faith H NickaArgentinaElwin Sharvill NEW
Leon O PoquetteUnited KingdomIvan Magalhaes RENEWAL
Ricardo G VocelkaIndiaIoni Bowcher UNQUALIFIED
Aika Z RutaFranceAsiya Javayant UNQUALIFIED
Tony B SchemmerIndiaIoni 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>