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
Smith P VenereSpainAmy Elsner QUALIFIED
Ashley Z GauchoCanadaAmy Elsner PROPOSAL
Kadeem U KolmetzBrazilIoni Bowcher PROPOSAL
Morrow W ButtArgentinaElwin Sharvill UNQUALIFIED
Sinclair J WhobreyAustraliaStephen Shaw RENEWAL
Aruna A WieserIndiaAmy Elsner NEGOTIATION
Octavia R FlosiArgentinaBernardo Dominic RENEWAL
Smith U SaylorsArgentinaXuxue Feng RENEWAL
Antonio Z KolmetzAustraliaAsiya Javayant RENEWAL
Deepesh L FollerSpainStephen Shaw RENEWAL
Sinclair N ChuiArgentinaAsiya Javayant QUALIFIED
Leon L PaprockiUnited KingdomAmy Elsner NEGOTIATION
Johnson T NickaRussiaIvan Magalhaes RENEWAL
Jennifer D DoeAustraliaAnna Fali NEW
Cody H CampainArgentinaElwin Sharvill NEW
Octavia K TollnerAustraliaAmy Elsner NEW
Munro D GillianJapanStephen Shaw NEGOTIATION
James U IturbideCanadaXuxue Feng RENEWAL
Wickens C CaudyBrazilAmy Elsner PROPOSAL
Izzy N AlbaresAustraliaXuxue Feng UNQUALIFIED
Aditya G MaletArgentinaStephen Shaw NEW
Rodrigues O TollnerCanadaElwin Sharvill PROPOSAL
Ivar B CaldareraAustraliaAmy Elsner QUALIFIED
Clifford D FerenczJapanAmy Elsner QUALIFIED
Antonio N StensethFranceStephen Shaw QUALIFIED
Ashley D FlosiGermanyBernardo Dominic RENEWAL
Emily L OldroydIndiaIvan Magalhaes PROPOSAL
Tony O CaudyIndiaOnyama Limba QUALIFIED
Nicolas F DilliardAustraliaElwin Sharvill RENEWAL
Costa V SergiRussiaBernardo Dominic NEGOTIATION
Kadeem J NestleAustraliaStephen Shaw RENEWAL
Alejandro B FollerAustraliaAsiya Javayant NEW
David R IturbideItalyStephen Shaw QUALIFIED
Morrow M VocelkaIndiaAmy Elsner NEGOTIATION
Maria I MaletArgentinaStephen Shaw RENEWAL
Jefferson G WieserAustraliaIvan Magalhaes NEW
Silvio Y BologniaUnited KingdomXuxue Feng NEGOTIATION
Silvio W MaletArgentinaAsiya Javayant PROPOSAL
Aruna N SergiArgentinaIoni Bowcher PROPOSAL
Faith S SergiJapanXuxue Feng NEW
Leja B RoysterBrazilXuxue Feng UNQUALIFIED
Mujtaba L CaldareraUnited KingdomAsiya Javayant RENEWAL
Ricardo T FigeroaRussiaAsiya Javayant NEW
Adams P TollnerSpainIoni Bowcher UNQUALIFIED
Ricardo W StockhamGermanyIoni Bowcher QUALIFIED
Smith P GarufiJapanStephen Shaw NEGOTIATION
Salvatore W KuskoUnited KingdomAsiya Javayant NEGOTIATION
Costa I FigeroaSpainAmy Elsner UNQUALIFIED
Ashley E BriddickFranceXuxue Feng PROPOSAL
Greenwood I StockhamGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro X MarrierArgentinaAsiya Javayant RENEWAL
Alejandro W WhobreyCanadaXuxue Feng NEW
Mayumi C RulapaughGermanyElwin Sharvill QUALIFIED
Claire G StockhamGermanyIvan Magalhaes NEW
Kaitlin X FerenczFranceStephen Shaw QUALIFIED
Kaitlin B MorascaRussiaIvan Magalhaes RENEWAL
Kaitlin E VenereSpainBernardo Dominic UNQUALIFIED
Tony W NestleCanadaIoni Bowcher NEGOTIATION
Darci J OstroskySpainElwin Sharvill PROPOSAL
Tony J CaldareraFranceElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U DilliardRussia2024-06-02Feiner Bros NEW64Ioni Bowcher
1001Faith B FlosiCanada2024-06-02Feiner Bros PROPOSAL44Xuxue Feng
1002Adams C GarufiArgentina2024-06-07Dorl, James J Esq RENEWAL69Ivan Magalhaes
1003Kadeem K MacleadCanada2024-06-19King, Christopher A Esq NEGOTIATION81Anna Fali
1004Faith R RoysterSpain2024-05-31Chapman, Ross E Esq NEGOTIATION90Stephen Shaw
1005James K MacleadCanada2024-06-12Benton, John B Jr QUALIFIED35Ioni Bowcher
1006Octavia F SergiJapan2024-06-15Benton, John B Jr PROPOSAL16Onyama Limba
1007Ivar R ButtRussia2024-05-31Truhlar And Truhlar Attys UNQUALIFIED3Ioni Bowcher
1008Stacey R NickaSpain2024-06-16Buckley Miller Wright NEGOTIATION58Bernardo Dominic
1009James J GarufiAustralia2024-06-16Feltz Printing Service UNQUALIFIED41Anna Fali
1010Chavez J FlosiItaly2024-06-19Benton, John B Jr RENEWAL67Stephen Shaw
1011Faith Y MaletRussia2024-06-08Rangoni Of Florence PROPOSAL71Onyama Limba
1012Mujtaba B RutaAustralia2024-06-03Dorl, James J Esq NEW42Amy Elsner
1013Juan T ButtSpain2024-06-21Morlong Associates QUALIFIED51Onyama Limba
1014Tony H FerenczRussia2024-06-21Truhlar And Truhlar Attys PROPOSAL86Amy Elsner
1015Maria Y IturbideBrazil2024-06-13Dorl, James J Esq NEGOTIATION52Xuxue Feng
1016Adams H FerenczFrance2024-06-17Printing Dimensions PROPOSAL75Bernardo Dominic
1017Morrow T OldroydItaly2024-05-29Buckley Miller Wright NEGOTIATION81Asiya Javayant
1018Francesco V WaycottUnited Kingdom2024-06-22Chapman, Ross E Esq PROPOSAL26Bernardo Dominic
1019Leja T BriddickSpain2024-06-22Benton, John B Jr NEGOTIATION91Anna Fali
1020Jefferson O WieserItaly2024-06-16King, Christopher A Esq UNQUALIFIED57Bernardo Dominic
1021Juan U ButtCanada2024-05-26Chemel, James L Cpa UNQUALIFIED63Stephen Shaw
1022Greenwood M RoysterJapan2024-06-01Feltz Printing Service QUALIFIED90Anna Fali
1023Alejandro L SlusarskiItaly2024-06-20Morlong Associates NEW11Xuxue Feng
1024Clifford E SchemmerUnited Kingdom2024-06-01Dorl, James J Esq UNQUALIFIED83Onyama Limba
1025Francesco N AmigonIndia2024-06-20Printing Dimensions QUALIFIED41Ioni Bowcher
1026Leon G RulapaughBrazil2024-05-30Truhlar And Truhlar Attys PROPOSAL11Onyama Limba
1027Juan K MorascaSpain2024-06-23Dorl, James J Esq NEGOTIATION30Xuxue Feng
1028Antonio E StockhamArgentina2024-06-16Feltz Printing Service QUALIFIED0Stephen Shaw
1029Clifford E GauchoArgentina2024-06-13Feltz Printing Service PROPOSAL71Onyama Limba
1030Deepesh A NestleArgentina2024-06-14Rangoni Of Florence NEW48Anna Fali
1031James L OstroskyFrance2024-06-14Chapman, Ross E Esq NEW42Bernardo Dominic
1032Smith Q KuskoIndia2024-06-02Rousseaux, Michael Esq QUALIFIED98Anna Fali
1033Isabel N MaletItaly2024-06-16Benton, John B Jr RENEWAL13Anna Fali
1034Juan J AlbaresIndia2024-05-28Chemel, James L Cpa UNQUALIFIED11Onyama Limba
1035Jennifer J IturbideSpain2024-06-02Rangoni Of Florence QUALIFIED55Xuxue Feng
1036Smith U RulapaughGermany2024-06-01Dorl, James J Esq RENEWAL86Ivan Magalhaes
1037Emily Q FerenczRussia2024-05-28Printing Dimensions NEW16Ioni Bowcher
1038Aruna A GauchoArgentina2024-06-05Chemel, James L Cpa NEW7Ivan Magalhaes
1039Costa M RoysterItaly2024-06-10Dorl, James J Esq RENEWAL87Ioni Bowcher
1040Chavez N GlickRussia2024-05-30Benton, John B Jr PROPOSAL18Ivan Magalhaes
1041Misaki B IturbideUnited Kingdom2024-06-01Dorl, James J Esq PROPOSAL57Ivan Magalhaes
1042Ivar Z ButtFrance2024-06-04Buckley Miller Wright UNQUALIFIED55Stephen Shaw
1043Darci X ChuiAustralia2024-06-05Rousseaux, Michael Esq RENEWAL67Bernardo Dominic
1044Jeanfrancois A NestleFrance2024-06-13Chemel, James L Cpa RENEWAL9Stephen Shaw
1045Isabel A BowleySpain2024-06-17Chapman, Ross E Esq NEGOTIATION39Asiya Javayant
1046Jennifer R RoysterIndia2024-06-02Morlong Associates RENEWAL84Xuxue Feng
1047Adams L NickaUnited Kingdom2024-06-18Feiner Bros PROPOSAL11Ivan Magalhaes
1048Nicolas P FigeroaSpain2024-06-21Chemel, James L Cpa NEGOTIATION98Onyama Limba
1049Silvio T NestleUnited Kingdom2024-06-12Rousseaux, Michael Esq RENEWAL57Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey A AlbaresSpainStephen Shaw UNQUALIFIED
Jeanfrancois A KolmetzItalyOnyama Limba PROPOSAL
Costa Q AmigonJapanXuxue Feng UNQUALIFIED
Tony Y DarakjySpainIoni Bowcher RENEWAL
Arvin G DoeGermanyAnna Fali NEGOTIATION
Stacey N CaldareraArgentinaStephen Shaw NEGOTIATION
Leja D TollnerAustraliaAmy Elsner NEGOTIATION
Smith G ChuiGermanyElwin Sharvill NEW
Chavez I StockhamIndiaElwin Sharvill QUALIFIED
Arvin O PaprockiCanadaElwin Sharvill NEGOTIATION
Adams V RulapaughAustraliaStephen Shaw NEW
Kaitlin G OstroskyGermanyAmy Elsner UNQUALIFIED
Munro O GauchoGermanyIvan Magalhaes NEW
Deepesh P PaprockiBrazilBernardo Dominic QUALIFIED
Smith P RoysterBrazilIvan Magalhaes NEGOTIATION
Munro Q RoysterGermanyIoni Bowcher UNQUALIFIED
Morrow L SaylorsArgentinaBernardo Dominic NEGOTIATION
Wickens H TollnerCanadaStephen Shaw NEW
Aditya A OldroydFranceXuxue Feng PROPOSAL
Salvatore D AmigonGermanyBernardo Dominic QUALIFIED
Adams T KolmetzBrazilIoni Bowcher NEGOTIATION
Alejandro I WieserBrazilOnyama Limba RENEWAL
Adams F NickaFranceBernardo Dominic RENEWAL
Jones Y RutaGermanyAmy Elsner RENEWAL
Chavez J RoysterBrazilAsiya Javayant NEGOTIATION
Greenwood G DoeItalyXuxue Feng NEGOTIATION
Sinclair N SergiRussiaAnna Fali RENEWAL
Rodrigues K FlosiUnited KingdomBernardo Dominic NEGOTIATION
Deepesh T OstroskyIndiaElwin Sharvill UNQUALIFIED
Stacey T BologniaRussiaBernardo Dominic QUALIFIED
Izzy O ShinkoFranceStephen Shaw QUALIFIED
Darci V IturbideSpainIoni Bowcher NEGOTIATION
Leon J BowleyItalyIvan Magalhaes QUALIFIED
Jennifer Q PerinBrazilOnyama Limba QUALIFIED
Juan P WaycottItalyAsiya Javayant PROPOSAL
Smith R FollerFranceAmy Elsner NEGOTIATION
Morrow P GauchoJapanStephen Shaw RENEWAL
Wickens S RulapaughIndiaIvan Magalhaes NEGOTIATION
Johnson I OldroydJapanAsiya Javayant NEGOTIATION
Arvin V RimUnited KingdomXuxue Feng PROPOSAL
Costa T MarrierRussiaAmy Elsner NEW
Jefferson S OldroydBrazilXuxue Feng NEW
Octavia W ButtRussiaIvan Magalhaes RENEWAL
Mujtaba X MaletCanadaAsiya Javayant QUALIFIED
Alejandro G AmigonUnited KingdomXuxue Feng QUALIFIED
Juan F WhobreyRussiaIvan Magalhaes QUALIFIED
Leon Z DoeSpainIoni Bowcher PROPOSAL
Jennifer W SlusarskiJapanBernardo Dominic QUALIFIED
Isabel W RutaJapanIvan Magalhaes NEW
Mayumi Q FerenczBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Cody Z Malet
Kaitlin J Ruta
Murillo V Ostrosky
Kadeem F Whobrey
Antonio Z Glick
Wickens X Doe
Mayumi B Caldarera
Misaki C Royster
Tony M Paprocki
Cody G Marrier
Aditya A Rim
Murillo Q Stockham
Chavez D Malet
Murillo I Campain
Sinclair H Rim
Emily T Gillian
David N Foller
James X Morasca
Mayumi C Caudy
Jeanfrancois T Glick
Adams X Glick
Isabel S Campain
Nicolas C Morasca
Mujtaba Q Royster
Leja C Rulapaugh
Claire Y Morasca
David J Rim
Deepesh S Perin
Adams W Schemmer
Tony T Ruta
Jones Z Caldarera
Claire G Caldarera
Morrow D Darakjy
Antonio C Shinko
Arvin R Vocelka
Salvatore B Butt
Maria J Flosi
Costa R Kolmetz
Nicolas K Wieser
Antonio O Perin
Jennifer P Darakjy
Nicolas Y Poquette
Wickens B Inouye
Mujtaba N Inouye
Jennifer F Butt
Francesco H Malet
Isabel V Marrier
Aika I Stockham
Emily Y Oldroyd
Rodrigues W Malet
IdCountryDate
1000Canada2024-06-24
1001Japan2024-06-16
1002Australia2024-05-27
1003Canada2024-06-06
1004Spain2024-06-18
1005India2024-06-20
1006Brazil2024-05-29
1007Italy2024-05-26
1008Argentina2024-06-22
1009Russia2024-05-30
1010Japan2024-06-15
1011United Kingdom2024-06-13
1012India2024-06-05
1013Italy2024-06-01
1014India2024-06-20
1015Canada2024-06-14
1016Japan2024-06-04
1017Canada2024-06-22
1018Russia2024-05-31
1019Argentina2024-06-09
1020India2024-05-31
1021Italy2024-06-13
1022Argentina2024-06-06
1023France2024-06-07
1024Russia2024-06-06
1025Spain2024-05-28
1026Canada2024-05-27
1027France2024-06-24
1028Japan2024-06-03
1029Canada2024-06-18
1030India2024-06-14
1031United Kingdom2024-06-03
1032Germany2024-06-22
1033Japan2024-05-28
1034Spain2024-05-30
1035Italy2024-05-31
1036Argentina2024-06-15
1037Russia2024-06-15
1038Russia2024-06-20
1039Australia2024-06-12
1040France2024-06-07
1041Argentina2024-06-23
1042India2024-06-17
1043Argentina2024-06-13
1044United Kingdom2024-06-20
1045United Kingdom2024-06-03
1046France2024-06-23
1047Spain2024-06-10
1048United Kingdom2024-05-29
1049Japan2024-06-09

