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
Jones O IturbideJapanIoni Bowcher QUALIFIED
Salvatore Q DilliardAustraliaAnna Fali PROPOSAL
Murillo N AmigonIndiaXuxue Feng RENEWAL
Antonio C DarakjyItalyIoni Bowcher NEW
Maria J TollnerBrazilXuxue Feng PROPOSAL
Costa F RutaRussiaIvan Magalhaes QUALIFIED
Francesco X VocelkaGermanyIvan Magalhaes PROPOSAL
Greenwood H ShinkoIndiaXuxue Feng NEGOTIATION
Jones O MaletJapanIoni Bowcher NEGOTIATION
Mujtaba C AlbaresBrazilAsiya Javayant QUALIFIED
Leon A StockhamCanadaElwin Sharvill NEW
Juan U NestleRussiaIvan Magalhaes UNQUALIFIED
Alejandro D MaletArgentinaBernardo Dominic PROPOSAL
Munro V PaprockiSpainIoni Bowcher PROPOSAL
David L MacleadIndiaXuxue Feng UNQUALIFIED
Kadeem I DarakjyRussiaAnna Fali UNQUALIFIED
Chavez U VocelkaJapanIvan Magalhaes NEW
Ivar Z FigeroaCanadaStephen Shaw RENEWAL
Ricardo S CampainFranceAmy Elsner RENEWAL
Johnson G InouyeUnited KingdomOnyama Limba NEGOTIATION
Johnson Y ButtUnited KingdomXuxue Feng QUALIFIED
Costa S FerenczArgentinaStephen Shaw NEW
James I StensethJapanOnyama Limba RENEWAL
Ashley N PoquetteJapanOnyama Limba UNQUALIFIED
Leja N RoysterJapanOnyama Limba UNQUALIFIED
Emily D OldroydItalyStephen Shaw RENEWAL
Salvatore N WaycottGermanyIoni Bowcher NEGOTIATION
Deepesh R SlusarskiRussiaIvan Magalhaes RENEWAL
Adams C GillianArgentinaIvan Magalhaes UNQUALIFIED
Jennifer K KolmetzItalyIoni Bowcher QUALIFIED
Salvatore W MacleadFranceAnna Fali RENEWAL
Mujtaba K GlickRussiaAmy Elsner PROPOSAL
David Z BowleyItalyOnyama Limba UNQUALIFIED
Cody Q FerenczIndiaOnyama Limba RENEWAL
Aditya R StockhamUnited KingdomAnna Fali QUALIFIED
Juan L SlusarskiJapanIoni Bowcher QUALIFIED
Munro P RoysterBrazilIoni Bowcher QUALIFIED
Munro N GarufiRussiaIvan Magalhaes RENEWAL
Jennifer H WhobreySpainXuxue Feng PROPOSAL
Kaitlin C OldroydJapanStephen Shaw NEW
Arvin E CampainAustraliaAsiya Javayant UNQUALIFIED
Antonio A OstroskyCanadaElwin Sharvill UNQUALIFIED
Deepesh Q InouyeJapanIvan Magalhaes QUALIFIED
Antonio B SchemmerFranceIoni Bowcher RENEWAL
Jennifer D FerenczBrazilBernardo Dominic NEGOTIATION
Johnson I PaprockiJapanBernardo Dominic NEGOTIATION
Cody V SlusarskiJapanIvan Magalhaes QUALIFIED
Rodrigues T FlosiSpainAmy Elsner RENEWAL
Izzy N ShinkoRussiaXuxue Feng PROPOSAL
David B DarakjyCanadaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow I FerenczArgentinaIvan Magalhaes NEW
Mayumi T CaudyJapanIoni Bowcher NEW
Jennifer K PoquetteIndiaStephen Shaw QUALIFIED
Mujtaba F BriddickCanadaAmy Elsner PROPOSAL
Ricardo A VocelkaSpainStephen Shaw UNQUALIFIED
James F WaycottGermanyAmy Elsner QUALIFIED
Leon E ChuiUnited KingdomIoni Bowcher PROPOSAL
Salvatore L PoquetteFranceIvan Magalhaes RENEWAL
Wickens F StensethJapanXuxue Feng RENEWAL
Adams F BologniaUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody Z GauchoUnited Kingdom2024-05-08Printing Dimensions UNQUALIFIED22Bernardo Dominic
1001Mayumi J RimSpain2024-05-13Feltz Printing Service QUALIFIED61Stephen Shaw
1002Mujtaba Q AlbaresJapan2024-05-25Truhlar And Truhlar Attys UNQUALIFIED11Stephen Shaw
1003Salvatore D CampainBrazil2024-04-30Rangoni Of Florence UNQUALIFIED88Ioni Bowcher
1004Alejandro K CampainBrazil2024-04-30Feltz Printing Service QUALIFIED3Xuxue Feng
1005Arvin H PerinItaly2024-05-01Commercial Press NEW14Ivan Magalhaes
1006Ashley I KuskoRussia2024-05-21King, Christopher A Esq UNQUALIFIED97Anna Fali
1007Ricardo R GillianArgentina2024-05-19Rousseaux, Michael Esq PROPOSAL52Asiya Javayant
1008Arvin D MaletCanada2024-04-30Feiner Bros QUALIFIED80Stephen Shaw
1009Stacey R KolmetzRussia2024-05-17Feiner Bros NEW34Ioni Bowcher
1010Claire W GlickGermany2024-05-09Morlong Associates NEGOTIATION79Asiya Javayant
1011Morrow N StensethRussia2024-05-17Chemel, James L Cpa RENEWAL1Ivan Magalhaes
1012Ivar X RulapaughAustralia2024-05-26Morlong Associates PROPOSAL60Elwin Sharvill
1013Jones T DilliardUnited Kingdom2024-05-05Benton, John B Jr QUALIFIED71Asiya Javayant
1014Murillo K KolmetzSpain2024-05-13Dorl, James J Esq NEW98Asiya Javayant
1015Darci O AlbaresBrazil2024-05-05Rangoni Of Florence QUALIFIED77Anna Fali
1016Jones Q StockhamArgentina2024-05-01King, Christopher A Esq NEW76Onyama Limba
1017Aika W VocelkaSpain2024-05-06King, Christopher A Esq UNQUALIFIED99Asiya Javayant
1018Aruna I GlickSpain2024-04-28Rousseaux, Michael Esq UNQUALIFIED24Ioni Bowcher
1019Maisha B CampainBrazil2024-05-12Chapman, Ross E Esq RENEWAL3Xuxue Feng
1020Tony R ChuiIndia2024-05-26Feltz Printing Service PROPOSAL65Stephen Shaw
1021Smith J GlickSpain2024-05-26King, Christopher A Esq RENEWAL93Ioni Bowcher
1022Misaki K RulapaughJapan2024-05-09Morlong Associates NEW71Bernardo Dominic
1023Silvio J OstroskyJapan2024-05-03Truhlar And Truhlar Attys PROPOSAL8Onyama Limba
1024Adams J BologniaArgentina2024-05-17Chemel, James L Cpa PROPOSAL4Amy Elsner
1025Chavez W SchemmerCanada2024-05-03Feiner Bros PROPOSAL63Bernardo Dominic
1026Munro P GlickFrance2024-05-10Chanay, Jeffrey A Esq RENEWAL55Ioni Bowcher
1027Chavez C MaletIndia2024-05-21Feltz Printing Service QUALIFIED19Anna Fali
1028Adams E PerinBrazil2024-05-27Chemel, James L Cpa QUALIFIED93Xuxue Feng
1029Jeanfrancois K PerinArgentina2024-05-14Feiner Bros NEW74Bernardo Dominic
1030Cody N DoeArgentina2024-05-07Truhlar And Truhlar Attys UNQUALIFIED57Ivan Magalhaes
1031Jennifer K OstroskyUnited Kingdom2024-05-04King, Christopher A Esq NEW73Onyama Limba
1032David B BowleyCanada2024-05-06Chemel, James L Cpa QUALIFIED62Anna Fali
1033Antonio G CaudyJapan2024-05-22Morlong Associates PROPOSAL34Asiya Javayant
1034Alejandro J IturbideAustralia2024-05-16Rangoni Of Florence NEGOTIATION43Asiya Javayant
1035Kaitlin Q FerenczItaly2024-05-20Buckley Miller Wright QUALIFIED83Ivan Magalhaes
1036James J DilliardItaly2024-05-23Truhlar And Truhlar Attys NEGOTIATION21Amy Elsner
1037Darci L RimIndia2024-05-26Chemel, James L Cpa NEW1Onyama Limba
1038Smith Q FollerRussia2024-05-06Printing Dimensions NEGOTIATION84Stephen Shaw
1039Kaitlin V IturbideCanada2024-05-26Buckley Miller Wright UNQUALIFIED92Asiya Javayant
1040Jennifer Z DoeAustralia2024-05-07Truhlar And Truhlar Attys NEW46Stephen Shaw
1041Morrow E SchemmerSpain2024-04-28King, Christopher A Esq QUALIFIED80Stephen Shaw
1042Ivar T StockhamItaly2024-05-27Rangoni Of Florence RENEWAL88Ioni Bowcher
1043Izzy M SchemmerCanada2024-05-08Dorl, James J Esq PROPOSAL51Anna Fali
1044Deepesh H IturbideFrance2024-05-14Rousseaux, Michael Esq UNQUALIFIED80Onyama Limba
1045Kaitlin A SlusarskiSpain2024-05-04Printing Dimensions PROPOSAL5Bernardo Dominic
1046Chavez D CampainSpain2024-05-11Chemel, James L Cpa RENEWAL67Ioni Bowcher
1047Kaitlin R ChuiAustralia2024-05-27Buckley Miller Wright PROPOSAL14Stephen Shaw
1048Clifford U GarufiRussia2024-05-26Chanay, Jeffrey A Esq PROPOSAL85Anna Fali
1049Sinclair K MarrierItaly2024-05-22Printing Dimensions RENEWAL44Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams G DilliardArgentinaIoni Bowcher NEGOTIATION
Deepesh R RulapaughItalyOnyama Limba NEW
Adams I CampainItalyAmy Elsner QUALIFIED
Stacey K NickaUnited KingdomOnyama Limba NEW
Julie W VenereFranceIoni Bowcher RENEWAL
Maisha F GillianItalyBernardo Dominic NEW
Izzy N DarakjyIndiaOnyama Limba QUALIFIED
Claire E CaldareraItalyOnyama Limba NEW
Claire M BriddickBrazilElwin Sharvill NEGOTIATION
Sinclair T BowleyRussiaOnyama Limba QUALIFIED
Murillo U CaldareraRussiaOnyama Limba NEW
Munro A VenereJapanIvan Magalhaes UNQUALIFIED
Sinclair Y BologniaSpainIvan Magalhaes NEGOTIATION
Isabel G KolmetzUnited KingdomIoni Bowcher RENEWAL
Johnson W OldroydCanadaIvan Magalhaes RENEWAL
Misaki S GlickIndiaOnyama Limba NEGOTIATION
Sinclair W MorascaArgentinaElwin Sharvill NEW
Aditya N BriddickRussiaXuxue Feng PROPOSAL
Morrow E SergiSpainOnyama Limba NEGOTIATION
Mayumi Y GillianUnited KingdomBernardo Dominic NEW
Ivar J GlickJapanBernardo Dominic UNQUALIFIED
Darci S SergiBrazilIoni Bowcher UNQUALIFIED
Morrow S CampainFranceAmy Elsner UNQUALIFIED
Jeanfrancois A MaletBrazilStephen Shaw NEGOTIATION
Deepesh C GarufiRussiaOnyama Limba PROPOSAL
Aruna H SergiJapanOnyama Limba PROPOSAL
Julie B SchemmerUnited KingdomBernardo Dominic RENEWAL
Claire U DarakjyAustraliaStephen Shaw RENEWAL
Kadeem A WieserGermanyAnna Fali NEGOTIATION
Alejandro N MarrierFranceAnna Fali UNQUALIFIED
Ricardo H TollnerRussiaIoni Bowcher UNQUALIFIED
Wickens S OldroydArgentinaIoni Bowcher PROPOSAL
David Q RutaGermanyAnna Fali NEGOTIATION
Misaki E ButtAustraliaAsiya Javayant PROPOSAL
Nicolas D SchemmerAustraliaAmy Elsner QUALIFIED
Ivar X SchemmerGermanyAmy Elsner QUALIFIED
Maisha H RulapaughArgentinaAsiya Javayant NEW
Chavez L FigeroaGermanyAsiya Javayant NEGOTIATION
Leja S SergiFranceBernardo Dominic PROPOSAL
Murillo C VenereItalyAsiya Javayant NEW
Munro R TollnerBrazilElwin Sharvill UNQUALIFIED
Ricardo K MaletItalyXuxue Feng UNQUALIFIED
Maria H DarakjySpainOnyama Limba UNQUALIFIED
Alejandro H DoeAustraliaAnna Fali UNQUALIFIED
Silvio H FlosiIndiaElwin Sharvill QUALIFIED
Julie A BologniaBrazilXuxue Feng PROPOSAL
Ashley A DoeRussiaAnna Fali PROPOSAL
Tony A VenereItalyBernardo Dominic PROPOSAL
Clifford J OstroskyFranceAmy Elsner QUALIFIED
Juan F MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Wickens B Oldroyd
Tony Y Butt
Francesco C Saylors
Maisha O Flosi
Maisha T Rim
Adams A Perin
Arvin U Iturbide
Costa Q Maclead
Jones Z Sergi
Aika R Kolmetz
Maria C Rim
Juan R Bolognia
Cody K Bowley
Alejandro A Rim
Francesco A Rim
Juan H Doe
Maria O Amigon
Antonio G Stockham
Darci J Venere
Arvin Z Kusko
Chavez K Iturbide
Mujtaba Y Saylors
Munro L Chui
Leon G Malet
Arvin T Garufi
Aruna D Ostrosky
Jefferson O Amigon
Sinclair I Ostrosky
Silvio E Venere
Alejandro N Morasca
Aika X Inouye
Kaitlin N Sergi
Francesco Q Inouye
Jeanfrancois P Inouye
Maria Y Schemmer
Aditya W Caldarera
Cody G Waycott
Aika L Sergi
Octavia B Foller
Kaitlin P Nicka
James G Shinko
Jefferson C Stockham
Isabel H Malet
Octavia S Malet
Salvatore O Saylors
Silvio N Kolmetz
Cody V Ruta
Julie U Marrier
Jones F Marrier
Cody B Rulapaugh
IdCountryDate
1000Italy2024-05-05
1001India2024-05-20
1002Spain2024-05-10
1003India2024-05-23
1004Japan2024-05-16
1005Japan2024-05-09
1006Italy2024-05-27
1007Spain2024-05-03
1008Australia2024-05-01
1009Germany2024-04-30
1010Spain2024-05-04
1011Australia2024-05-16
1012Argentina2024-05-13
1013Italy2024-05-21
1014Brazil2024-05-14
1015Japan2024-05-25
1016United Kingdom2024-05-11
1017Spain2024-05-15
1018Russia2024-05-25
1019Italy2024-05-07
1020Australia2024-04-29
1021France2024-04-29
1022India2024-04-28
1023Italy2024-05-05
1024Spain2024-05-07
1025Japan2024-05-17
1026Russia2024-05-08
1027Russia2024-05-13
1028Brazil2024-05-07
1029Spain2024-05-01
1030Canada2024-05-05
1031Brazil2024-04-28
1032Russia2024-05-01
1033Spain2024-05-13
1034Canada2024-05-01
1035Russia2024-05-14
1036France2024-05-13
1037India2024-05-16
1038Canada2024-05-17
1039Russia2024-05-06
1040France2024-05-26
1041Australia2024-05-11
1042Spain2024-04-28
1043Spain2024-05-11
1044Brazil2024-05-08
1045Canada2024-05-15
1046France2024-05-26
1047Russia2024-05-06
1048United Kingdom2024-04-29
1049United Kingdom2024-05-12

