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
Alejandro N WieserArgentinaIvan Magalhaes QUALIFIED
Misaki M StockhamFranceAnna Fali NEW
Adams X ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Isabel G AlbaresRussiaOnyama Limba NEW
David V PoquetteIndiaAmy Elsner UNQUALIFIED
Smith F FollerArgentinaIvan Magalhaes PROPOSAL
Jefferson N StensethAustraliaXuxue Feng QUALIFIED
Kaitlin G AlbaresCanadaXuxue Feng PROPOSAL
Jefferson A InouyeBrazilOnyama Limba RENEWAL
Wickens V DarakjySpainXuxue Feng RENEWAL
Maria R BologniaFranceOnyama Limba QUALIFIED
Deepesh S DarakjyFranceAmy Elsner RENEWAL
Alejandro Z BologniaSpainAmy Elsner NEGOTIATION
Clifford H GauchoRussiaIoni Bowcher NEW
Johnson F WieserAustraliaElwin Sharvill RENEWAL
David H RimRussiaBernardo Dominic PROPOSAL
Izzy Y OldroydItalyAmy Elsner PROPOSAL
Jennifer Z ShinkoFranceIoni Bowcher PROPOSAL
Aditya X IturbideFranceStephen Shaw NEW
Emily O CampainIndiaIvan Magalhaes NEGOTIATION
Antonio B OstroskyFranceAnna Fali UNQUALIFIED
Nicolas M BriddickArgentinaOnyama Limba PROPOSAL
Maria D PoquetteRussiaBernardo Dominic QUALIFIED
Greenwood W ButtFranceAsiya Javayant NEW
Ashley X RoysterUnited KingdomStephen Shaw RENEWAL
Deepesh W WaycottFranceXuxue Feng NEW
Ivar I BowleyArgentinaAmy Elsner UNQUALIFIED
Antonio U MorascaItalyIoni Bowcher QUALIFIED
Leja D PerinBrazilIvan Magalhaes NEGOTIATION
Smith R TollnerGermanyOnyama Limba RENEWAL
Emily R KuskoGermanyAnna Fali NEGOTIATION
Claire L SchemmerUnited KingdomAsiya Javayant PROPOSAL
Kadeem W PaprockiJapanStephen Shaw QUALIFIED
Johnson D OstroskyAustraliaAnna Fali QUALIFIED
Ivar L OldroydArgentinaAnna Fali QUALIFIED
Nicolas W SaylorsAustraliaIvan Magalhaes RENEWAL
Mujtaba S ShinkoItalyXuxue Feng UNQUALIFIED
Costa V GauchoIndiaXuxue Feng QUALIFIED
Jefferson U AlbaresIndiaAmy Elsner NEW
David Y FigeroaArgentinaXuxue Feng QUALIFIED
Kaitlin Y SergiIndiaAsiya Javayant NEW
Antonio R PoquetteBrazilStephen Shaw PROPOSAL
Silvio X AlbaresIndiaIvan Magalhaes UNQUALIFIED
Johnson Z PerinBrazilAnna Fali NEW
Kadeem Q BriddickRussiaAmy Elsner NEW
Greenwood Y BologniaBrazilStephen Shaw UNQUALIFIED
Misaki K WaycottBrazilBernardo Dominic NEGOTIATION
Wickens N PerinRussiaBernardo Dominic NEGOTIATION
Rodrigues F BowleySpainIoni Bowcher NEW
Leja U TollnerCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem D BowleyBrazilAnna Fali RENEWAL
Smith D FigeroaIndiaOnyama Limba NEGOTIATION
Maria S WieserRussiaOnyama Limba RENEWAL
Johnson T AmigonJapanAsiya Javayant QUALIFIED
Isabel J WieserSpainAsiya Javayant RENEWAL
Johnson S AmigonSpainStephen Shaw NEW
Jones J KuskoBrazilIvan Magalhaes NEW
Juan T RutaCanadaElwin Sharvill PROPOSAL
Cody G RoysterAustraliaElwin Sharvill PROPOSAL
Maisha D NickaBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio A OldroydItaly2025-06-03Benton, John B Jr PROPOSAL96Anna Fali
1001Ricardo M ButtIndia2025-05-22Rangoni Of Florence PROPOSAL26Anna Fali
1002Darci V PaprockiItaly2025-06-15Chanay, Jeffrey A Esq PROPOSAL84Onyama Limba
1003Mayumi W ButtAustralia2025-06-08Dorl, James J Esq RENEWAL54Anna Fali
1004Rodrigues P InouyeGermany2025-06-10Chapman, Ross E Esq PROPOSAL13Bernardo Dominic
1005Julie Y BologniaItaly2025-05-21Rousseaux, Michael Esq NEW85Ivan Magalhaes
1006Kadeem M WieserJapan2025-06-01Dorl, James J Esq NEW80Elwin Sharvill
1007Octavia P CaldareraFrance2025-05-29Feltz Printing Service PROPOSAL98Asiya Javayant
1008Julie G StockhamBrazil2025-05-18Commercial Press RENEWAL69Elwin Sharvill
1009Stacey I GillianJapan2025-05-31Chemel, James L Cpa QUALIFIED64Bernardo Dominic
1010Izzy M FollerSpain2025-05-24King, Christopher A Esq NEGOTIATION98Elwin Sharvill
1011James Q OstroskyGermany2025-05-22Feltz Printing Service QUALIFIED24Ioni Bowcher
1012Alejandro F MarrierUnited Kingdom2025-05-23Commercial Press RENEWAL40Asiya Javayant
1013Aruna O MorascaGermany2025-06-11Morlong Associates QUALIFIED77Bernardo Dominic
1014Jefferson L DarakjyGermany2025-05-31Chemel, James L Cpa RENEWAL51Ivan Magalhaes
1015Adams W AlbaresRussia2025-05-28Printing Dimensions NEGOTIATION3Stephen Shaw
1016Jones F MaletSpain2025-06-10Dorl, James J Esq PROPOSAL52Bernardo Dominic
1017James K GauchoFrance2025-06-08Benton, John B Jr PROPOSAL13Onyama Limba
1018Cody I GarufiRussia2025-06-06Printing Dimensions PROPOSAL28Stephen Shaw
1019Mujtaba Z SlusarskiIndia2025-06-16Benton, John B Jr UNQUALIFIED31Xuxue Feng
1020Kadeem M KolmetzRussia2025-06-11Morlong Associates UNQUALIFIED32Xuxue Feng
1021Rodrigues A DilliardIndia2025-05-31Benton, John B Jr NEGOTIATION67Bernardo Dominic
1022Salvatore S KuskoArgentina2025-05-25Buckley Miller Wright NEW99Xuxue Feng
1023Clifford U MacleadSpain2025-06-06Rangoni Of Florence NEGOTIATION97Ivan Magalhaes
1024Ricardo X RoysterFrance2025-06-03Dorl, James J Esq PROPOSAL56Elwin Sharvill
1025Jennifer R ShinkoJapan2025-05-29Truhlar And Truhlar Attys QUALIFIED79Onyama Limba
1026Stacey D KuskoRussia2025-05-30Morlong Associates NEGOTIATION14Amy Elsner
1027Antonio O CaudyIndia2025-06-13Benton, John B Jr UNQUALIFIED51Stephen Shaw
1028Ashley O BowleyCanada2025-05-31Truhlar And Truhlar Attys NEW19Amy Elsner
1029Chavez Q OstroskyCanada2025-06-08Dorl, James J Esq PROPOSAL30Onyama Limba
1030Antonio Q SchemmerSpain2025-05-20Chapman, Ross E Esq PROPOSAL56Anna Fali
1031Octavia U BriddickJapan2025-05-18Dorl, James J Esq QUALIFIED98Ioni Bowcher
1032Octavia B RulapaughItaly2025-05-18Commercial Press UNQUALIFIED26Asiya Javayant
1033Octavia I FlosiFrance2025-05-20Printing Dimensions PROPOSAL41Stephen Shaw
1034Sinclair L ShinkoBrazil2025-06-13Feltz Printing Service QUALIFIED78Anna Fali
1035Aditya I FigeroaFrance2025-06-12Truhlar And Truhlar Attys UNQUALIFIED72Ioni Bowcher
1036Tony G CaudyCanada2025-06-11Commercial Press NEW4Bernardo Dominic
1037Greenwood S NestleSpain2025-06-12Truhlar And Truhlar Attys PROPOSAL6Ivan Magalhaes
1038Rodrigues Q PerinFrance2025-05-24Morlong Associates NEW61Amy Elsner
1039Deepesh B GillianUnited Kingdom2025-06-03Chapman, Ross E Esq NEGOTIATION41Ioni Bowcher
1040Izzy S KolmetzFrance2025-05-21Printing Dimensions NEW33Anna Fali
1041Izzy E MarrierAustralia2025-05-19Buckley Miller Wright RENEWAL87Anna Fali
1042Misaki Q InouyeUnited Kingdom2025-06-07Commercial Press UNQUALIFIED91Anna Fali
1043Deepesh X CampainSpain2025-05-24Truhlar And Truhlar Attys QUALIFIED30Bernardo Dominic
1044Greenwood X GarufiSpain2025-06-10Chanay, Jeffrey A Esq UNQUALIFIED38Bernardo Dominic
1045Faith Y PaprockiRussia2025-06-03Buckley Miller Wright QUALIFIED49Asiya Javayant
1046Jennifer D KuskoItaly2025-06-05Commercial Press PROPOSAL9Amy Elsner
1047Rodrigues V BriddickBrazil2025-05-27Dorl, James J Esq UNQUALIFIED23Anna Fali
1048Costa T WhobreySpain2025-06-03Morlong Associates RENEWAL96Onyama Limba
1049Claire C PoquetteIndia2025-06-02King, Christopher A Esq QUALIFIED6Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro V IturbideArgentinaOnyama Limba NEW
Morrow S DoeJapanIoni Bowcher NEW
Isabel H DilliardAustraliaBernardo Dominic UNQUALIFIED
Julie H AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas V SergiSpainIoni Bowcher RENEWAL
Jefferson W PaprockiAustraliaIoni Bowcher UNQUALIFIED
Jeanfrancois F FollerRussiaAsiya Javayant UNQUALIFIED
Tony P PaprockiUnited KingdomAnna Fali NEW
Darci U CaudyBrazilIoni Bowcher NEW
Darci I MorascaCanadaElwin Sharvill RENEWAL
Adams D SchemmerAustraliaAmy Elsner NEGOTIATION
Murillo O IturbideJapanIvan Magalhaes NEW
Maria D SaylorsCanadaStephen Shaw QUALIFIED
Jefferson K CaldareraAustraliaOnyama Limba PROPOSAL
Darci F SaylorsAustraliaAnna Fali PROPOSAL
Chavez B BowleyCanadaAnna Fali QUALIFIED
Johnson F ShinkoAustraliaBernardo Dominic UNQUALIFIED
Faith G RutaCanadaStephen Shaw RENEWAL
Alejandro D MacleadAustraliaIvan Magalhaes NEGOTIATION
Sinclair Z AmigonIndiaIoni Bowcher RENEWAL
Clifford A MacleadJapanXuxue Feng UNQUALIFIED
Smith I CaldareraAustraliaAnna Fali NEW
Antonio B DarakjyFranceBernardo Dominic NEGOTIATION
Maria L TollnerRussiaBernardo Dominic RENEWAL
Morrow F CampainCanadaElwin Sharvill NEGOTIATION
Leon Q NickaRussiaStephen Shaw NEGOTIATION
Cody J WaycottIndiaBernardo Dominic PROPOSAL
Jennifer T RimRussiaAsiya Javayant UNQUALIFIED
Morrow N FollerUnited KingdomStephen Shaw RENEWAL
Chavez W MacleadJapanIvan Magalhaes RENEWAL
Aruna U CaudyBrazilIoni Bowcher QUALIFIED
Nicolas D MarrierCanadaBernardo Dominic UNQUALIFIED
Ivar L DarakjyRussiaXuxue Feng NEGOTIATION
Tony T PoquetteAustraliaAmy Elsner PROPOSAL
Greenwood W AmigonFranceAnna Fali NEGOTIATION
Ashley H MacleadAustraliaAmy Elsner NEW
Kadeem L RutaBrazilAsiya Javayant NEW
Mujtaba Z ShinkoSpainOnyama Limba QUALIFIED
Murillo N RimArgentinaIoni Bowcher UNQUALIFIED
Rodrigues W BologniaItalyOnyama Limba NEW
Greenwood B OstroskyJapanAsiya Javayant PROPOSAL
Julie B TollnerItalyOnyama Limba NEGOTIATION
Morrow K PerinCanadaIvan Magalhaes UNQUALIFIED
Francesco A TollnerSpainStephen Shaw NEW
David B OldroydAustraliaOnyama Limba UNQUALIFIED
Jefferson O OstroskyArgentinaAsiya Javayant NEW
David M SaylorsCanadaIvan Magalhaes RENEWAL
Silvio W VenereCanadaAsiya Javayant NEW
Salvatore V VenereIndiaAmy Elsner QUALIFIED
Costa D StockhamAustraliaBernardo Dominic RENEWAL
Frozen Columns
Name
Deepesh V Saylors
Aika R Rulapaugh
Aika S Waycott
Chavez T Waycott
Mayumi I Paprocki
Faith N Foller
Mayumi C Slusarski
Munro Q Maclead
Faith O Paprocki
Aika Y Perin
Isabel K Dilliard
David M Campain
Clifford O Doe
Murillo B Sergi
Rodrigues J Maclead
David E Caldarera
Mujtaba Z Ostrosky
Maria D Dilliard
Johnson L Garufi
Darci C Kusko
Salvatore X Marrier
Ricardo M Bolognia
Antonio R Amigon
Aditya Q Shinko
Ricardo T Perin
Ricardo V Chui
Mayumi U Schemmer
Chavez I Malet
Ashley U Paprocki
Salvatore R Chui
Costa B Butt
Maisha I Slusarski
Cody W Ruta
Munro N Venere
Chavez U Waycott
Octavia C Caldarera
Clifford A Gillian
Francesco I Flosi
Rodrigues H Ferencz
Misaki I Glick
Jefferson Q Campain
Maria D Dilliard
Francesco P Stockham
Smith F Darakjy
Chavez L Malet
Tony K Sergi
Greenwood B Caldarera
Arvin J Ruta
Leja F Venere
Antonio K Waycott
IdCountryDate
1000Australia2025-06-11
1001Argentina2025-05-28
1002Argentina2025-06-11
1003Italy2025-06-04
1004Canada2025-05-27
1005Brazil2025-05-25
1006Brazil2025-06-16
1007United Kingdom2025-06-03
1008France2025-06-16
1009Germany2025-05-24
1010Brazil2025-06-02
1011United Kingdom2025-05-26
1012France2025-06-10
1013Argentina2025-05-21
1014India2025-06-14
1015Japan2025-05-19
1016Russia2025-05-24
1017Germany2025-06-06
1018United Kingdom2025-05-31
1019Japan2025-06-14
1020Brazil2025-05-22
1021Australia2025-05-21
1022Japan2025-06-08
1023Canada2025-06-01
1024Australia2025-06-01
1025Canada2025-06-01
1026France2025-06-11
1027Spain2025-05-18
1028Germany2025-05-30
1029United Kingdom2025-05-21
1030Brazil2025-05-25
1031Australia2025-05-30
1032Russia2025-05-25
1033United Kingdom2025-06-01
1034India2025-05-22
1035Germany2025-06-09
1036Japan2025-06-03
1037Italy2025-05-22
1038Spain2025-06-02
1039Germany2025-05-28
1040Australia2025-05-29
1041Japan2025-05-22
1042France2025-06-04
1043Spain2025-06-04
1044France2025-06-07
1045Spain2025-06-11
1046Argentina2025-05-22
1047Germany2025-06-14
1048Spain2025-05-31
1049France2025-05-28

