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
Mayumi R StockhamCanadaOnyama Limba RENEWAL
Aruna L ButtJapanXuxue Feng PROPOSAL
Ivar U FigeroaSpainOnyama Limba QUALIFIED
Tony O ShinkoFranceOnyama Limba RENEWAL
Aruna U StensethAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois R ButtUnited KingdomIoni Bowcher RENEWAL
Julie B StensethIndiaAnna Fali QUALIFIED
Maria D IturbideSpainBernardo Dominic RENEWAL
Mayumi B NestleCanadaAsiya Javayant NEW
Kadeem Z ShinkoArgentinaAsiya Javayant RENEWAL
Greenwood E NestleRussiaIoni Bowcher PROPOSAL
Wickens Q VocelkaJapanBernardo Dominic QUALIFIED
Murillo W SchemmerBrazilAmy Elsner NEGOTIATION
Claire R SlusarskiJapanIoni Bowcher PROPOSAL
Kadeem T StensethJapanIoni Bowcher UNQUALIFIED
Maria E StockhamUnited KingdomAmy Elsner NEW
Chavez O CampainRussiaIvan Magalhaes QUALIFIED
Johnson B MarrierArgentinaElwin Sharvill RENEWAL
Kadeem O VocelkaItalyAmy Elsner UNQUALIFIED
Maria Z KuskoBrazilBernardo Dominic RENEWAL
Julie M BowleyBrazilIvan Magalhaes NEW
Izzy P DilliardSpainOnyama Limba RENEWAL
Arvin C PaprockiGermanyAsiya Javayant RENEWAL
Alejandro B RimAustraliaOnyama Limba RENEWAL
Tony Q TollnerUnited KingdomIvan Magalhaes NEGOTIATION
Juan D WieserAustraliaXuxue Feng NEW
Aruna X IturbideBrazilIvan Magalhaes NEGOTIATION
Francesco T GlickFranceElwin Sharvill NEW
Leon W WaycottArgentinaAnna Fali NEW
Munro W PaprockiRussiaAnna Fali PROPOSAL
Ivar S SergiItalyXuxue Feng PROPOSAL
Stacey O GauchoJapanStephen Shaw UNQUALIFIED
Aika Q StockhamItalyOnyama Limba UNQUALIFIED
Tony L CampainGermanyBernardo Dominic UNQUALIFIED
Ashley W WaycottFranceAsiya Javayant NEW
Maisha L PoquetteUnited KingdomIvan Magalhaes NEW
Jones R RutaArgentinaBernardo Dominic RENEWAL
Claire S NestleBrazilIvan Magalhaes UNQUALIFIED
Kaitlin N ChuiUnited KingdomAnna Fali UNQUALIFIED
Murillo N DoeFranceStephen Shaw RENEWAL
James V AmigonUnited KingdomAsiya Javayant PROPOSAL
Wickens M DilliardCanadaIvan Magalhaes QUALIFIED
Clifford R StockhamItalyAnna Fali PROPOSAL
Maria W MacleadFranceStephen Shaw QUALIFIED
Francesco H BriddickIndiaBernardo Dominic PROPOSAL
Aditya X BriddickJapanIvan Magalhaes QUALIFIED
Sinclair K TollnerSpainStephen Shaw NEGOTIATION
Munro J WhobreyIndiaAnna Fali NEW
Isabel F RoysterAustraliaXuxue Feng NEGOTIATION
David L KuskoGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore F FlosiSpainIvan Magalhaes NEGOTIATION
Jefferson S WieserUnited KingdomIoni Bowcher UNQUALIFIED
Claire I FigeroaCanadaBernardo Dominic PROPOSAL
Wickens Q AlbaresFranceXuxue Feng PROPOSAL
Wickens J FigeroaJapanIoni Bowcher NEGOTIATION
Kadeem O StensethArgentinaElwin Sharvill QUALIFIED
Leja H WaycottBrazilIoni Bowcher QUALIFIED
Adams Y DilliardCanadaBernardo Dominic RENEWAL
David J WhobreyJapanAsiya Javayant NEW
Leon O WieserJapanAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya R MorascaBrazil2024-06-08Buckley Miller Wright PROPOSAL88Stephen Shaw
1001Emily J RimGermany2024-06-09Feiner Bros RENEWAL95Onyama Limba
1002Darci I DoeItaly2024-05-27Feiner Bros NEW79Asiya Javayant
1003Isabel L SaylorsRussia2024-06-11Feiner Bros QUALIFIED48Asiya Javayant
1004Rodrigues H PoquetteFrance2024-06-09Feiner Bros RENEWAL72Amy Elsner
1005Juan P RulapaughUnited Kingdom2024-06-02Dorl, James J Esq QUALIFIED20Stephen Shaw
1006Jefferson T NestleBrazil2024-06-11Chemel, James L Cpa UNQUALIFIED24Onyama Limba
1007James B VocelkaBrazil2024-06-15Rousseaux, Michael Esq UNQUALIFIED86Ivan Magalhaes
1008Arvin E PaprockiJapan2024-06-13King, Christopher A Esq NEW47Amy Elsner
1009Sinclair O RimItaly2024-06-09Feltz Printing Service NEGOTIATION47Bernardo Dominic
1010Aruna G MaletUnited Kingdom2024-06-03King, Christopher A Esq PROPOSAL50Stephen Shaw
1011Jefferson Y AlbaresSpain2024-05-28Commercial Press NEGOTIATION91Anna Fali
1012Maria X SlusarskiUnited Kingdom2024-06-17Buckley Miller Wright RENEWAL92Ivan Magalhaes
1013Adams L MarrierJapan2024-06-16Morlong Associates NEGOTIATION78Elwin Sharvill
1014Munro L VocelkaAustralia2024-05-28Feltz Printing Service QUALIFIED33Asiya Javayant
1015Mujtaba T CaldareraSpain2024-06-11Rousseaux, Michael Esq NEW16Amy Elsner
1016Wickens T MorascaUnited Kingdom2024-06-23Truhlar And Truhlar Attys UNQUALIFIED7Onyama Limba
1017Deepesh Y GauchoFrance2024-05-31Rangoni Of Florence QUALIFIED2Amy Elsner
1018Wickens Y BriddickArgentina2024-06-09Benton, John B Jr PROPOSAL53Amy Elsner
1019Aika U OstroskyGermany2024-06-19Feltz Printing Service RENEWAL38Ivan Magalhaes
1020Wickens F MacleadFrance2024-06-11Benton, John B Jr UNQUALIFIED37Elwin Sharvill
1021Mayumi D FlosiGermany2024-06-19Morlong Associates NEGOTIATION17Stephen Shaw
1022Aruna P DarakjyItaly2024-06-04Commercial Press UNQUALIFIED96Anna Fali
1023David P NestleBrazil2024-06-20Printing Dimensions RENEWAL89Elwin Sharvill
1024Aditya W MarrierUnited Kingdom2024-05-29Rousseaux, Michael Esq RENEWAL44Asiya Javayant
1025Julie L RutaIndia2024-06-04Feltz Printing Service QUALIFIED91Xuxue Feng
1026Antonio Z CaldareraCanada2024-05-31Commercial Press NEW45Ivan Magalhaes
1027Faith R StensethJapan2024-06-18Dorl, James J Esq NEW0Stephen Shaw
1028Morrow M BriddickFrance2024-05-31Printing Dimensions UNQUALIFIED12Onyama Limba
1029Smith E MorascaIndia2024-06-18Truhlar And Truhlar Attys UNQUALIFIED42Ivan Magalhaes
1030Johnson K MacleadSpain2024-05-30Rousseaux, Michael Esq NEGOTIATION14Ioni Bowcher
1031Jones M WieserBrazil2024-05-31King, Christopher A Esq RENEWAL96Ioni Bowcher
1032Salvatore H KolmetzGermany2024-06-16Buckley Miller Wright NEW54Elwin Sharvill
1033Stacey R MorascaItaly2024-06-23Dorl, James J Esq UNQUALIFIED72Asiya Javayant
1034Maria P WhobreySpain2024-06-09Buckley Miller Wright RENEWAL49Elwin Sharvill
1035Ivar R SergiIndia2024-05-30Rousseaux, Michael Esq PROPOSAL21Xuxue Feng
1036Arvin W SchemmerFrance2024-05-25Feiner Bros NEW21Stephen Shaw
1037Smith Z SergiCanada2024-06-06Printing Dimensions UNQUALIFIED97Xuxue Feng
1038Leon W MaletCanada2024-06-19Rangoni Of Florence QUALIFIED28Asiya Javayant
1039Cody V MarrierSpain2024-06-01Morlong Associates PROPOSAL16Amy Elsner
1040Morrow Q CampainGermany2024-06-04Buckley Miller Wright PROPOSAL78Anna Fali
1041Emily H DilliardCanada2024-06-04Feiner Bros NEW29Xuxue Feng
1042Misaki B MaletItaly2024-05-29Chanay, Jeffrey A Esq RENEWAL11Stephen Shaw
1043Arvin F RoysterUnited Kingdom2024-06-06Dorl, James J Esq PROPOSAL35Amy Elsner
1044Alejandro H InouyeFrance2024-05-29Buckley Miller Wright NEGOTIATION51Asiya Javayant
1045Deepesh I OstroskyUnited Kingdom2024-06-10Dorl, James J Esq NEW34Ioni Bowcher
1046Kaitlin C IturbideCanada2024-06-05Printing Dimensions NEW84Xuxue Feng
1047Costa M PerinItaly2024-06-03Chapman, Ross E Esq NEGOTIATION69Amy Elsner
1048Izzy R StockhamCanada2024-06-18Printing Dimensions RENEWAL45Amy Elsner
1049Leja C GlickBrazil2024-06-11Chanay, Jeffrey A Esq NEGOTIATION13Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro P GillianCanadaBernardo Dominic RENEWAL
Isabel F StensethJapanAsiya Javayant NEGOTIATION
Octavia H MaletUnited KingdomAnna Fali RENEWAL
Sinclair C DilliardGermanyAnna Fali NEW
Ricardo Q IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Leon G OldroydRussiaAnna Fali UNQUALIFIED
Maria I DarakjySpainIvan Magalhaes PROPOSAL
Aika H WhobreyBrazilIoni Bowcher UNQUALIFIED
Ashley N CampainGermanyStephen Shaw NEW
Jennifer W OstroskyRussiaBernardo Dominic NEW
Wickens E IturbideGermanyAnna Fali QUALIFIED
Jefferson W StockhamFranceAnna Fali NEGOTIATION
Claire R ShinkoBrazilIvan Magalhaes PROPOSAL
Leja U WaycottUnited KingdomBernardo Dominic RENEWAL
Jefferson V RoysterUnited KingdomStephen Shaw PROPOSAL
Johnson F CampainItalyIvan Magalhaes UNQUALIFIED
Stacey M ChuiSpainStephen Shaw NEGOTIATION
Cody K VenereCanadaAsiya Javayant RENEWAL
Maisha I TollnerBrazilAsiya Javayant UNQUALIFIED
Deepesh J MarrierItalyAnna Fali PROPOSAL
Adams Y MacleadSpainOnyama Limba NEGOTIATION
Adams P VenereIndiaOnyama Limba QUALIFIED
Clifford H PoquetteJapanAsiya Javayant UNQUALIFIED
Antonio D CampainJapanAnna Fali NEW
Leja V InouyeUnited KingdomOnyama Limba NEGOTIATION
Emily Q WaycottArgentinaIoni Bowcher QUALIFIED
Munro C MorascaCanadaAmy Elsner RENEWAL
Ivar U PaprockiItalyBernardo Dominic PROPOSAL
Antonio F CaudyItalyIoni Bowcher QUALIFIED
Octavia K StensethAustraliaXuxue Feng UNQUALIFIED
Johnson H GauchoFranceXuxue Feng NEGOTIATION
Darci N GauchoIndiaIvan Magalhaes NEW
Aika M AmigonJapanAmy Elsner PROPOSAL
Costa H InouyeUnited KingdomXuxue Feng NEW
Juan H WhobreySpainBernardo Dominic NEW
Chavez M AmigonFranceAmy Elsner UNQUALIFIED
Maisha F CampainUnited KingdomAsiya Javayant PROPOSAL
Stacey N SergiAustraliaIoni Bowcher RENEWAL
Antonio L TollnerItalyAnna Fali UNQUALIFIED
Kadeem O StensethBrazilElwin Sharvill UNQUALIFIED
Maisha G RoysterFranceXuxue Feng PROPOSAL
Smith A DoeRussiaIoni Bowcher QUALIFIED
Francesco Q StockhamBrazilIoni Bowcher RENEWAL
Stacey Q RimBrazilIoni Bowcher PROPOSAL
Murillo Q PoquetteGermanyIoni Bowcher NEW
Aruna E FollerSpainAmy Elsner NEGOTIATION
Greenwood E NickaItalyAsiya Javayant NEGOTIATION
Costa V StensethItalyElwin Sharvill PROPOSAL
Claire H ShinkoGermanyStephen Shaw UNQUALIFIED
Izzy K VenereIndiaAmy Elsner PROPOSAL
Frozen Columns
Name
Wickens N Chui
Johnson H Dilliard
Jennifer E Bowley
Arvin Y Malet
Nicolas A Sergi
Silvio H Stockham
Mayumi T Dilliard
Darci E Malet
Ivar V Tollner
Faith S Albares
Cody I Gaucho
Ricardo K Royster
Tony R Shinko
Ivar Q Ostrosky
Isabel K Albares
Smith H Kusko
Mayumi N Doe
Nicolas D Venere
Leon G Stenseth
Jeanfrancois K Gaucho
Nicolas Y Foller
Antonio U Shinko
Kaitlin Z Campain
Tony I Chui
Emily F Briddick
David U Amigon
Smith T Royster
Morrow B Sergi
Greenwood O Ferencz
Nicolas L Butt
Mujtaba B Gaucho
Alejandro A Flosi
Sinclair W Campain
Greenwood Q Ostrosky
Octavia D Foller
Claire A Ferencz
Aditya C Perin
Aruna O Albares
Nicolas L Caudy
Adams H Chui
Tony S Poquette
Maisha A Marrier
Maria Z Campain
David J Malet
Alejandro F Perin
Emily G Iturbide
David P Briddick
Maisha E Iturbide
Morrow V Nestle
Izzy X Paprocki
IdCountryDate
1000France2024-06-04
1001Brazil2024-06-07
1002Spain2024-05-25
1003United Kingdom2024-06-15
1004India2024-06-14
1005India2024-06-09
1006Italy2024-06-06
1007United Kingdom2024-05-26
1008Russia2024-06-17
1009United Kingdom2024-05-25
1010Russia2024-05-30
1011Argentina2024-05-31
1012India2024-06-20
1013Canada2024-06-17
1014United Kingdom2024-06-02
1015United Kingdom2024-06-16
1016Canada2024-06-14
1017Spain2024-06-17
1018Japan2024-06-07
1019Japan2024-06-19
1020Brazil2024-06-23
1021France2024-06-10
1022Australia2024-05-29
1023Russia2024-06-17
1024Germany2024-06-03
1025Canada2024-06-09
1026Italy2024-06-06
1027Spain2024-05-27
1028United Kingdom2024-06-09
1029Germany2024-06-15
1030Argentina2024-06-21
1031Brazil2024-05-29
1032Spain2024-06-14
1033Australia2024-05-29
1034Australia2024-06-02
1035Spain2024-06-11
1036Japan2024-06-23
1037Brazil2024-06-21
1038United Kingdom2024-06-09
1039Australia2024-06-17
1040Australia2024-06-06
1041Australia2024-05-29
1042Canada2024-05-30
1043Argentina2024-05-27
1044Canada2024-05-27
1045United Kingdom2024-05-30
1046United Kingdom2024-06-14
1047Spain2024-06-05
1048Brazil2024-05-28
1049Japan2024-06-21

