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
Stacey Y DilliardArgentinaBernardo Dominic NEW
Kadeem D ChuiRussiaAsiya Javayant NEGOTIATION
Wickens S MarrierCanadaAsiya Javayant NEGOTIATION
Faith Z KolmetzBrazilIvan Magalhaes NEW
James M ShinkoBrazilAnna Fali NEGOTIATION
Sinclair F MacleadGermanyBernardo Dominic PROPOSAL
David Z MaletUnited KingdomXuxue Feng QUALIFIED
Smith G BriddickFranceAmy Elsner NEW
Nicolas P DarakjyFranceAsiya Javayant UNQUALIFIED
Johnson G MorascaAustraliaIvan Magalhaes NEW
Leja S DarakjyItalyElwin Sharvill NEW
Ashley U CampainItalyAnna Fali QUALIFIED
Deepesh C IturbideCanadaAmy Elsner QUALIFIED
Silvio P FigeroaJapanElwin Sharvill PROPOSAL
Stacey C MarrierRussiaBernardo Dominic PROPOSAL
Jeanfrancois J KolmetzItalyIvan Magalhaes NEW
Jones U StockhamBrazilXuxue Feng QUALIFIED
Mujtaba C IturbideRussiaOnyama Limba QUALIFIED
James C IturbideAustraliaBernardo Dominic NEGOTIATION
Smith V ChuiItalyElwin Sharvill NEW
Nicolas N RulapaughGermanyIoni Bowcher QUALIFIED
Stacey W CampainGermanyAsiya Javayant QUALIFIED
Francesco C KolmetzBrazilElwin Sharvill NEGOTIATION
Jefferson J IturbideItalyXuxue Feng QUALIFIED
Izzy L ButtBrazilBernardo Dominic NEW
Aditya X DilliardArgentinaAsiya Javayant RENEWAL
Murillo S CampainJapanElwin Sharvill NEW
Darci A SaylorsUnited KingdomElwin Sharvill QUALIFIED
Ricardo C PaprockiRussiaAsiya Javayant QUALIFIED
Izzy Y MorascaFranceIoni Bowcher PROPOSAL
James E PaprockiArgentinaStephen Shaw UNQUALIFIED
David I GarufiCanadaElwin Sharvill PROPOSAL
Murillo K WhobreyArgentinaAnna Fali NEGOTIATION
Smith V OstroskyAustraliaAmy Elsner NEGOTIATION
Jefferson T SlusarskiFranceElwin Sharvill NEW
Rodrigues H FerenczUnited KingdomAsiya Javayant PROPOSAL
Alejandro C PoquetteAustraliaOnyama Limba RENEWAL
Alejandro A CaldareraCanadaXuxue Feng PROPOSAL
Jennifer X CaldareraRussiaOnyama Limba PROPOSAL
Murillo K ButtIndiaAnna Fali UNQUALIFIED
Clifford C MarrierArgentinaElwin Sharvill UNQUALIFIED
Wickens Q GauchoArgentinaElwin Sharvill NEW
Cody B FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Murillo W InouyeBrazilElwin Sharvill PROPOSAL
Sinclair T StensethAustraliaBernardo Dominic NEW
Aika S RimJapanAmy Elsner NEGOTIATION
Francesco W RutaItalyIoni Bowcher UNQUALIFIED
Nicolas A StensethUnited KingdomIvan Magalhaes QUALIFIED
Arvin K KolmetzRussiaXuxue Feng NEW
Maisha E WieserIndiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois R ChuiArgentinaStephen Shaw PROPOSAL
Morrow C InouyeSpainAnna Fali NEW
Aika N BowleyAustraliaBernardo Dominic QUALIFIED
Jennifer F WaycottBrazilIvan Magalhaes NEW
Johnson K GlickItalyIoni Bowcher UNQUALIFIED
Darci F SchemmerJapanElwin Sharvill PROPOSAL
David L FlosiUnited KingdomStephen Shaw UNQUALIFIED
Johnson Y NestleSpainXuxue Feng QUALIFIED
Nicolas U PaprockiJapanAsiya Javayant NEGOTIATION
Maisha R SergiArgentinaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh N BologniaCanada2024-05-17Rousseaux, Michael Esq QUALIFIED51Ioni Bowcher
1001Faith B MacleadCanada2024-05-19Chapman, Ross E Esq QUALIFIED56Ivan Magalhaes
1002Salvatore Q StockhamFrance2024-06-02Chapman, Ross E Esq QUALIFIED91Xuxue Feng
1003Leon T DarakjyBrazil2024-05-18Commercial Press PROPOSAL95Ivan Magalhaes
1004Clifford R RimUnited Kingdom2024-06-12Rangoni Of Florence NEW26Amy Elsner
1005James C TollnerIndia2024-05-28Dorl, James J Esq NEW32Bernardo Dominic
1006Cody H PoquetteBrazil2024-05-16Chanay, Jeffrey A Esq UNQUALIFIED75Asiya Javayant
1007Greenwood E MarrierBrazil2024-05-15Benton, John B Jr UNQUALIFIED20Onyama Limba
1008Clifford Z PoquetteArgentina2024-05-15Rousseaux, Michael Esq NEGOTIATION47Ivan Magalhaes
1009Alejandro V MaletArgentina2024-06-02Chanay, Jeffrey A Esq NEW26Ivan Magalhaes
1010Aika R MorascaCanada2024-05-18Chapman, Ross E Esq QUALIFIED88Ioni Bowcher
1011Greenwood F SergiBrazil2024-06-11Morlong Associates NEGOTIATION82Elwin Sharvill
1012Ricardo A VenereItaly2024-06-07Chapman, Ross E Esq NEW57Ioni Bowcher
1013Ivar V BriddickBrazil2024-06-05Commercial Press UNQUALIFIED40Asiya Javayant
1014Adams K OstroskyItaly2024-05-29Benton, John B Jr UNQUALIFIED19Amy Elsner
1015Alejandro T ButtUnited Kingdom2024-05-15Chemel, James L Cpa QUALIFIED72Anna Fali
1016Ashley E TollnerBrazil2024-05-24Feltz Printing Service NEGOTIATION91Ivan Magalhaes
1017Octavia Q MaletItaly2024-05-23King, Christopher A Esq NEW80Bernardo Dominic
1018Jefferson Q CampainArgentina2024-05-28Morlong Associates PROPOSAL71Amy Elsner
1019Octavia M NickaItaly2024-05-25Chemel, James L Cpa NEGOTIATION56Amy Elsner
1020Jones F MaletArgentina2024-05-16Feltz Printing Service NEW16Asiya Javayant
1021Aruna Y CaldareraUnited Kingdom2024-05-31King, Christopher A Esq QUALIFIED47Xuxue Feng
1022Darci J FlosiIndia2024-05-27Feiner Bros QUALIFIED58Ioni Bowcher
1023Leon G FollerArgentina2024-05-18Feiner Bros NEW41Onyama Limba
1024Aika Y PerinCanada2024-05-21Feiner Bros UNQUALIFIED88Asiya Javayant
1025Ashley M MaletUnited Kingdom2024-05-22Feltz Printing Service NEW0Amy Elsner
1026Mayumi Q InouyeUnited Kingdom2024-06-10Chapman, Ross E Esq UNQUALIFIED52Elwin Sharvill
1027Jeanfrancois U KuskoArgentina2024-06-09Chapman, Ross E Esq PROPOSAL48Bernardo Dominic
1028Ashley Z MacleadAustralia2024-06-12Benton, John B Jr QUALIFIED61Ivan Magalhaes
1029Maria U RimCanada2024-06-04King, Christopher A Esq PROPOSAL87Xuxue Feng
1030Francesco Z BriddickIndia2024-05-15Chapman, Ross E Esq QUALIFIED23Ivan Magalhaes
1031Kaitlin N AlbaresItaly2024-06-13King, Christopher A Esq QUALIFIED33Stephen Shaw
1032Greenwood J NestleBrazil2024-06-05Feltz Printing Service QUALIFIED34Elwin Sharvill
1033Salvatore E ChuiArgentina2024-05-18Commercial Press NEGOTIATION62Xuxue Feng
1034Julie E ShinkoRussia2024-05-24Chapman, Ross E Esq NEGOTIATION72Asiya Javayant
1035Cody G WaycottRussia2024-05-28Rousseaux, Michael Esq NEW77Ioni Bowcher
1036Cody Z SlusarskiIndia2024-06-09Buckley Miller Wright NEGOTIATION1Ivan Magalhaes
1037Smith A TollnerFrance2024-06-12Truhlar And Truhlar Attys NEGOTIATION99Onyama Limba
1038Leon Q ButtJapan2024-05-21Rangoni Of Florence NEW12Anna Fali
1039Misaki M VocelkaAustralia2024-06-05Commercial Press UNQUALIFIED28Amy Elsner
1040Smith V OldroydUnited Kingdom2024-05-28Dorl, James J Esq NEW92Onyama Limba
1041Julie O SaylorsUnited Kingdom2024-06-05Rousseaux, Michael Esq PROPOSAL10Onyama Limba
1042Smith H TollnerFrance2024-05-20Feltz Printing Service NEW88Ivan Magalhaes
1043Izzy O KolmetzGermany2024-06-03Rousseaux, Michael Esq RENEWAL8Ivan Magalhaes
1044Leon Q DoeItaly2024-05-25Feiner Bros RENEWAL83Xuxue Feng
1045Mayumi J FerenczAustralia2024-05-19Morlong Associates UNQUALIFIED71Bernardo Dominic
1046Ivar O GauchoAustralia2024-05-30Rousseaux, Michael Esq PROPOSAL26Ioni Bowcher
1047Maisha W MaletItaly2024-05-30Truhlar And Truhlar Attys PROPOSAL92Bernardo Dominic
1048Stacey F MaletBrazil2024-06-01Benton, John B Jr NEW30Ioni Bowcher
1049Claire H FlosiCanada2024-05-23Morlong Associates QUALIFIED31Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith V KolmetzSpainStephen Shaw NEGOTIATION
Faith R InouyeAustraliaAsiya Javayant NEGOTIATION
Kaitlin P DoeBrazilIoni Bowcher RENEWAL
Rodrigues U AlbaresCanadaXuxue Feng NEW
Ricardo J MorascaFranceAmy Elsner UNQUALIFIED
Juan O RoysterRussiaElwin Sharvill NEGOTIATION
Chavez E GillianCanadaOnyama Limba QUALIFIED
Murillo X MarrierArgentinaAmy Elsner PROPOSAL
Smith R MaletAustraliaOnyama Limba UNQUALIFIED
Misaki C ShinkoArgentinaAnna Fali NEW
Aika A CaldareraGermanyAnna Fali QUALIFIED
Salvatore A RutaRussiaStephen Shaw NEGOTIATION
Johnson J StensethItalyStephen Shaw NEGOTIATION
Ivar N GillianCanadaAnna Fali PROPOSAL
Francesco J OstroskyGermanyAsiya Javayant NEW
Ricardo T RimCanadaIoni Bowcher PROPOSAL
Claire R NickaGermanyAsiya Javayant UNQUALIFIED
Ricardo T NickaBrazilBernardo Dominic UNQUALIFIED
Chavez T KuskoGermanyAmy Elsner NEGOTIATION
Ivar H TollnerSpainXuxue Feng NEW
Smith H RutaBrazilElwin Sharvill NEW
Morrow T DoeUnited KingdomOnyama Limba RENEWAL
Costa R RulapaughJapanIoni Bowcher RENEWAL
David Q SlusarskiIndiaAnna Fali UNQUALIFIED
Juan A DoeFranceAmy Elsner UNQUALIFIED
Arvin F AlbaresBrazilIoni Bowcher RENEWAL
Wickens J NestleUnited KingdomAmy Elsner UNQUALIFIED
Antonio X RimBrazilBernardo Dominic QUALIFIED
Isabel M IturbideBrazilXuxue Feng NEW
Ivar Q VocelkaIndiaElwin Sharvill QUALIFIED
James C KolmetzJapanStephen Shaw PROPOSAL
Octavia X MacleadCanadaBernardo Dominic NEGOTIATION
Chavez D DilliardAustraliaAmy Elsner NEW
Salvatore A SlusarskiSpainIoni Bowcher UNQUALIFIED
Jones A SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Jennifer A VenereSpainAnna Fali PROPOSAL
Aruna P WhobreyArgentinaXuxue Feng RENEWAL
Octavia X PaprockiArgentinaIoni Bowcher NEW
Maisha C FerenczIndiaAmy Elsner RENEWAL
Munro N DoeSpainOnyama Limba RENEWAL
Deepesh A WieserFranceAmy Elsner QUALIFIED
Nicolas Q MarrierSpainXuxue Feng NEW
Arvin B DarakjySpainOnyama Limba PROPOSAL
Ricardo C MarrierFranceIvan Magalhaes QUALIFIED
Chavez R GillianItalyXuxue Feng RENEWAL
David B AmigonItalyStephen Shaw QUALIFIED
Greenwood U PoquetteSpainAnna Fali QUALIFIED
Wickens A CaudySpainStephen Shaw QUALIFIED
Emily E MacleadAustraliaStephen Shaw NEW
Izzy P SchemmerCanadaXuxue Feng RENEWAL
Frozen Columns
Name
Murillo Q Garufi
Leja C Flosi
Clifford R Garufi
Jennifer K Malet
Kaitlin K Marrier
Deepesh I Poquette
Julie Y Darakjy
Sinclair M Kusko
Salvatore R Schemmer
Nicolas Z Malet
Salvatore V Venere
Greenwood Z Flosi
Jennifer Q Bowley
Izzy U Slusarski
Adams V Malet
Aika E Schemmer
Chavez R Foller
Chavez Z Inouye
Wickens S Darakjy
Costa I Malet
Aditya K Kolmetz
Greenwood Q Vocelka
Greenwood Q Ferencz
Izzy R Stenseth
Antonio Z Caudy
Isabel H Royster
Octavia U Malet
James N Whobrey
Jennifer U Gaucho
Chavez H Gaucho
Costa Y Caudy
Leja W Ostrosky
Deepesh V Vocelka
Aika P Rim
Jennifer I Darakjy
Stacey Q Bolognia
Smith S Doe
Aika H Chui
Stacey E Figeroa
Isabel O Sergi
Chavez N Venere
James L Waycott
Costa X Caldarera
Faith M Butt
Deepesh H Ruta
Arvin E Malet
Chavez T Bolognia
Jefferson Q Doe
Aruna V Campain
Aruna Q Amigon
IdCountryDate
1000Germany2024-06-01
1001Argentina2024-05-25
1002France2024-05-28
1003Italy2024-05-25
1004Germany2024-05-22
1005United Kingdom2024-06-09
1006India2024-06-01
1007India2024-05-26
1008Argentina2024-06-11
1009Germany2024-06-05
1010United Kingdom2024-06-12
1011Germany2024-05-29
1012United Kingdom2024-06-04
1013United Kingdom2024-05-18
1014Argentina2024-06-04
1015United Kingdom2024-06-04
1016Spain2024-06-01
1017France2024-05-15
1018Brazil2024-05-27
1019Japan2024-05-31
1020Spain2024-06-02
1021Japan2024-06-05
1022Italy2024-06-03
1023Italy2024-05-20
1024Brazil2024-06-12
1025Russia2024-05-30
1026Spain2024-05-15
1027United Kingdom2024-05-31
1028Germany2024-06-11
1029Australia2024-05-17
1030Japan2024-06-08
1031Canada2024-06-13
1032Russia2024-06-07
1033Australia2024-05-17
1034United Kingdom2024-05-25
1035Germany2024-05-20
1036Japan2024-05-28
1037Brazil2024-06-01
1038Argentina2024-05-23
1039Italy2024-05-30
1040Australia2024-05-19
1041Germany2024-06-10
1042Spain2024-05-31
1043France2024-06-05
1044Italy2024-06-08
1045Italy2024-06-10
1046India2024-06-02
1047Japan2024-06-10
1048India2024-05-30
1049Argentina2024-05-25

