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
Morrow S CaudyCanadaStephen Shaw NEGOTIATION
Kadeem P DarakjyBrazilIvan Magalhaes NEGOTIATION
Maisha N ButtAustraliaIvan Magalhaes PROPOSAL
Stacey E CaudyItalyAsiya Javayant UNQUALIFIED
Silvio A DoeGermanyBernardo Dominic NEGOTIATION
Johnson S WieserGermanyAmy Elsner RENEWAL
Mayumi J DoeRussiaElwin Sharvill UNQUALIFIED
Aditya X WieserBrazilAmy Elsner NEGOTIATION
Leja H MarrierSpainIoni Bowcher RENEWAL
Leon T PerinIndiaIvan Magalhaes RENEWAL
Ashley U InouyeFranceAnna Fali UNQUALIFIED
Jennifer P SchemmerRussiaAnna Fali RENEWAL
Leon R RutaBrazilIoni Bowcher UNQUALIFIED
James T KolmetzCanadaXuxue Feng RENEWAL
Mayumi F GlickRussiaOnyama Limba NEGOTIATION
Kadeem R OldroydBrazilIoni Bowcher RENEWAL
Jefferson D BriddickUnited KingdomOnyama Limba QUALIFIED
Antonio H CampainBrazilXuxue Feng UNQUALIFIED
Deepesh M DilliardFranceXuxue Feng NEGOTIATION
Antonio O NestleSpainIvan Magalhaes RENEWAL
Maisha X WhobreyCanadaElwin Sharvill UNQUALIFIED
Jefferson J GillianItalyOnyama Limba QUALIFIED
Deepesh N CaudyAustraliaOnyama Limba PROPOSAL
Nicolas R BriddickIndiaBernardo Dominic QUALIFIED
Maisha J CaudyBrazilBernardo Dominic QUALIFIED
Smith K KuskoCanadaStephen Shaw NEW
Aika U FlosiGermanyIvan Magalhaes NEW
Stacey P MorascaSpainOnyama Limba QUALIFIED
Stacey H FlosiBrazilOnyama Limba QUALIFIED
Tony Z KuskoAustraliaOnyama Limba NEGOTIATION
Chavez O MaletArgentinaStephen Shaw QUALIFIED
Rodrigues S RoysterUnited KingdomAnna Fali RENEWAL
Francesco L GauchoRussiaStephen Shaw QUALIFIED
Claire D SergiAustraliaAnna Fali NEW
Silvio R GlickItalyIoni Bowcher QUALIFIED
Clifford A CampainGermanyStephen Shaw QUALIFIED
Chavez X VocelkaSpainIvan Magalhaes UNQUALIFIED
Costa T DoeCanadaStephen Shaw NEW
Jeanfrancois T IturbideSpainAnna Fali PROPOSAL
Wickens B CaldareraGermanyAnna Fali QUALIFIED
Sinclair V CaldareraCanadaIoni Bowcher UNQUALIFIED
Jones H GarufiArgentinaAnna Fali NEW
Clifford F WhobreyItalyXuxue Feng RENEWAL
Jennifer I MorascaIndiaIoni Bowcher QUALIFIED
Tony G DilliardSpainAnna Fali UNQUALIFIED
Nicolas X ChuiJapanBernardo Dominic PROPOSAL
Greenwood J NickaAustraliaAmy Elsner PROPOSAL
Antonio Q RimUnited KingdomStephen Shaw NEGOTIATION
Aruna E FollerArgentinaStephen Shaw NEW
Ashley B RoysterItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna H BriddickBrazilAsiya Javayant NEGOTIATION
Francesco T MarrierBrazilIvan Magalhaes RENEWAL
Adams P RutaCanadaStephen Shaw NEW
Francesco U AlbaresItalyElwin Sharvill RENEWAL
Julie S SaylorsGermanyBernardo Dominic NEGOTIATION
Julie X BologniaSpainAmy Elsner QUALIFIED
Rodrigues Q CaldareraCanadaAnna Fali NEGOTIATION
Nicolas J ButtItalyIvan Magalhaes UNQUALIFIED
Kadeem H FerenczJapanAmy Elsner NEGOTIATION
Salvatore F InouyeJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria J KolmetzAustralia2024-05-15Buckley Miller Wright RENEWAL9Onyama Limba
1001Aika Z WieserFrance2024-06-01Morlong Associates PROPOSAL87Ioni Bowcher
1002Adams O CampainItaly2024-05-19Printing Dimensions NEGOTIATION67Xuxue Feng
1003Isabel T FollerFrance2024-05-21Rangoni Of Florence PROPOSAL73Ioni Bowcher
1004Jeanfrancois C WaycottBrazil2024-05-25Rousseaux, Michael Esq NEGOTIATION21Xuxue Feng
1005Juan A BriddickCanada2024-05-19Morlong Associates QUALIFIED52Onyama Limba
1006Francesco O MarrierUnited Kingdom2024-05-20Morlong Associates NEGOTIATION1Ivan Magalhaes
1007Claire O WaycottSpain2024-05-16Rangoni Of Florence NEGOTIATION99Stephen Shaw
1008Antonio B DoeUnited Kingdom2024-06-02Benton, John B Jr PROPOSAL60Xuxue Feng
1009David W SlusarskiIndia2024-06-06Rangoni Of Florence NEGOTIATION8Bernardo Dominic
1010Deepesh Q CaldareraArgentina2024-05-20Chanay, Jeffrey A Esq PROPOSAL55Stephen Shaw
1011Antonio K BriddickItaly2024-06-04Rangoni Of Florence PROPOSAL3Stephen Shaw
1012Aditya A FigeroaArgentina2024-05-28Dorl, James J Esq NEW95Xuxue Feng
1013Faith C WaycottAustralia2024-06-07Rousseaux, Michael Esq PROPOSAL97Asiya Javayant
1014Salvatore W RutaGermany2024-05-16Chanay, Jeffrey A Esq NEW53Asiya Javayant
1015Tony J MorascaUnited Kingdom2024-05-24Chemel, James L Cpa PROPOSAL85Elwin Sharvill
1016Isabel W RimCanada2024-05-26Truhlar And Truhlar Attys QUALIFIED81Stephen Shaw
1017Clifford I VocelkaUnited Kingdom2024-06-02Feiner Bros NEGOTIATION79Amy Elsner
1018Wickens G MarrierJapan2024-05-16Buckley Miller Wright NEGOTIATION80Bernardo Dominic
1019David Q CaudyItaly2024-05-25King, Christopher A Esq NEW62Stephen Shaw
1020Smith M AlbaresBrazil2024-06-04Printing Dimensions UNQUALIFIED90Onyama Limba
1021James N FlosiGermany2024-06-03Buckley Miller Wright QUALIFIED11Stephen Shaw
1022Misaki C DilliardBrazil2024-06-12King, Christopher A Esq NEGOTIATION23Onyama Limba
1023Smith T SergiUnited Kingdom2024-06-02Feltz Printing Service RENEWAL65Stephen Shaw
1024Tony L WhobreyFrance2024-05-30Benton, John B Jr NEW69Ivan Magalhaes
1025Morrow B NestleAustralia2024-05-30King, Christopher A Esq PROPOSAL19Anna Fali
1026Morrow Z TollnerIndia2024-06-09Chemel, James L Cpa RENEWAL91Anna Fali
1027Wickens X ChuiArgentina2024-06-03Printing Dimensions NEGOTIATION66Amy Elsner
1028Murillo V AmigonFrance2024-05-21Chemel, James L Cpa UNQUALIFIED96Onyama Limba
1029David F StockhamBrazil2024-06-09Truhlar And Truhlar Attys QUALIFIED49Amy Elsner
1030Stacey U CaldareraUnited Kingdom2024-05-20Printing Dimensions PROPOSAL80Elwin Sharvill
1031Johnson G MarrierFrance2024-06-05Rousseaux, Michael Esq NEW76Asiya Javayant
1032Adams G ShinkoFrance2024-05-29Printing Dimensions RENEWAL24Stephen Shaw
1033Chavez J AlbaresIndia2024-05-22Morlong Associates NEW63Bernardo Dominic
1034Aika C VocelkaUnited Kingdom2024-05-22Truhlar And Truhlar Attys UNQUALIFIED3Anna Fali
1035Johnson M IturbideSpain2024-05-23Chemel, James L Cpa PROPOSAL95Stephen Shaw
1036Maria N WhobreyBrazil2024-06-07Buckley Miller Wright UNQUALIFIED98Elwin Sharvill
1037Claire X VocelkaCanada2024-05-17Rangoni Of Florence NEW56Elwin Sharvill
1038Munro J PaprockiSpain2024-05-15Feltz Printing Service QUALIFIED94Amy Elsner
1039Mujtaba F CampainGermany2024-06-11Buckley Miller Wright NEGOTIATION55Elwin Sharvill
1040Mayumi S FerenczIndia2024-06-05Dorl, James J Esq RENEWAL91Anna Fali
1041Octavia A GlickItaly2024-05-15Morlong Associates NEGOTIATION94Elwin Sharvill
1042Mayumi R OstroskyItaly2024-06-07Chapman, Ross E Esq NEW45Asiya Javayant
1043Deepesh M OstroskyRussia2024-05-24Feiner Bros UNQUALIFIED97Anna Fali
1044Stacey K SlusarskiFrance2024-05-29Chanay, Jeffrey A Esq NEGOTIATION74Asiya Javayant
1045Aika J FerenczUnited Kingdom2024-05-22Feiner Bros NEW66Anna Fali
1046Maria W MorascaJapan2024-06-07Buckley Miller Wright PROPOSAL45Stephen Shaw
1047Jennifer F CaldareraFrance2024-05-30Chapman, Ross E Esq QUALIFIED5Ivan Magalhaes
1048Tony V InouyeItaly2024-05-22Benton, John B Jr QUALIFIED87Xuxue Feng
1049Ricardo B WieserItaly2024-06-13Feltz Printing Service NEGOTIATION3Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Smith B BriddickCanadaXuxue Feng NEGOTIATION
Mujtaba K WaycottIndiaXuxue Feng QUALIFIED
Kaitlin W VocelkaCanadaAmy Elsner QUALIFIED
Isabel N SlusarskiBrazilAmy Elsner NEGOTIATION
Adams I RoysterSpainAsiya Javayant RENEWAL
Darci Q TollnerArgentinaIvan Magalhaes PROPOSAL
Jones F SergiRussiaAnna Fali NEGOTIATION
Mayumi I KolmetzUnited KingdomElwin Sharvill QUALIFIED
Stacey I VenereAustraliaOnyama Limba QUALIFIED
Darci M InouyeUnited KingdomStephen Shaw NEGOTIATION
Wickens I WieserFranceOnyama Limba UNQUALIFIED
Aruna S ChuiJapanElwin Sharvill QUALIFIED
Arvin K CampainCanadaAnna Fali QUALIFIED
Johnson L MaletSpainAnna Fali UNQUALIFIED
Octavia I MacleadRussiaAmy Elsner QUALIFIED
Leon J SchemmerBrazilAnna Fali NEW
Mujtaba U RimJapanBernardo Dominic PROPOSAL
Isabel A ButtIndiaXuxue Feng UNQUALIFIED
Francesco V OstroskyUnited KingdomAnna Fali NEGOTIATION
Arvin S InouyeRussiaIvan Magalhaes UNQUALIFIED
Deepesh W StensethRussiaStephen Shaw QUALIFIED
Kadeem X FerenczSpainIvan Magalhaes UNQUALIFIED
Rodrigues H SaylorsJapanAsiya Javayant UNQUALIFIED
Julie Q CaudyJapanIvan Magalhaes PROPOSAL
Emily S DilliardBrazilXuxue Feng NEGOTIATION
Aika X DilliardUnited KingdomAmy Elsner QUALIFIED
Francesco B DoeCanadaXuxue Feng NEGOTIATION
Clifford R MaletArgentinaOnyama Limba PROPOSAL
Rodrigues M AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Wickens B BowleyGermanyOnyama Limba NEGOTIATION
Francesco E RoysterRussiaIoni Bowcher PROPOSAL
Jeanfrancois I VenereIndiaIoni Bowcher NEW
Claire P BowleyArgentinaBernardo Dominic NEW
Adams Y PoquetteRussiaElwin Sharvill NEW
Greenwood L CaudyCanadaStephen Shaw RENEWAL
Alejandro C InouyeSpainXuxue Feng UNQUALIFIED
David A DoeItalyAnna Fali NEW
Kaitlin F RutaIndiaIvan Magalhaes QUALIFIED
Adams P StensethFranceBernardo Dominic RENEWAL
Munro W BologniaItalyStephen Shaw NEW
Jeanfrancois W DilliardIndiaElwin Sharvill RENEWAL
Jennifer O InouyeFranceElwin Sharvill UNQUALIFIED
Adams B PaprockiGermanyAnna Fali RENEWAL
Wickens U GauchoFranceXuxue Feng UNQUALIFIED
Octavia N RulapaughUnited KingdomBernardo Dominic PROPOSAL
Maria D BologniaSpainAmy Elsner UNQUALIFIED
Francesco O PaprockiSpainAsiya Javayant NEGOTIATION
Julie P RimAustraliaIvan Magalhaes UNQUALIFIED
Ashley N SergiIndiaIvan Magalhaes NEGOTIATION
Ashley Q NestleItalyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Maria H Amigon
Juan V Inouye
Jefferson F Malet
Salvatore M Whobrey
Smith I Inouye
Stacey M Bolognia
Adams B Campain
Greenwood N Briddick
Alejandro C Garufi
Tony H Malet
Jefferson I Glick
Leja I Glick
Deepesh Y Slusarski
Maria N Nestle
Costa P Inouye
Leja G Tollner
Julie S Kolmetz
Darci I Paprocki
Morrow O Bolognia
Claire F Poquette
Nicolas X Shinko
Faith E Vocelka
Rodrigues E Amigon
Mujtaba W Gillian
Isabel P Poquette
Stacey W Malet
Mujtaba X Iturbide
Maisha F Slusarski
Alejandro W Poquette
Ricardo A Schemmer
Wickens X Nestle
Arvin Q Sergi
Murillo X Bowley
Ivar B Vocelka
Faith O Rim
Wickens T Kolmetz
Chavez R Caldarera
Julie R Kolmetz
Francesco E Maclead
Aruna M Venere
Costa R Poquette
Darci M Malet
Jennifer H Doe
Adams R Caldarera
Octavia W Maclead
Juan C Gaucho
Morrow S Sergi
Aruna J Butt
Francesco D Malet
Kadeem Z Butt
IdCountryDate
1000Canada2024-05-26
1001Italy2024-06-09
1002United Kingdom2024-06-06
1003Germany2024-06-10
1004Australia2024-06-09
1005Japan2024-05-22
1006Italy2024-05-18
1007Japan2024-06-01
1008Italy2024-05-23
1009Germany2024-06-10
1010Brazil2024-05-31
1011United Kingdom2024-06-10
1012Argentina2024-05-20
1013United Kingdom2024-06-05
1014France2024-05-26
1015France2024-05-28
1016Italy2024-06-10
1017United Kingdom2024-05-15
1018Canada2024-06-10
1019Russia2024-05-24
1020United Kingdom2024-06-08
1021Canada2024-05-26
1022Spain2024-05-18
1023India2024-06-05
1024Spain2024-05-16
1025Canada2024-06-06
1026Brazil2024-06-12
1027United Kingdom2024-05-15
1028India2024-05-18
1029Japan2024-06-08
1030Spain2024-06-07
1031Japan2024-06-08
1032United Kingdom2024-05-20
1033Canada2024-05-22
1034Canada2024-05-31
1035India2024-05-28
1036Russia2024-06-08
1037India2024-05-26
1038Canada2024-06-13
1039United Kingdom2024-05-24
1040Argentina2024-06-11
1041Argentina2024-06-02
1042Spain2024-05-26
1043India2024-05-16
1044Australia2024-05-16
1045Canada2024-06-07
1046Canada2024-06-07
1047Spain2024-06-07
1048India2024-05-17
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Chavez G Perin1000Russia2024-05-26
Clifford L Rulapaugh1001Spain2024-06-04
Silvio G Oldroyd1002Russia2024-05-28
Jennifer U Malet1003Canada2024-05-31
Munro Z Waycott1004Brazil2024-05-31
Maisha O Darakjy1005Italy2024-06-10
Jones O Malet1006Russia2024-05-27
Claire V Nicka1007Spain2024-06-10
Jennifer Y Nicka1008India2024-06-10
Johnson T Malet1009Australia2024-05-25
Maisha K Doe1010Russia2024-05-31
Ricardo R Doe1011Australia2024-05-19
Claire W Stenseth1012Argentina2024-05-21
Johnson A Kusko1013Russia2024-06-02
Jennifer M Dilliard1014Canada2024-05-23
Kadeem P Vocelka1015Spain2024-05-29
Leja F Wieser1016Japan2024-05-26
Arvin S Sergi1017Australia2024-05-22
James T Kolmetz1018Russia2024-06-05
Silvio J Poquette1019Australia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi M KuskoArgentinaXuxue Feng QUALIFIED
Aika P GillianArgentinaIoni Bowcher RENEWAL
James Z CampainRussiaAnna Fali QUALIFIED
Rodrigues Z VocelkaJapanXuxue Feng QUALIFIED
Kadeem A CaudySpainAsiya Javayant NEGOTIATION
Greenwood J RutaArgentinaAsiya Javayant NEW
Ricardo G GauchoCanadaBernardo Dominic RENEWAL
Francesco P ButtSpainAsiya Javayant NEW
Wickens M WieserIndiaIvan Magalhaes QUALIFIED
Munro D SergiIndiaAnna Fali QUALIFIED
Tony K MaletAustraliaStephen Shaw NEW
Cody Q AlbaresCanadaAsiya Javayant RENEWAL
Adams Q SergiJapanAmy Elsner QUALIFIED
Isabel V WhobreyItalyIoni Bowcher NEW
Jennifer A RulapaughJapanStephen Shaw UNQUALIFIED
Ricardo G FollerSpainAnna Fali RENEWAL
Chavez H ShinkoSpainAnna Fali NEGOTIATION
Octavia X RoysterItalyIvan Magalhaes UNQUALIFIED
Wickens X IturbideCanadaIvan Magalhaes UNQUALIFIED
Mujtaba K GauchoItalyOnyama Limba PROPOSAL
Leja B InouyeAustraliaStephen Shaw PROPOSAL
Murillo M MorascaGermanyIvan Magalhaes NEGOTIATION
Aruna U WaycottCanadaStephen Shaw RENEWAL
Isabel D RutaArgentinaElwin Sharvill PROPOSAL
Arvin V RutaIndiaAsiya Javayant NEGOTIATION
Johnson U PaprockiCanadaBernardo Dominic NEGOTIATION
Ashley A ChuiFranceXuxue Feng PROPOSAL
Kaitlin D FigeroaFranceOnyama Limba QUALIFIED
Jefferson B SlusarskiItalyXuxue Feng UNQUALIFIED
Claire E DarakjyJapanXuxue Feng NEGOTIATION
Munro Q CampainArgentinaXuxue Feng QUALIFIED
Kadeem U KuskoUnited KingdomXuxue Feng NEW
Aruna N RimFranceOnyama Limba PROPOSAL
Stacey H DilliardFranceIoni Bowcher RENEWAL
Mayumi O ShinkoFranceAnna Fali NEGOTIATION
Sinclair G BowleyFranceOnyama Limba PROPOSAL
Jones D KolmetzItalyElwin Sharvill QUALIFIED
David P VocelkaItalyAnna Fali UNQUALIFIED
Munro L SaylorsGermanyAmy Elsner QUALIFIED
Misaki F SaylorsArgentinaAsiya Javayant 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>