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
Johnson W InouyeSpainIvan Magalhaes UNQUALIFIED
Murillo K SaylorsFranceOnyama Limba NEGOTIATION
Aika G KolmetzGermanyIvan Magalhaes NEGOTIATION
Octavia O RimFranceAnna Fali PROPOSAL
Morrow L GillianFranceXuxue Feng PROPOSAL
Murillo H NickaItalyElwin Sharvill QUALIFIED
Kadeem A SlusarskiSpainIoni Bowcher QUALIFIED
Emily E IturbideBrazilOnyama Limba QUALIFIED
Antonio L RoysterArgentinaIvan Magalhaes RENEWAL
Mujtaba I NickaAustraliaIvan Magalhaes QUALIFIED
David L OldroydUnited KingdomAnna Fali NEGOTIATION
Morrow S MarrierGermanyIvan Magalhaes NEW
Emily I DoeSpainElwin Sharvill NEW
Maria V OldroydSpainAsiya Javayant NEGOTIATION
Antonio D RulapaughSpainBernardo Dominic RENEWAL
Rodrigues M ChuiCanadaBernardo Dominic PROPOSAL
Alejandro T MarrierUnited KingdomXuxue Feng NEW
Aika L WhobreyItalyIvan Magalhaes NEW
Emily E DoeJapanAmy Elsner NEGOTIATION
Kadeem J WaycottJapanStephen Shaw UNQUALIFIED
Kaitlin J DoeFranceIvan Magalhaes NEGOTIATION
Mujtaba S NestleIndiaBernardo Dominic UNQUALIFIED
Leon K SchemmerCanadaOnyama Limba PROPOSAL
Maisha Y GillianBrazilAnna Fali NEGOTIATION
Kadeem Z VocelkaSpainOnyama Limba PROPOSAL
Ashley K WieserItalyElwin Sharvill PROPOSAL
Francesco G PerinUnited KingdomAsiya Javayant RENEWAL
Nicolas G GarufiItalyXuxue Feng PROPOSAL
Antonio T SlusarskiSpainIoni Bowcher NEGOTIATION
Jones R DilliardItalyAnna Fali NEGOTIATION
Aika T ChuiUnited KingdomAnna Fali UNQUALIFIED
Mayumi F PaprockiSpainIoni Bowcher PROPOSAL
Ricardo S CampainItalyAnna Fali QUALIFIED
Mujtaba C SaylorsGermanyElwin Sharvill RENEWAL
David R FigeroaGermanyAmy Elsner UNQUALIFIED
Alejandro F FerenczArgentinaIvan Magalhaes PROPOSAL
Aruna M KolmetzJapanXuxue Feng PROPOSAL
Clifford M SlusarskiFranceIoni Bowcher PROPOSAL
Julie M InouyeAustraliaOnyama Limba NEGOTIATION
Clifford Z AlbaresArgentinaIvan Magalhaes QUALIFIED
Clifford A SergiGermanyBernardo Dominic NEW
Faith D GarufiAustraliaIoni Bowcher PROPOSAL
Deepesh R GarufiGermanyIvan Magalhaes QUALIFIED
Arvin R CampainAustraliaBernardo Dominic UNQUALIFIED
Alejandro U BologniaCanadaElwin Sharvill QUALIFIED
Maria D FlosiCanadaStephen Shaw PROPOSAL
Nicolas K FlosiArgentinaXuxue Feng PROPOSAL
Sinclair R TollnerJapanAnna Fali NEW
Kaitlin X PoquetteIndiaIoni Bowcher QUALIFIED
Adams L GauchoBrazilIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio P NestleSpainAsiya Javayant RENEWAL
Darci Y ShinkoItalyXuxue Feng NEW
Ricardo X MarrierRussiaIvan Magalhaes UNQUALIFIED
Chavez P GarufiAustraliaXuxue Feng PROPOSAL
Ivar S FlosiAustraliaAsiya Javayant PROPOSAL
Wickens Y ButtIndiaIoni Bowcher QUALIFIED
Deepesh W SaylorsBrazilXuxue Feng QUALIFIED
Isabel D ButtIndiaAsiya Javayant RENEWAL
Juan B CaudyCanadaIvan Magalhaes NEW
Costa V GauchoArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow W DilliardRussia2024-05-27Dorl, James J Esq NEW77Stephen Shaw
1001Darci A WaycottItaly2024-06-01Chapman, Ross E Esq RENEWAL83Xuxue Feng
1002Jennifer E WieserIndia2024-06-14Commercial Press QUALIFIED10Xuxue Feng
1003Chavez U RoysterBrazil2024-06-09Buckley Miller Wright RENEWAL45Elwin Sharvill
1004Wickens D DarakjySpain2024-06-07Truhlar And Truhlar Attys NEW78Elwin Sharvill
1005Emily S PoquetteBrazil2024-06-11Buckley Miller Wright NEW45Elwin Sharvill
1006Izzy M RoysterItaly2024-06-13Dorl, James J Esq NEGOTIATION93Anna Fali
1007Antonio W WieserAustralia2024-05-17Chemel, James L Cpa NEGOTIATION48Onyama Limba
1008Isabel N NestleJapan2024-05-27Feltz Printing Service RENEWAL99Ioni Bowcher
1009Stacey R SchemmerAustralia2024-05-30Buckley Miller Wright PROPOSAL47Elwin Sharvill
1010Aditya J WaycottUnited Kingdom2024-06-09Chanay, Jeffrey A Esq QUALIFIED78Ivan Magalhaes
1011Greenwood C SchemmerCanada2024-06-07Truhlar And Truhlar Attys NEW10Xuxue Feng
1012Ashley B BowleySpain2024-06-07Chapman, Ross E Esq UNQUALIFIED18Ioni Bowcher
1013Kaitlin C PoquetteRussia2024-06-07Rangoni Of Florence NEW14Xuxue Feng
1014Clifford W RutaRussia2024-06-11Morlong Associates PROPOSAL44Ioni Bowcher
1015Rodrigues T InouyeBrazil2024-05-23Rangoni Of Florence QUALIFIED64Stephen Shaw
1016Ashley R ChuiCanada2024-05-20Printing Dimensions UNQUALIFIED73Xuxue Feng
1017Maisha T WieserUnited Kingdom2024-06-09Chemel, James L Cpa QUALIFIED83Ivan Magalhaes
1018Clifford L GarufiFrance2024-05-27Chemel, James L Cpa RENEWAL64Ivan Magalhaes
1019Sinclair P OldroydJapan2024-06-05Rangoni Of Florence NEW64Bernardo Dominic
1020Salvatore G FigeroaItaly2024-06-10Benton, John B Jr PROPOSAL8Xuxue Feng
1021Adams Y InouyeBrazil2024-05-17Rangoni Of Florence RENEWAL56Anna Fali
1022Antonio C MacleadAustralia2024-06-03Morlong Associates PROPOSAL64Amy Elsner
1023Ivar M OstroskyItaly2024-05-26King, Christopher A Esq PROPOSAL23Ivan Magalhaes
1024Darci R SaylorsArgentina2024-06-06Rousseaux, Michael Esq NEW34Ioni Bowcher
1025Mayumi S DoeAustralia2024-06-03Benton, John B Jr QUALIFIED68Anna Fali
1026Izzy Y SlusarskiFrance2024-06-05Chanay, Jeffrey A Esq NEW96Bernardo Dominic
1027Antonio I StockhamUnited Kingdom2024-05-27Benton, John B Jr RENEWAL69Elwin Sharvill
1028Deepesh O OldroydRussia2024-06-14Commercial Press NEGOTIATION38Anna Fali
1029Leon N OldroydGermany2024-05-21Feltz Printing Service RENEWAL61Ioni Bowcher
1030Sinclair G PaprockiSpain2024-06-12Rousseaux, Michael Esq NEGOTIATION64Elwin Sharvill
1031Izzy L BriddickAustralia2024-05-19Truhlar And Truhlar Attys NEW74Amy Elsner
1032Wickens J ButtUnited Kingdom2024-05-23Rousseaux, Michael Esq UNQUALIFIED66Ioni Bowcher
1033Antonio H DarakjyAustralia2024-05-18King, Christopher A Esq RENEWAL52Elwin Sharvill
1034Francesco L RoysterUnited Kingdom2024-06-08King, Christopher A Esq PROPOSAL26Anna Fali
1035Misaki T IturbideIndia2024-05-24Rousseaux, Michael Esq NEW63Asiya Javayant
1036Francesco V ButtIndia2024-05-27Dorl, James J Esq PROPOSAL62Elwin Sharvill
1037Salvatore L StensethCanada2024-05-21Chanay, Jeffrey A Esq RENEWAL35Elwin Sharvill
1038Octavia O PoquetteSpain2024-06-15Truhlar And Truhlar Attys RENEWAL89Elwin Sharvill
1039Wickens I SlusarskiItaly2024-06-05Truhlar And Truhlar Attys QUALIFIED31Onyama Limba
1040Tony L PerinRussia2024-05-27Chanay, Jeffrey A Esq NEW61Anna Fali
1041Leon O GarufiAustralia2024-05-21Feiner Bros PROPOSAL88Bernardo Dominic
1042Arvin S SchemmerBrazil2024-05-20King, Christopher A Esq NEGOTIATION49Ioni Bowcher
1043Stacey C BowleyRussia2024-05-21Buckley Miller Wright UNQUALIFIED97Stephen Shaw
1044Aditya U GillianArgentina2024-05-24Chemel, James L Cpa NEW48Xuxue Feng
1045Arvin Q PerinAustralia2024-05-20King, Christopher A Esq NEW93Ioni Bowcher
1046Jones P BologniaRussia2024-05-20Truhlar And Truhlar Attys RENEWAL42Xuxue Feng
1047Salvatore Q CampainBrazil2024-06-01Benton, John B Jr NEW76Onyama Limba
1048Nicolas Y RutaSpain2024-05-19Chanay, Jeffrey A Esq UNQUALIFIED70Onyama Limba
1049Antonio N KuskoArgentina2024-06-15Rangoni Of Florence QUALIFIED11Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Darci S StensethArgentinaOnyama Limba PROPOSAL
Costa M VenereItalyBernardo Dominic NEW
Aditya K SergiAustraliaElwin Sharvill RENEWAL
Claire S BologniaItalyStephen Shaw PROPOSAL
Munro E CampainGermanyIoni Bowcher UNQUALIFIED
Ashley U IturbideBrazilXuxue Feng UNQUALIFIED
Maria G DoeRussiaAsiya Javayant QUALIFIED
Claire D WhobreyItalyIoni Bowcher NEGOTIATION
Leon J FerenczRussiaIvan Magalhaes PROPOSAL
Claire A AlbaresItalyElwin Sharvill PROPOSAL
Stacey Y WaycottBrazilElwin Sharvill UNQUALIFIED
Johnson T RulapaughIndiaXuxue Feng NEW
Ivar C BowleyCanadaXuxue Feng RENEWAL
Kaitlin V BriddickBrazilXuxue Feng NEGOTIATION
Cody O GarufiItalyBernardo Dominic QUALIFIED
Costa G GauchoSpainBernardo Dominic NEW
Francesco W FollerBrazilAsiya Javayant UNQUALIFIED
Aika L GillianFranceAnna Fali NEGOTIATION
Wickens C FlosiBrazilAmy Elsner NEGOTIATION
Claire X MaletJapanStephen Shaw NEGOTIATION
Nicolas H RutaArgentinaXuxue Feng NEGOTIATION
Costa J SaylorsFranceElwin Sharvill UNQUALIFIED
James A WaycottGermanyBernardo Dominic NEGOTIATION
Wickens Y FollerUnited KingdomAsiya Javayant NEGOTIATION
Ashley A KuskoJapanOnyama Limba QUALIFIED
Mujtaba P VocelkaUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois O WaycottCanadaAsiya Javayant NEGOTIATION
Isabel H WaycottCanadaBernardo Dominic UNQUALIFIED
Mujtaba K InouyeAustraliaIoni Bowcher QUALIFIED
David Q CaldareraIndiaOnyama Limba NEW
Jennifer Y SergiAustraliaIoni Bowcher NEW
Chavez A FerenczBrazilStephen Shaw QUALIFIED
Ricardo K GlickJapanAnna Fali NEGOTIATION
Munro J ChuiCanadaStephen Shaw UNQUALIFIED
Isabel A KolmetzBrazilXuxue Feng RENEWAL
Ashley C AmigonAustraliaXuxue Feng PROPOSAL
Jeanfrancois N PerinAustraliaElwin Sharvill QUALIFIED
Octavia C KolmetzIndiaXuxue Feng NEGOTIATION
Isabel X MaletGermanyStephen Shaw NEGOTIATION
Aditya N AlbaresIndiaIoni Bowcher UNQUALIFIED
Faith M AlbaresJapanIoni Bowcher NEGOTIATION
Greenwood O InouyeArgentinaOnyama Limba NEGOTIATION
Faith M BriddickFranceAmy Elsner RENEWAL
Greenwood V VenereFranceBernardo Dominic UNQUALIFIED
Ashley A WhobreyArgentinaOnyama Limba PROPOSAL
Stacey B StockhamFranceXuxue Feng RENEWAL
Octavia R GauchoUnited KingdomIvan Magalhaes NEW
Julie A AlbaresGermanyStephen Shaw NEGOTIATION
Jones J FollerItalyOnyama Limba QUALIFIED
Antonio V ButtBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Munro W Bolognia
Francesco Z Shinko
Claire R Briddick
Octavia K Royster
Leon E Iturbide
Costa S Malet
Adams Q Slusarski
Clifford U Iturbide
Murillo P Malet
Smith U Ruta
Rodrigues C Poquette
Mujtaba I Poquette
Jones L Slusarski
Izzy H Waycott
Jeanfrancois M Rim
Aika U Oldroyd
Chavez M Vocelka
Leon K Royster
Cody X Caldarera
Tony K Shinko
Clifford M Briddick
Maria V Schemmer
Mujtaba L Gaucho
Munro H Nestle
Murillo M Malet
Jennifer S Chui
Rodrigues X Nestle
Izzy Z Glick
Nicolas A Rulapaugh
Munro T Ferencz
Jeanfrancois H Stenseth
Deepesh U Waycott
Smith X Saylors
Maisha R Tollner
Murillo Z Dilliard
Costa J Gaucho
Jones S Butt
Cody L Amigon
Jones U Morasca
Smith N Shinko
Kadeem X Sergi
Emily T Garufi
Julie H Amigon
Jennifer D Royster
Jennifer V Campain
Emily O Ostrosky
Nicolas V Malet
Munro M Gaucho
Silvio I Malet
Octavia M Vocelka
IdCountryDate
1000Brazil2024-06-05
1001Australia2024-05-27
1002India2024-06-03
1003Russia2024-06-09
1004Spain2024-05-31
1005Italy2024-06-07
1006Japan2024-06-14
1007United Kingdom2024-06-04
1008Japan2024-05-21
1009Argentina2024-06-01
1010Australia2024-05-30
1011Brazil2024-06-02
1012Canada2024-05-26
1013United Kingdom2024-06-12
1014Australia2024-06-02
1015Spain2024-06-14
1016France2024-06-01
1017Argentina2024-06-04
1018Germany2024-06-07
1019Canada2024-06-10
1020Brazil2024-05-22
1021France2024-05-17
1022France2024-05-18
1023Germany2024-06-03
1024Italy2024-06-05
1025Canada2024-05-20
1026India2024-05-29
1027Russia2024-05-23
1028United Kingdom2024-05-17
1029Brazil2024-05-31
1030India2024-05-19
1031United Kingdom2024-06-02
1032Canada2024-05-25
1033United Kingdom2024-05-27
1034Japan2024-06-04
1035India2024-05-25
1036Australia2024-06-12
1037Spain2024-05-21
1038India2024-06-04
1039Brazil2024-05-27
1040France2024-05-22
1041Argentina2024-06-03
1042Italy2024-05-20
1043India2024-06-15
1044Australia2024-05-25
1045Germany2024-05-27
1046India2024-06-03
1047United Kingdom2024-05-26
1048Argentina2024-06-06
1049Australia2024-06-14

