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
Leon Z DilliardSpainOnyama Limba NEW
Aika R ButtSpainElwin Sharvill QUALIFIED
Tony J KolmetzArgentinaAsiya Javayant NEGOTIATION
Claire Y FerenczJapanElwin Sharvill PROPOSAL
Jefferson Z PerinArgentinaBernardo Dominic QUALIFIED
Kadeem P ChuiBrazilStephen Shaw RENEWAL
Nicolas C InouyeRussiaXuxue Feng PROPOSAL
Ashley E MaletFranceIvan Magalhaes UNQUALIFIED
Jefferson P BologniaCanadaIoni Bowcher UNQUALIFIED
Smith V VenereBrazilOnyama Limba NEW
Izzy B InouyeGermanyBernardo Dominic NEGOTIATION
Leja Y NickaFranceAsiya Javayant UNQUALIFIED
Kaitlin H StockhamAustraliaOnyama Limba UNQUALIFIED
Maria Y MaletArgentinaOnyama Limba QUALIFIED
Faith M AmigonBrazilAnna Fali RENEWAL
Maria X GauchoUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois A ButtAustraliaOnyama Limba RENEWAL
Murillo A CaudyAustraliaOnyama Limba RENEWAL
Ricardo K MarrierArgentinaAmy Elsner UNQUALIFIED
Maria W RoysterGermanyAsiya Javayant NEGOTIATION
Deepesh P FerenczFranceAnna Fali NEGOTIATION
Juan J IturbideGermanyAmy Elsner UNQUALIFIED
Stacey Q StensethGermanyBernardo Dominic QUALIFIED
Ashley X RutaIndiaElwin Sharvill QUALIFIED
Chavez G MorascaBrazilAnna Fali RENEWAL
Kaitlin I CampainFranceElwin Sharvill NEGOTIATION
Silvio K KuskoAustraliaStephen Shaw RENEWAL
Julie F RoysterGermanyAnna Fali UNQUALIFIED
Leon U KuskoGermanyBernardo Dominic QUALIFIED
Jones Y TollnerIndiaOnyama Limba NEGOTIATION
Kadeem G ButtJapanIoni Bowcher QUALIFIED
Mayumi B GarufiAustraliaAmy Elsner QUALIFIED
Kaitlin B VenereArgentinaIoni Bowcher NEGOTIATION
Francesco Q ButtAustraliaAsiya Javayant QUALIFIED
Morrow N FigeroaCanadaAnna Fali NEW
Aruna N AlbaresCanadaIvan Magalhaes QUALIFIED
Murillo K BowleyJapanAsiya Javayant NEW
Deepesh R DoeRussiaStephen Shaw NEGOTIATION
Antonio J BowleyBrazilXuxue Feng PROPOSAL
Jones P StockhamUnited KingdomIoni Bowcher PROPOSAL
Wickens J MorascaGermanyOnyama Limba RENEWAL
Smith H SchemmerBrazilElwin Sharvill UNQUALIFIED
Stacey V IturbideGermanyElwin Sharvill RENEWAL
Jones C RulapaughAustraliaBernardo Dominic NEGOTIATION
Leon M BriddickUnited KingdomStephen Shaw QUALIFIED
Mayumi E PerinIndiaIvan Magalhaes RENEWAL
Cody V StockhamArgentinaXuxue Feng NEW
Ivar N ShinkoAustraliaIvan Magalhaes NEW
Isabel Q AlbaresUnited KingdomAsiya Javayant UNQUALIFIED
Leon X GillianItalyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson S WhobreyRussiaStephen Shaw RENEWAL
Kadeem D SergiAustraliaOnyama Limba NEW
Deepesh P RimGermanyAsiya Javayant UNQUALIFIED
Isabel U OstroskyFranceElwin Sharvill UNQUALIFIED
Claire C FerenczFranceBernardo Dominic NEW
Juan P FigeroaCanadaIvan Magalhaes PROPOSAL
Jefferson I MorascaUnited KingdomAsiya Javayant NEGOTIATION
Isabel D OldroydItalyAnna Fali UNQUALIFIED
James C SaylorsItalyXuxue Feng RENEWAL
Jefferson A PaprockiRussiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro R ButtItaly2024-05-09King, Christopher A Esq NEGOTIATION27Amy Elsner
1001Wickens M PaprockiRussia2024-05-20Chanay, Jeffrey A Esq NEGOTIATION85Stephen Shaw
1002Rodrigues T ShinkoFrance2024-05-18Chanay, Jeffrey A Esq UNQUALIFIED76Stephen Shaw
1003Stacey F FlosiBrazil2024-04-25Rousseaux, Michael Esq UNQUALIFIED64Onyama Limba
1004Aika I VenereUnited Kingdom2024-05-08Chemel, James L Cpa NEW55Ioni Bowcher
1005Maisha C DoeArgentina2024-05-08Truhlar And Truhlar Attys NEW69Elwin Sharvill
1006Antonio M VocelkaJapan2024-04-28Commercial Press NEGOTIATION62Ioni Bowcher
1007Emily J TollnerGermany2024-05-10Buckley Miller Wright NEW7Xuxue Feng
1008Faith E KuskoUnited Kingdom2024-05-24Feiner Bros NEGOTIATION48Asiya Javayant
1009Octavia X WaycottBrazil2024-05-12Rangoni Of Florence UNQUALIFIED62Anna Fali
1010Clifford N MorascaAustralia2024-04-28Dorl, James J Esq UNQUALIFIED14Xuxue Feng
1011Antonio Q SaylorsGermany2024-05-03Chapman, Ross E Esq PROPOSAL39Anna Fali
1012Aditya O FlosiUnited Kingdom2024-05-01Dorl, James J Esq UNQUALIFIED32Asiya Javayant
1013Mayumi P BowleyCanada2024-05-04King, Christopher A Esq PROPOSAL0Xuxue Feng
1014Silvio V AmigonArgentina2024-05-21Morlong Associates QUALIFIED96Elwin Sharvill
1015Aruna W FollerCanada2024-04-30Morlong Associates UNQUALIFIED77Onyama Limba
1016Adams P MarrierBrazil2024-05-24Chanay, Jeffrey A Esq NEW61Xuxue Feng
1017Aika I FerenczJapan2024-04-29Buckley Miller Wright UNQUALIFIED48Asiya Javayant
1018Sinclair F PerinIndia2024-05-22Chanay, Jeffrey A Esq NEW80Stephen Shaw
1019Kaitlin Y GlickUnited Kingdom2024-05-08Feltz Printing Service RENEWAL47Elwin Sharvill
1020Mujtaba K DoeArgentina2024-05-14Buckley Miller Wright QUALIFIED14Ivan Magalhaes
1021Aruna O PaprockiRussia2024-05-21Chemel, James L Cpa NEGOTIATION26Anna Fali
1022Ashley M WhobreyCanada2024-05-18Dorl, James J Esq QUALIFIED24Asiya Javayant
1023Alejandro R DarakjyAustralia2024-04-27Rangoni Of Florence QUALIFIED82Ivan Magalhaes
1024David F AmigonSpain2024-05-08Dorl, James J Esq PROPOSAL57Stephen Shaw
1025Morrow Q WieserSpain2024-05-18Benton, John B Jr NEGOTIATION93Ioni Bowcher
1026Morrow D OldroydItaly2024-05-20Chapman, Ross E Esq UNQUALIFIED17Elwin Sharvill
1027Aditya A ChuiGermany2024-05-05Chemel, James L Cpa RENEWAL72Stephen Shaw
1028Arvin Q WieserJapan2024-04-29Dorl, James J Esq UNQUALIFIED87Elwin Sharvill
1029Julie T CaldareraJapan2024-05-19Morlong Associates QUALIFIED41Asiya Javayant
1030Mujtaba R AmigonSpain2024-04-28Printing Dimensions RENEWAL53Xuxue Feng
1031Francesco R NestleRussia2024-05-19Chemel, James L Cpa UNQUALIFIED82Anna Fali
1032Nicolas T FollerUnited Kingdom2024-04-25Chanay, Jeffrey A Esq RENEWAL59Anna Fali
1033Munro A WieserGermany2024-05-10Commercial Press QUALIFIED77Asiya Javayant
1034Morrow U BriddickSpain2024-04-29Printing Dimensions UNQUALIFIED94Elwin Sharvill
1035Mujtaba T PoquetteIndia2024-05-06Dorl, James J Esq PROPOSAL91Bernardo Dominic
1036Costa X InouyeCanada2024-05-11King, Christopher A Esq UNQUALIFIED73Stephen Shaw
1037Alejandro Z NestleCanada2024-05-01Buckley Miller Wright QUALIFIED6Amy Elsner
1038Stacey K MarrierBrazil2024-04-27King, Christopher A Esq UNQUALIFIED11Asiya Javayant
1039Stacey A VocelkaSpain2024-05-09Truhlar And Truhlar Attys UNQUALIFIED38Asiya Javayant
1040Adams Z CaldareraAustralia2024-04-30Commercial Press PROPOSAL6Anna Fali
1041Clifford U MacleadFrance2024-05-22Printing Dimensions NEGOTIATION36Asiya Javayant
1042Stacey C KolmetzCanada2024-05-06Dorl, James J Esq PROPOSAL74Onyama Limba
1043Julie P BologniaItaly2024-05-14Benton, John B Jr PROPOSAL25Anna Fali
1044Salvatore K AlbaresArgentina2024-05-21Printing Dimensions NEW45Xuxue Feng
1045Faith C MarrierBrazil2024-05-24Truhlar And Truhlar Attys PROPOSAL61Elwin Sharvill
1046Isabel S GarufiFrance2024-05-08Commercial Press RENEWAL71Ivan Magalhaes
1047Isabel P GarufiIndia2024-05-03Rousseaux, Michael Esq PROPOSAL14Asiya Javayant
1048Rodrigues B CampainItaly2024-05-16Commercial Press NEGOTIATION38Xuxue Feng
1049Isabel X PaprockiJapan2024-05-01Chemel, James L Cpa NEW50Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Munro U NickaJapanBernardo Dominic RENEWAL
Antonio Q KuskoFranceAmy Elsner NEW
Aika Z RulapaughCanadaIvan Magalhaes NEW
Munro O RulapaughIndiaIvan Magalhaes RENEWAL
Aika L NickaSpainIoni Bowcher RENEWAL
Leon K WieserJapanIoni Bowcher NEGOTIATION
Jennifer L SlusarskiCanadaBernardo Dominic PROPOSAL
Leon B ButtIndiaXuxue Feng NEW
Alejandro O SlusarskiRussiaStephen Shaw QUALIFIED
Munro W FollerBrazilElwin Sharvill NEGOTIATION
Alejandro U WieserRussiaElwin Sharvill QUALIFIED
Sinclair O NickaUnited KingdomOnyama Limba RENEWAL
Sinclair Y StensethAustraliaIvan Magalhaes NEGOTIATION
Ivar J RulapaughRussiaAmy Elsner PROPOSAL
Isabel S DarakjyIndiaXuxue Feng NEW
Deepesh Z DoeIndiaIoni Bowcher NEW
Deepesh L PerinGermanyIvan Magalhaes NEGOTIATION
Kadeem M GlickSpainIoni Bowcher NEGOTIATION
Mayumi H ButtIndiaStephen Shaw NEGOTIATION
David V PoquetteItalyIoni Bowcher NEW
Juan S SchemmerItalyBernardo Dominic QUALIFIED
Ashley G ShinkoBrazilAnna Fali UNQUALIFIED
Deepesh K MaletRussiaAnna Fali PROPOSAL
Mayumi L PerinBrazilIvan Magalhaes QUALIFIED
Leja R RoysterJapanOnyama Limba UNQUALIFIED
Maria E WieserAustraliaOnyama Limba NEGOTIATION
Maria Q PerinBrazilXuxue Feng QUALIFIED
Leja F GillianSpainElwin Sharvill UNQUALIFIED
Alejandro R RimJapanBernardo Dominic NEW
Antonio X SaylorsIndiaOnyama Limba NEGOTIATION
Alejandro N RutaBrazilAnna Fali QUALIFIED
Kaitlin T KuskoArgentinaAmy Elsner PROPOSAL
Maria B RoysterArgentinaElwin Sharvill PROPOSAL
Wickens J DilliardAustraliaAmy Elsner RENEWAL
Mujtaba L DoeGermanyAmy Elsner RENEWAL
Leon Z CaldareraUnited KingdomBernardo Dominic PROPOSAL
Emily Y MaletRussiaBernardo Dominic UNQUALIFIED
Murillo Z StensethRussiaXuxue Feng PROPOSAL
Sinclair G VocelkaSpainBernardo Dominic QUALIFIED
Maria P CampainJapanStephen Shaw PROPOSAL
Juan X FerenczBrazilXuxue Feng NEW
Murillo M ChuiSpainOnyama Limba QUALIFIED
Greenwood U VocelkaJapanAnna Fali UNQUALIFIED
Clifford O StensethRussiaOnyama Limba PROPOSAL
Alejandro D TollnerItalyIoni Bowcher NEW
Ivar Q OstroskyItalyElwin Sharvill UNQUALIFIED
Stacey L WhobreyBrazilAsiya Javayant UNQUALIFIED
Deepesh E WhobreyAustraliaIoni Bowcher PROPOSAL
Francesco L AmigonGermanyBernardo Dominic NEW
Clifford E MacleadFranceIvan Magalhaes PROPOSAL
Frozen Columns
Name
Claire P Doe
Francesco D Malet
Maisha E Figeroa
Ivar C Caldarera
Kadeem G Inouye
Salvatore X Ferencz
Cody G Inouye
Sinclair K Ferencz
Jeanfrancois Y Darakjy
Isabel K Schemmer
Emily E Venere
Maria D Malet
Munro V Foller
Nicolas X Saylors
Kaitlin S Rulapaugh
James T Kusko
Wickens Q Gillian
Deepesh X Slusarski
Murillo F Oldroyd
Munro P Rulapaugh
Chavez P Marrier
Emily B Inouye
Aditya G Sergi
Adams E Malet
Deepesh G Darakjy
Rodrigues V Campain
Tony R Maclead
Sinclair X Nestle
Leja N Venere
Mayumi Z Venere
Octavia D Darakjy
Munro W Sergi
Leon O Campain
Izzy F Venere
Faith M Rulapaugh
Adams U Oldroyd
Isabel H Nestle
Leon V Marrier
Ashley H Albares
James Q Amigon
Cody Z Nicka
Silvio G Albares
Jefferson I Paprocki
Misaki Q Campain
Emily B Marrier
Julie J Flosi
Tony B Foller
Silvio B Morasca
Juan C Oldroyd
Antonio L Waycott
IdCountryDate
1000France2024-05-19
1001France2024-04-29
1002Italy2024-05-08
1003France2024-04-26
1004Brazil2024-05-04
1005Spain2024-04-27
1006United Kingdom2024-05-21
1007Japan2024-05-11
1008Australia2024-05-16
1009France2024-05-08
1010Brazil2024-05-22
1011France2024-05-01
1012Japan2024-05-08
1013Argentina2024-05-16
1014Japan2024-04-27
1015Canada2024-05-01
1016United Kingdom2024-05-04
1017Italy2024-04-26
1018Brazil2024-05-24
1019Australia2024-05-20
1020France2024-05-21
1021United Kingdom2024-04-29
1022Russia2024-05-02
1023India2024-05-09
1024India2024-05-19
1025Canada2024-05-02
1026Germany2024-04-29
1027Argentina2024-05-18
1028Canada2024-05-02
1029Argentina2024-05-14
1030United Kingdom2024-05-05
1031Italy2024-05-17
1032United Kingdom2024-04-27
1033Spain2024-05-13
1034Brazil2024-04-29
1035France2024-05-03
1036Australia2024-05-22
1037Italy2024-04-27
1038Germany2024-05-23
1039Japan2024-05-16
1040Argentina2024-05-18
1041Italy2024-05-16
1042France2024-05-05
1043India2024-05-03
1044Argentina2024-05-03
1045Germany2024-05-17
1046Argentina2024-05-09
1047Brazil2024-04-26
1048Germany2024-04-26
1049France2024-05-14