On-Demand Data

NameIdCountryDate
Jones K Vocelka1000Canada2025-06-06
Kaitlin D Wieser1001Spain2025-06-14
Mujtaba N Marrier1002Spain2025-05-28
Aika B Whobrey1003Brazil2025-05-26
Kaitlin D Amigon1004United Kingdom2025-05-29
Juan J Royster1005Italy2025-06-16
Murillo G Bolognia1006Spain2025-05-21
Aditya M Dilliard1007Canada2025-06-12
Kaitlin W Ostrosky1008Russia2025-06-07
David M Dilliard1009Australia2025-06-14
Johnson W Amigon1010Spain2025-05-28
Murillo G Shinko1011India2025-05-25
Cody R Venere1012Canada2025-05-24
Jennifer J Chui1013Canada2025-05-28
Salvatore Z Dilliard1014Russia2025-06-14
Ivar D Marrier1015United Kingdom2025-06-15
Sinclair F Campain1016Brazil2025-06-07
Maria B Royster1017Russia2025-06-07
Mujtaba S Stockham1018Russia2025-05-23
Jeanfrancois U Stockham1019Spain2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony K ChuiGermanyOnyama Limba PROPOSAL
David M StensethUnited KingdomOnyama Limba NEGOTIATION
James N PaprockiSpainIoni Bowcher UNQUALIFIED
Maisha U FigeroaItalyElwin Sharvill QUALIFIED
Leja F DarakjyRussiaAmy Elsner NEW
Stacey D WieserGermanyAmy Elsner RENEWAL
Murillo J BologniaFranceOnyama Limba NEW
Isabel Y PerinUnited KingdomElwin Sharvill PROPOSAL
Darci W SlusarskiAustraliaAnna Fali RENEWAL
Arvin S WieserAustraliaStephen Shaw QUALIFIED
Faith V CaldareraRussiaOnyama Limba NEW
Nicolas D ShinkoFranceAmy Elsner NEGOTIATION
Jones S KuskoJapanAnna Fali PROPOSAL
Alejandro A SaylorsItalyIvan Magalhaes QUALIFIED
Darci H FerenczCanadaElwin Sharvill NEGOTIATION
Jones X PerinIndiaBernardo Dominic RENEWAL
Tony N FollerIndiaAmy Elsner NEGOTIATION
Clifford N FlosiItalyAnna Fali RENEWAL
Johnson H GillianIndiaXuxue Feng UNQUALIFIED
Rodrigues T ShinkoGermanyOnyama Limba NEGOTIATION
Greenwood G FerenczSpainAmy Elsner NEGOTIATION
Kadeem V FerenczFranceAnna Fali NEW
Munro K PerinGermanyIoni Bowcher PROPOSAL
Smith W WieserBrazilStephen Shaw PROPOSAL
Ivar A PerinJapanAnna Fali NEW
Johnson H RutaJapanElwin Sharvill NEW
Rodrigues G RimSpainOnyama Limba NEGOTIATION
Octavia A PoquetteGermanyAnna Fali PROPOSAL
Maria N DarakjyBrazilIvan Magalhaes NEW
Mayumi D FlosiBrazilAnna Fali QUALIFIED
Nicolas P RoysterJapanAmy Elsner PROPOSAL
Leon F StensethIndiaStephen Shaw QUALIFIED
Wickens E CaldareraSpainBernardo Dominic RENEWAL
Ivar H MarrierBrazilStephen Shaw UNQUALIFIED
Wickens S MorascaAustraliaElwin Sharvill NEGOTIATION
Nicolas A BowleyJapanOnyama Limba PROPOSAL
Misaki K TollnerCanadaOnyama Limba QUALIFIED
Smith D FlosiCanadaBernardo Dominic NEGOTIATION
Stacey P IturbideRussiaAmy Elsner NEW
Juan L WieserArgentinaElwin Sharvill 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>