On-Demand Data

NameIdCountryDate
Maisha X Figeroa1000Canada2024-05-25
Claire S Stockham1001Australia2024-05-26
Mujtaba S Nestle1002Canada2024-06-19
Adams F Gillian1003India2024-06-13
Jeanfrancois D Nicka1004Argentina2024-05-30
Tony B Kusko1005Argentina2024-06-07
James P Venere1006Argentina2024-06-03
Julie G Gaucho1007Australia2024-06-08
Francesco H Campain1008Japan2024-05-30
Johnson D Doe1009Japan2024-05-29
Leon D Chui1010Russia2024-06-23
Faith K Briddick1011United Kingdom2024-05-27
Juan B Malet1012Japan2024-06-16
Izzy Y Kusko1013Argentina2024-06-15
Misaki E Sergi1014Russia2024-06-15
Kaitlin H Poquette1015Germany2024-05-30
Jennifer A Rulapaugh1016Canada2024-06-12
Julie J Dilliard1017Spain2024-06-12
Kaitlin Q Slusarski1018Russia2024-06-08
Ricardo U Royster1019Australia2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo V RutaGermanyBernardo Dominic NEGOTIATION
Isabel C StockhamBrazilIoni Bowcher NEW
Claire C GlickArgentinaXuxue Feng PROPOSAL
Francesco E PaprockiAustraliaAmy Elsner QUALIFIED
Claire N SlusarskiArgentinaBernardo Dominic PROPOSAL
Greenwood D OldroydJapanElwin Sharvill PROPOSAL
Stacey R WaycottRussiaIvan Magalhaes PROPOSAL
Jones L DarakjyUnited KingdomElwin Sharvill NEW
Aditya U NickaUnited KingdomElwin Sharvill NEGOTIATION
Maria M WaycottCanadaElwin Sharvill PROPOSAL
David X SlusarskiIndiaIvan Magalhaes RENEWAL
Isabel A GlickFranceBernardo Dominic RENEWAL
Julie N WieserGermanyIvan Magalhaes QUALIFIED
Leon J WaycottIndiaAmy Elsner RENEWAL
Julie F RulapaughJapanOnyama Limba QUALIFIED
Maisha J WaycottItalyXuxue Feng NEW
Octavia G SchemmerIndiaAmy Elsner NEW
Juan E FigeroaFranceBernardo Dominic NEW
Salvatore B ShinkoBrazilBernardo Dominic RENEWAL
David P SlusarskiItalyAmy Elsner QUALIFIED
Emily Q OstroskyAustraliaIvan Magalhaes NEW
Rodrigues O AlbaresRussiaOnyama Limba UNQUALIFIED
Nicolas S ButtArgentinaAsiya Javayant NEGOTIATION
Johnson P ChuiArgentinaElwin Sharvill NEGOTIATION
Morrow K SlusarskiIndiaElwin Sharvill RENEWAL
Francesco X OldroydCanadaStephen Shaw QUALIFIED
Sinclair Z GarufiItalyAmy Elsner QUALIFIED
James O OstroskyFranceStephen Shaw RENEWAL
Kaitlin S FollerIndiaIoni Bowcher NEGOTIATION
Sinclair F RutaArgentinaAsiya Javayant PROPOSAL
Cody B StensethIndiaAnna Fali UNQUALIFIED
Maria G PaprockiRussiaXuxue Feng PROPOSAL
Jones M AlbaresRussiaAmy Elsner NEGOTIATION
Ivar U RoysterCanadaElwin Sharvill NEW
Clifford S GillianItalyIoni Bowcher QUALIFIED
Aditya V AlbaresArgentinaIoni Bowcher NEW
Arvin L GarufiJapanAmy Elsner UNQUALIFIED
Murillo W MaletGermanyStephen Shaw QUALIFIED
Ashley V BriddickArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois X DilliardRussiaIvan Magalhaes 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>