On-Demand Data

NameIdCountryDate
Rodrigues V Caudy1000Russia2024-05-12
Silvio F Saylors1001Spain2024-05-08
Arvin G Caldarera1002Italy2024-05-10
Costa B Tollner1003Italy2024-05-05
Francesco G Glick1004Japan2024-05-21
Jefferson T Ruta1005Japan2024-05-22
Faith U Gaucho1006India2024-05-05
Aruna L Ferencz1007Russia2024-05-14
Adams Q Oldroyd1008Russia2024-05-26
Silvio H Perin1009Argentina2024-05-22
Chavez H Ostrosky1010Italy2024-05-13
Ashley B Flosi1011Canada2024-05-15
Ricardo A Rulapaugh1012Argentina2024-05-27
Aruna M Bowley1013India2024-05-17
Kadeem A Chui1014France2024-05-06
Adams X Poquette1015Germany2024-05-12
Jeanfrancois Y Iturbide1016India2024-05-18
David A Stenseth1017Spain2024-05-01
Kaitlin B Oldroyd1018United Kingdom2024-05-13
Jones P Wieser1019India2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Z WaycottBrazilIoni Bowcher UNQUALIFIED
Darci X DoeUnited KingdomElwin Sharvill UNQUALIFIED
Wickens T CampainCanadaAnna Fali RENEWAL
Adams M KuskoItalyElwin Sharvill NEGOTIATION
Mujtaba A DarakjyCanadaXuxue Feng PROPOSAL
Aruna V InouyeSpainAnna Fali PROPOSAL
Emily I RimIndiaIoni Bowcher RENEWAL
Ashley I StensethAustraliaBernardo Dominic UNQUALIFIED
Kadeem U StockhamSpainIvan Magalhaes NEGOTIATION
Mujtaba Q ChuiCanadaAsiya Javayant NEGOTIATION
Ricardo H BologniaUnited KingdomStephen Shaw QUALIFIED
Maisha T CaldareraItalyAsiya Javayant NEW
Johnson X StensethFranceBernardo Dominic PROPOSAL
Aika G GauchoCanadaIvan Magalhaes NEW
Jeanfrancois M CampainRussiaBernardo Dominic NEGOTIATION
Francesco D GillianFranceAnna Fali NEW
Silvio P DarakjyArgentinaElwin Sharvill UNQUALIFIED
Cody W WaycottGermanyXuxue Feng PROPOSAL
Jones O TollnerItalyStephen Shaw NEGOTIATION
Maisha C KolmetzSpainStephen Shaw NEGOTIATION
Silvio P DarakjyItalyIoni Bowcher UNQUALIFIED
Isabel B TollnerItalyAnna Fali UNQUALIFIED
Jones M WhobreyAustraliaIoni Bowcher PROPOSAL
Ricardo E DoeAustraliaXuxue Feng NEW
Juan R ShinkoAustraliaAmy Elsner RENEWAL
Johnson N RimRussiaAmy Elsner NEGOTIATION
Murillo W RutaBrazilElwin Sharvill RENEWAL
Emily J MaletBrazilAsiya Javayant PROPOSAL
Munro G IturbideRussiaXuxue Feng PROPOSAL
Kaitlin X InouyeArgentinaBernardo Dominic RENEWAL
Kaitlin F MacleadAustraliaIoni Bowcher RENEWAL
Ashley X GillianRussiaIoni Bowcher NEW
Julie G MarrierIndiaStephen Shaw QUALIFIED
Aditya C RulapaughArgentinaBernardo Dominic NEGOTIATION
Deepesh B IturbideAustraliaElwin Sharvill UNQUALIFIED
Francesco N FerenczItalyIvan Magalhaes RENEWAL
Francesco Z CampainAustraliaAnna Fali PROPOSAL
James F RimUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore T MacleadSpainElwin Sharvill QUALIFIED
Mujtaba R PoquetteIndiaElwin Sharvill UNQUALIFIED

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