On-Demand Data

NameIdCountryDate
Stacey R Rim1000United Kingdom2024-05-04
David R Foller1001Italy2024-05-02
Francesco D Vocelka1002Australia2024-05-12
Francesco V Malet1003India2024-04-29
David Z Sergi1004Brazil2024-04-26
Mayumi P Nestle1005Japan2024-04-27
Aruna B Rulapaugh1006Canada2024-05-16
Costa B Schemmer1007United Kingdom2024-05-11
Alejandro G Morasca1008Brazil2024-05-23
Maisha M Kolmetz1009Australia2024-05-06
Jefferson N Kolmetz1010France2024-05-05
Antonio X Nestle1011India2024-05-19
Darci L Schemmer1012Canada2024-05-07
Costa H Marrier1013United Kingdom2024-05-04
Wickens M Iturbide1014Spain2024-05-12
James P Maclead1015United Kingdom2024-05-15
Kadeem N Waycott1016United Kingdom2024-04-30
Ashley H Inouye1017United Kingdom2024-04-28
Darci X Flosi1018Japan2024-05-24
James D Venere1019Germany2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James S StockhamAustraliaElwin Sharvill PROPOSAL
Misaki N KuskoFranceOnyama Limba NEGOTIATION
David Z ShinkoCanadaAsiya Javayant QUALIFIED
Rodrigues U IturbideItalyStephen Shaw RENEWAL
Julie A MacleadGermanyXuxue Feng QUALIFIED
Clifford N KolmetzBrazilElwin Sharvill UNQUALIFIED
Francesco I MaletIndiaStephen Shaw RENEWAL
Claire Y VenereBrazilBernardo Dominic NEGOTIATION
Juan V FigeroaFranceAnna Fali NEW
Costa E PoquetteJapanAnna Fali UNQUALIFIED
Jones N RulapaughAustraliaIvan Magalhaes NEGOTIATION
Cody F MarrierSpainStephen Shaw NEW
Jones W FigeroaFranceElwin Sharvill UNQUALIFIED
Octavia K SlusarskiJapanAsiya Javayant NEW
Clifford Q DilliardItalyIvan Magalhaes RENEWAL
Murillo U WhobreyGermanyStephen Shaw UNQUALIFIED
Greenwood G RoysterRussiaAnna Fali PROPOSAL
Faith S CaldareraArgentinaOnyama Limba NEGOTIATION
Isabel E AlbaresArgentinaAsiya Javayant NEGOTIATION
Arvin M CaudyIndiaStephen Shaw PROPOSAL
Johnson I PerinAustraliaStephen Shaw NEGOTIATION
Johnson U StockhamArgentinaXuxue Feng NEGOTIATION
Julie B CaudyIndiaElwin Sharvill NEGOTIATION
Jennifer E ShinkoIndiaElwin Sharvill NEW
Aruna U BologniaBrazilIoni Bowcher NEW
Faith N RoysterJapanIvan Magalhaes PROPOSAL
Aditya S MarrierGermanyAsiya Javayant QUALIFIED
Octavia T PoquetteSpainIoni Bowcher PROPOSAL
Claire C OstroskyItalyXuxue Feng NEGOTIATION
Deepesh Y OldroydArgentinaOnyama Limba QUALIFIED
Murillo R IturbideGermanyAmy Elsner QUALIFIED
Jennifer Y WhobreyArgentinaStephen Shaw RENEWAL
Leon B GauchoUnited KingdomAnna Fali RENEWAL
Jefferson W AmigonFranceElwin Sharvill QUALIFIED
Maisha Z RoysterGermanyStephen Shaw PROPOSAL
Cody Y FigeroaGermanyAnna Fali PROPOSAL
Deepesh Y FerenczCanadaIvan Magalhaes NEW
Leon Q KuskoCanadaBernardo Dominic NEW
Wickens H CaldareraBrazilStephen Shaw NEW
Aditya E NestleArgentinaStephen Shaw QUALIFIED

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