On-Demand Data

NameIdCountryDate
Aruna Q Rulapaugh1000Russia2024-06-06
Juan G Nestle1001Canada2024-06-12
Nicolas R Schemmer1002Australia2024-06-16
Aika R Flosi1003France2024-06-15
Silvio D Kusko1004United Kingdom2024-06-24
Ashley B Wieser1005France2024-06-19
Sinclair Z Amigon1006Spain2024-06-24
Maria W Shinko1007United Kingdom2024-06-04
David W Morasca1008Canada2024-06-12
Aditya W Paprocki1009United Kingdom2024-06-06
Clifford V Waycott1010Canada2024-05-30
Chavez N Rim1011Australia2024-06-03
Izzy A Bolognia1012France2024-05-26
James Y Darakjy1013Spain2024-06-15
Deepesh W Rulapaugh1014Germany2024-06-21
Kaitlin F Malet1015Canada2024-06-03
Aditya T Doe1016Brazil2024-06-20
Mujtaba B Chui1017Canada2024-06-10
Munro V Chui1018India2024-06-16
Octavia I Iturbide1019Argentina2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci W ShinkoCanadaXuxue Feng RENEWAL
Munro K MaletGermanyIoni Bowcher NEW
Julie A BriddickGermanyStephen Shaw PROPOSAL
Kadeem W NickaAustraliaXuxue Feng NEGOTIATION
Ivar I NestleGermanyElwin Sharvill NEGOTIATION
Jones A DoeRussiaAsiya Javayant PROPOSAL
Costa T MacleadItalyIoni Bowcher NEW
Aditya Z ChuiSpainAsiya Javayant UNQUALIFIED
Munro E MaletCanadaAnna Fali UNQUALIFIED
Aditya U CampainUnited KingdomElwin Sharvill NEW
Claire G GarufiGermanyIoni Bowcher PROPOSAL
Rodrigues L MaletGermanyIoni Bowcher RENEWAL
Maisha K GlickArgentinaAsiya Javayant RENEWAL
Octavia G GillianUnited KingdomOnyama Limba PROPOSAL
Tony G VocelkaJapanAsiya Javayant RENEWAL
Kadeem N SchemmerUnited KingdomAnna Fali PROPOSAL
Alejandro M GarufiBrazilAnna Fali PROPOSAL
Isabel M BowleyArgentinaAnna Fali PROPOSAL
Jones V GarufiRussiaElwin Sharvill NEW
Chavez T PoquetteSpainStephen Shaw UNQUALIFIED
Mayumi O SergiJapanAmy Elsner RENEWAL
Faith X RutaUnited KingdomBernardo Dominic NEGOTIATION
Munro U RutaCanadaAmy Elsner RENEWAL
Julie P MacleadJapanOnyama Limba PROPOSAL
David M KuskoJapanAmy Elsner NEGOTIATION
Stacey W BowleyGermanyAmy Elsner UNQUALIFIED
James F CaudyItalyXuxue Feng QUALIFIED
Jennifer T MorascaBrazilStephen Shaw UNQUALIFIED
Wickens N BologniaJapanElwin Sharvill PROPOSAL
Ashley J InouyeFranceElwin Sharvill NEGOTIATION
Silvio H DilliardBrazilElwin Sharvill PROPOSAL
Juan C MorascaUnited KingdomIvan Magalhaes PROPOSAL
James W DoeSpainOnyama Limba UNQUALIFIED
Ivar A SlusarskiBrazilOnyama Limba NEGOTIATION
Maria M WhobreyItalyXuxue Feng QUALIFIED
Kadeem C CaudyUnited KingdomAnna Fali NEW
Leon U InouyeFranceAnna Fali RENEWAL
Leja L GlickIndiaOnyama Limba NEGOTIATION
Leja P DarakjySpainAmy Elsner NEW
Faith N OstroskyRussiaIvan Magalhaes PROPOSAL

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