On-Demand Data

NameIdCountryDate
Cody O Kusko1000Australia2024-06-09
Salvatore Z Malet1001Japan2024-05-31
Johnson M Darakjy1002United Kingdom2024-06-13
Silvio Y Nestle1003United Kingdom2024-05-18
Claire D Briddick1004United Kingdom2024-05-22
Jeanfrancois E Stenseth1005Germany2024-06-03
Aika V Vocelka1006Italy2024-06-07
Deepesh X Schemmer1007Argentina2024-06-13
Cody R Maclead1008Spain2024-06-11
Greenwood L Gillian1009Italy2024-06-05
Jefferson S Tollner1010Canada2024-06-11
Adams Y Ostrosky1011Spain2024-06-06
Sinclair F Malet1012Italy2024-06-08
Clifford L Malet1013Australia2024-05-17
Stacey K Glick1014France2024-06-02
Francesco N Stenseth1015Spain2024-05-31
David S Butt1016Japan2024-05-28
Jennifer G Darakjy1017Australia2024-05-22
David K Bolognia1018France2024-06-01
Jefferson K Dilliard1019Italy2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy T FlosiIndiaIoni Bowcher NEW
Misaki U AlbaresAustraliaIoni Bowcher QUALIFIED
Arvin M TollnerAustraliaBernardo Dominic RENEWAL
Juan A DarakjyUnited KingdomAmy Elsner QUALIFIED
Nicolas M GlickCanadaAnna Fali RENEWAL
Emily Y CampainCanadaBernardo Dominic UNQUALIFIED
Misaki N AmigonJapanOnyama Limba NEW
Faith J RoysterJapanAnna Fali PROPOSAL
Alejandro M BriddickAustraliaAnna Fali NEW
James M StockhamRussiaIvan Magalhaes QUALIFIED
Juan Z IturbideGermanyIoni Bowcher NEW
Deepesh T GarufiCanadaIoni Bowcher NEGOTIATION
Leja B SlusarskiJapanXuxue Feng UNQUALIFIED
Aika F IturbideUnited KingdomElwin Sharvill PROPOSAL
Jones N GauchoGermanyBernardo Dominic UNQUALIFIED
Johnson I MaletUnited KingdomElwin Sharvill QUALIFIED
Wickens G DoeBrazilOnyama Limba UNQUALIFIED
Salvatore F CaldareraItalyBernardo Dominic QUALIFIED
Ricardo E SchemmerCanadaStephen Shaw NEGOTIATION
Greenwood E RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Faith K VocelkaItalyBernardo Dominic NEW
Isabel Y MorascaFranceStephen Shaw QUALIFIED
James O MaletJapanBernardo Dominic UNQUALIFIED
Faith H KuskoAustraliaAsiya Javayant RENEWAL
Francesco G RulapaughRussiaBernardo Dominic UNQUALIFIED
Mujtaba I StensethAustraliaStephen Shaw RENEWAL
Arvin H ShinkoItalyIvan Magalhaes NEW
Antonio N NickaItalyIvan Magalhaes PROPOSAL
Aditya A ChuiFranceElwin Sharvill UNQUALIFIED
Isabel Q FerenczBrazilStephen Shaw NEW
Stacey E ShinkoIndiaIoni Bowcher QUALIFIED
Julie V KuskoBrazilElwin Sharvill RENEWAL
Leon U RimSpainStephen Shaw NEW
Adams T KolmetzItalyElwin Sharvill RENEWAL
Greenwood W ButtRussiaElwin Sharvill NEW
Wickens W SlusarskiArgentinaStephen Shaw QUALIFIED
Emily L RulapaughArgentinaIoni Bowcher RENEWAL
Nicolas G SlusarskiGermanyStephen Shaw QUALIFIED
Izzy N MaletArgentinaAmy Elsner QUALIFIED
Alejandro U FollerJapanAsiya 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>