On-Demand Data

NameIdCountryDate
Octavia K Marrier1000India2024-06-13
Wickens M Amigon1001Japan2024-06-03
David G Whobrey1002United Kingdom2024-06-04
Stacey S Garufi1003Japan2024-05-17
Cody D Dilliard1004Argentina2024-05-23
James R Bowley1005Australia2024-06-04
Leja A Flosi1006Brazil2024-05-22
Alejandro N Vocelka1007Germany2024-05-21
Kaitlin T Briddick1008Spain2024-06-06
Chavez A Iturbide1009Italy2024-05-24
Johnson C Poquette1010Russia2024-05-29
David X Gaucho1011Russia2024-05-21
Rodrigues S Whobrey1012Italy2024-05-17
Stacey K Amigon1013Russia2024-05-25
Cody T Malet1014Japan2024-06-13
Costa Q Vocelka1015Italy2024-06-08
Smith X Inouye1016India2024-06-07
Salvatore G Schemmer1017Italy2024-06-04
Kaitlin S Royster1018Germany2024-05-22
James Y Maclead1019Japan2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro S PerinFranceStephen Shaw NEW
Murillo J FerenczIndiaStephen Shaw NEW
Juan X FlosiGermanyIoni Bowcher RENEWAL
Maria F NestleFranceAnna Fali UNQUALIFIED
Julie B VenereCanadaStephen Shaw QUALIFIED
Jeanfrancois Y RutaJapanOnyama Limba PROPOSAL
Murillo L SergiFranceAmy Elsner NEGOTIATION
Arvin W StensethIndiaElwin Sharvill PROPOSAL
Ivar Z FerenczBrazilAnna Fali QUALIFIED
Chavez X GauchoArgentinaAsiya Javayant NEW
Maisha O AlbaresBrazilAmy Elsner UNQUALIFIED
Aruna A MorascaRussiaBernardo Dominic NEW
Leja W SchemmerAustraliaAmy Elsner UNQUALIFIED
Clifford H WhobreyUnited KingdomAsiya Javayant NEW
Alejandro A AmigonArgentinaElwin Sharvill PROPOSAL
Clifford G VenereBrazilIoni Bowcher QUALIFIED
Mujtaba Q MaletSpainAmy Elsner NEW
Morrow J CaudyIndiaBernardo Dominic PROPOSAL
Leon H FollerRussiaBernardo Dominic QUALIFIED
Murillo T MorascaAustraliaAnna Fali NEGOTIATION
Cody O RoysterFranceStephen Shaw PROPOSAL
Johnson Z ShinkoBrazilElwin Sharvill NEW
Izzy W VenereRussiaElwin Sharvill UNQUALIFIED
Smith G BowleyCanadaBernardo Dominic NEGOTIATION
Isabel O GlickSpainIvan Magalhaes RENEWAL
Ricardo Z RimFranceAnna Fali NEW
Misaki Q PaprockiSpainAmy Elsner NEW
Emily G CaldareraBrazilElwin Sharvill RENEWAL
Costa L VenereSpainElwin Sharvill UNQUALIFIED
Tony A GlickSpainElwin Sharvill UNQUALIFIED
Sinclair H RoysterAustraliaOnyama Limba NEW
Smith Q GarufiJapanIvan Magalhaes PROPOSAL
Darci C DoeSpainIvan Magalhaes NEW
Aruna L RutaGermanyElwin Sharvill RENEWAL
Alejandro E MaletBrazilIvan Magalhaes QUALIFIED
Maria O SlusarskiAustraliaElwin Sharvill NEW
Deepesh M SaylorsGermanyIoni Bowcher RENEWAL
Cody A GillianArgentinaElwin Sharvill NEW
Julie T MaletBrazilXuxue Feng NEGOTIATION
Aruna Z OldroydFranceAsiya 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>