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
Claire W PerinArgentinaAmy Elsner QUALIFIED
Juan P MaletGermanyOnyama Limba PROPOSAL
Claire N InouyeUnited KingdomIoni Bowcher QUALIFIED
Jeanfrancois U SergiIndiaStephen Shaw NEW
Claire S KolmetzCanadaAnna Fali PROPOSAL
Aika H StockhamSpainStephen Shaw UNQUALIFIED
Maria S WhobreyJapanAnna Fali NEGOTIATION
Leon O RutaBrazilStephen Shaw QUALIFIED
Antonio W StockhamRussiaAsiya Javayant PROPOSAL
James Y BologniaJapanIoni Bowcher RENEWAL
Greenwood W WieserGermanyIvan Magalhaes QUALIFIED
Aika L BologniaUnited KingdomElwin Sharvill RENEWAL
Maria Q GauchoCanadaStephen Shaw QUALIFIED
Antonio W NickaGermanyAmy Elsner NEW
Jones K FollerArgentinaAsiya Javayant QUALIFIED
Murillo B SchemmerCanadaIvan Magalhaes PROPOSAL
Leja X NestleIndiaOnyama Limba NEW
Aika N BowleyBrazilIoni Bowcher QUALIFIED
Arvin L DilliardFranceIvan Magalhaes NEGOTIATION
Leja E MarrierUnited KingdomOnyama Limba PROPOSAL
Greenwood R SergiGermanyAnna Fali UNQUALIFIED
Francesco Y FigeroaUnited KingdomOnyama Limba RENEWAL
Smith L MacleadIndiaElwin Sharvill UNQUALIFIED
Faith S WaycottUnited KingdomBernardo Dominic PROPOSAL
Jones A DoeUnited KingdomOnyama Limba RENEWAL
Arvin X IturbideFranceAsiya Javayant QUALIFIED
Aruna P RimBrazilStephen Shaw UNQUALIFIED
Chavez E ChuiArgentinaAmy Elsner UNQUALIFIED
Wickens L PoquetteBrazilAnna Fali UNQUALIFIED
Izzy I RutaFranceOnyama Limba UNQUALIFIED
Clifford S FollerSpainOnyama Limba RENEWAL
Munro Q MorascaGermanyAnna Fali QUALIFIED
Tony R RoysterBrazilStephen Shaw NEGOTIATION
Julie S NickaBrazilIoni Bowcher RENEWAL
Darci P WhobreyIndiaStephen Shaw RENEWAL
Clifford L WhobreyCanadaBernardo Dominic PROPOSAL
Arvin L InouyeItalyStephen Shaw QUALIFIED
Jennifer X IturbideFranceIvan Magalhaes NEW
Ashley I SlusarskiFranceAmy Elsner UNQUALIFIED
Mayumi E BowleyArgentinaIvan Magalhaes NEW
Leja L WieserCanadaIoni Bowcher QUALIFIED
Nicolas A NickaSpainAsiya Javayant UNQUALIFIED
Kadeem D WaycottJapanOnyama Limba UNQUALIFIED
David S IturbideJapanAsiya Javayant RENEWAL
Darci X SchemmerFranceBernardo Dominic NEW
Antonio D KolmetzSpainAsiya Javayant NEW
Silvio P GillianArgentinaOnyama Limba RENEWAL
Stacey R MarrierJapanAnna Fali PROPOSAL
Juan U PerinGermanyIoni Bowcher RENEWAL
Sinclair V NestleCanadaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson K ChuiSpainIvan Magalhaes UNQUALIFIED
Adams Q FigeroaRussiaIvan Magalhaes UNQUALIFIED
Morrow C StensethCanadaOnyama Limba QUALIFIED
Misaki V SergiBrazilElwin Sharvill NEGOTIATION
Johnson K PaprockiItalyOnyama Limba NEGOTIATION
Stacey T FigeroaArgentinaAsiya Javayant PROPOSAL
Octavia D RulapaughItalyAmy Elsner NEGOTIATION
Jefferson B TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Maisha O SaylorsGermanyStephen Shaw QUALIFIED
Jones I MaletFranceAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Q MacleadRussia2024-06-15Feiner Bros QUALIFIED47Ivan Magalhaes
1001Maria B IturbideAustralia2024-06-09Chanay, Jeffrey A Esq NEW89Bernardo Dominic
1002Leja V RutaJapan2024-06-10Printing Dimensions NEW22Ioni Bowcher
1003Maisha M DarakjyJapan2024-06-08Printing Dimensions QUALIFIED23Ioni Bowcher
1004Chavez N OstroskyItaly2024-06-16Commercial Press QUALIFIED91Onyama Limba
1005Morrow K SchemmerCanada2024-06-04Chapman, Ross E Esq RENEWAL7Amy Elsner
1006Jennifer X ShinkoSpain2024-06-21King, Christopher A Esq RENEWAL38Stephen Shaw
1007Izzy N TollnerJapan2024-05-27Chemel, James L Cpa NEGOTIATION74Xuxue Feng
1008Rodrigues K DarakjyRussia2024-06-17Feltz Printing Service PROPOSAL4Elwin Sharvill
1009Francesco K FlosiItaly2024-06-17Printing Dimensions NEW53Elwin Sharvill
1010Aika W NickaFrance2024-06-19Truhlar And Truhlar Attys UNQUALIFIED61Asiya Javayant
1011Johnson G MaletRussia2024-06-02Rangoni Of Florence RENEWAL89Bernardo Dominic
1012Arvin Q WieserBrazil2024-05-27Rangoni Of Florence UNQUALIFIED53Xuxue Feng
1013Salvatore N VocelkaSpain2024-06-20Truhlar And Truhlar Attys QUALIFIED39Xuxue Feng
1014Maisha E SaylorsCanada2024-06-12Chapman, Ross E Esq RENEWAL34Xuxue Feng
1015Wickens Z VenereJapan2024-06-01Dorl, James J Esq UNQUALIFIED54Onyama Limba
1016Kadeem K MaletFrance2024-05-28Rousseaux, Michael Esq PROPOSAL96Stephen Shaw
1017Juan G BriddickIndia2024-05-26Chanay, Jeffrey A Esq NEW2Ivan Magalhaes
1018Greenwood J WhobreyIndia2024-05-28Rangoni Of Florence UNQUALIFIED24Amy Elsner
1019Maisha I CaldareraFrance2024-05-30Rousseaux, Michael Esq PROPOSAL2Amy Elsner
1020Ivar N AmigonIndia2024-06-11Commercial Press NEGOTIATION12Xuxue Feng
1021Jones V AlbaresUnited Kingdom2024-06-06Chanay, Jeffrey A Esq NEW13Ivan Magalhaes
1022Ivar Q MorascaRussia2024-05-27Benton, John B Jr NEGOTIATION99Amy Elsner
1023Misaki I DarakjySpain2024-06-01Chemel, James L Cpa NEW29Anna Fali
1024Adams W DarakjyArgentina2024-05-28Commercial Press RENEWAL0Bernardo Dominic
1025Ashley S AlbaresItaly2024-06-17Buckley Miller Wright QUALIFIED10Anna Fali
1026Alejandro R CampainGermany2024-06-13Chanay, Jeffrey A Esq NEGOTIATION94Asiya Javayant
1027Greenwood G NickaIndia2024-06-19Morlong Associates NEW74Ioni Bowcher
1028Claire P KuskoSpain2024-06-22Feiner Bros UNQUALIFIED18Anna Fali
1029David E BowleyIndia2024-06-16Commercial Press NEGOTIATION89Anna Fali
1030Alejandro O MacleadBrazil2024-06-17Rangoni Of Florence NEGOTIATION26Anna Fali
1031Sinclair N CaldareraIndia2024-06-08Truhlar And Truhlar Attys NEGOTIATION99Elwin Sharvill
1032Kaitlin S CampainJapan2024-06-21Feltz Printing Service PROPOSAL87Ioni Bowcher
1033Jones O AlbaresSpain2024-06-10Printing Dimensions NEW40Bernardo Dominic
1034Adams I OldroydAustralia2024-06-19Printing Dimensions QUALIFIED89Bernardo Dominic
1035Costa P AmigonCanada2024-06-14King, Christopher A Esq QUALIFIED17Asiya Javayant
1036James R DarakjyArgentina2024-06-15Chapman, Ross E Esq NEW41Ivan Magalhaes
1037Jefferson W DoeRussia2024-06-01Rangoni Of Florence QUALIFIED32Amy Elsner
1038Arvin S ButtAustralia2024-06-19Printing Dimensions UNQUALIFIED70Ioni Bowcher
1039Salvatore O OstroskyGermany2024-06-06Morlong Associates NEGOTIATION36Bernardo Dominic
1040Rodrigues J PaprockiJapan2024-06-09Printing Dimensions UNQUALIFIED98Ivan Magalhaes
1041Antonio P GillianArgentina2024-05-29Truhlar And Truhlar Attys UNQUALIFIED84Xuxue Feng
1042Maisha Y DoeGermany2024-06-02Rousseaux, Michael Esq NEW95Asiya Javayant
1043Kaitlin A SergiJapan2024-05-24Chapman, Ross E Esq RENEWAL2Bernardo Dominic
1044Maria R WhobreyJapan2024-06-09Chapman, Ross E Esq NEGOTIATION27Stephen Shaw
1045Cody F GlickItaly2024-06-22Printing Dimensions PROPOSAL33Amy Elsner
1046Emily Z OstroskyAustralia2024-06-21Benton, John B Jr PROPOSAL86Onyama Limba
1047David B BowleyUnited Kingdom2024-06-02Commercial Press NEW90Stephen Shaw
1048Chavez Y MaletCanada2024-06-10Rangoni Of Florence QUALIFIED69Asiya Javayant
1049Chavez X PaprockiGermany2024-06-06Chapman, Ross E Esq NEGOTIATION19Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi D WieserFranceAsiya Javayant NEGOTIATION
Salvatore R KolmetzItalyOnyama Limba UNQUALIFIED
Aruna B SchemmerSpainOnyama Limba QUALIFIED
Juan A StockhamAustraliaAnna Fali RENEWAL
Smith Z VenereFranceElwin Sharvill QUALIFIED
Chavez N BologniaUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois G AmigonAustraliaAmy Elsner NEGOTIATION
Faith X DoeUnited KingdomOnyama Limba PROPOSAL
Deepesh O AlbaresJapanIvan Magalhaes PROPOSAL
Wickens J MacleadFranceIvan Magalhaes NEW
Juan G FollerJapanIoni Bowcher QUALIFIED
Jefferson R BologniaAustraliaBernardo Dominic NEGOTIATION
Antonio U VocelkaArgentinaIoni Bowcher PROPOSAL
Ricardo U RutaJapanXuxue Feng QUALIFIED
Jefferson K CaudyRussiaBernardo Dominic NEGOTIATION
Ricardo J StensethArgentinaAnna Fali NEGOTIATION
Stacey R SlusarskiCanadaIoni Bowcher QUALIFIED
Johnson V IturbideJapanElwin Sharvill NEGOTIATION
Salvatore P MorascaItalyAsiya Javayant QUALIFIED
Octavia Z MaletUnited KingdomBernardo Dominic NEW
Deepesh I KuskoRussiaOnyama Limba QUALIFIED
Chavez E IturbideIndiaIoni Bowcher QUALIFIED
Ashley A FlosiArgentinaXuxue Feng RENEWAL
Antonio Y NickaGermanyIoni Bowcher UNQUALIFIED
Maria W InouyeRussiaBernardo Dominic UNQUALIFIED
Emily E GauchoSpainIvan Magalhaes NEGOTIATION
Faith J NestleFranceAsiya Javayant NEW
Ashley H BowleyIndiaStephen Shaw UNQUALIFIED
Antonio R IturbideArgentinaStephen Shaw PROPOSAL
Stacey G CampainBrazilAsiya Javayant UNQUALIFIED
Aika V StensethRussiaAsiya Javayant NEGOTIATION
Mayumi O CaldareraRussiaAsiya Javayant UNQUALIFIED
Adams H AlbaresFranceAmy Elsner NEGOTIATION
Faith G CaudyAustraliaAsiya Javayant PROPOSAL
Mujtaba A DoeRussiaIoni Bowcher PROPOSAL
Costa V MorascaUnited KingdomBernardo Dominic UNQUALIFIED
Tony W RutaUnited KingdomStephen Shaw RENEWAL
Jefferson L WaycottFranceAsiya Javayant NEW
Sinclair L ButtFranceElwin Sharvill UNQUALIFIED
Morrow K WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Leon J SaylorsGermanyOnyama Limba QUALIFIED
Nicolas G DarakjyCanadaOnyama Limba QUALIFIED
Smith B BowleyGermanyAmy Elsner QUALIFIED
Morrow U WieserCanadaBernardo Dominic NEW
Mayumi P KuskoSpainAnna Fali UNQUALIFIED
Julie E NickaSpainElwin Sharvill QUALIFIED
Ashley H StensethJapanIoni Bowcher NEW
Maisha P WieserFranceIoni Bowcher NEW
Ivar G NestleJapanBernardo Dominic PROPOSAL
Adams O SergiRussiaAsiya Javayant NEW
Frozen Columns
Name
Jones P Butt
Kadeem X Nestle
Mujtaba C Vocelka
Jennifer V Figeroa
Mujtaba U Malet
Antonio T Morasca
Misaki I Caldarera
Aditya G Kusko
Aruna W Malet
Kaitlin M Oldroyd
Maria H Oldroyd
Alejandro N Campain
Francesco Q Saylors
Mujtaba S Royster
Murillo X Whobrey
Octavia K Ruta
Aditya B Tollner
Nicolas M Stenseth
Claire O Inouye
Silvio K Malet
Deepesh I Ferencz
Leja O Sergi
Silvio I Garufi
Julie L Slusarski
Kaitlin E Bolognia
Juan G Gillian
Arvin X Briddick
Aditya G Rulapaugh
Nicolas D Dilliard
Silvio S Garufi
Claire V Paprocki
Tony B Flosi
Juan A Darakjy
Maria U Schemmer
James G Iturbide
Francesco H Briddick
Aika P Oldroyd
Misaki B Rim
Murillo L Tollner
Leon I Malet
Mayumi Q Rim
Mujtaba H Rim
Emily Q Butt
Aruna Q Morasca
Stacey B Poquette
Maisha S Sergi
Francesco R Dilliard
Ivar W Nestle
Isabel O Kolmetz
Greenwood X Inouye
IdCountryDate
1000Australia2024-06-17
1001Canada2024-06-17
1002Australia2024-06-20
1003Russia2024-06-08
1004Canada2024-05-25
1005India2024-06-04
1006France2024-06-11
1007Germany2024-06-18
1008Argentina2024-05-29
1009India2024-05-28
1010Australia2024-05-25
1011Argentina2024-06-02
1012Canada2024-06-11
1013Italy2024-06-01
1014Australia2024-05-30
1015Germany2024-06-19
1016India2024-06-07
1017Argentina2024-05-29
1018Argentina2024-06-13
1019France2024-05-28
1020Australia2024-06-09
1021Spain2024-06-21
1022Argentina2024-06-21
1023Japan2024-05-24
1024Japan2024-06-16
1025Italy2024-05-24
1026France2024-06-13
1027Germany2024-06-03
1028Brazil2024-06-09
1029Canada2024-06-05
1030India2024-06-19
1031United Kingdom2024-06-06
1032United Kingdom2024-06-17
1033India2024-06-13
1034Germany2024-06-01
1035Australia2024-06-09
1036France2024-05-28
1037France2024-06-13
1038Spain2024-05-29
1039France2024-05-28
1040Canada2024-06-06
1041Russia2024-06-05
1042Australia2024-06-21
1043United Kingdom2024-06-14
1044Spain2024-06-12
1045India2024-05-30
1046Brazil2024-06-14
1047Canada2024-06-03
1048Canada2024-06-09
1049Australia2024-06-19

On-Demand Data

NameIdCountryDate
Costa S Bolognia1000Canada2024-06-21
Sinclair W Rulapaugh1001India2024-06-03
Leja F Vocelka1002Argentina2024-06-01
Morrow U Garufi1003United Kingdom2024-05-31
Munro P Chui1004Germany2024-06-21
Salvatore U Perin1005United Kingdom2024-05-26
Aruna D Waycott1006Germany2024-06-11
Izzy N Figeroa1007Japan2024-06-08
Antonio Y Flosi1008Italy2024-06-16
Adams I Marrier1009Russia2024-05-27
Silvio V Kolmetz1010Japan2024-06-15
Mayumi H Malet1011Spain2024-06-18
Alejandro N Nestle1012India2024-05-30
Adams O Nicka1013Canada2024-06-03
David W Garufi1014Argentina2024-06-08
Johnson B Waycott1015Canada2024-05-25
Juan G Wieser1016Russia2024-06-16
Mayumi J Inouye1017Argentina2024-06-09
Octavia V Butt1018Australia2024-06-09
Leja Q Garufi1019France2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James S StensethGermanyXuxue Feng PROPOSAL
Kadeem P MacleadFranceIvan Magalhaes UNQUALIFIED
Wickens X DarakjyAustraliaIoni Bowcher PROPOSAL
Stacey A GlickGermanyStephen Shaw PROPOSAL
Faith C MaletIndiaAmy Elsner RENEWAL
Jefferson C SaylorsRussiaIvan Magalhaes RENEWAL
Jones N SlusarskiArgentinaAnna Fali NEW
Kaitlin E AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro T StockhamSpainIvan Magalhaes QUALIFIED
Mayumi E NickaRussiaAmy Elsner NEGOTIATION
Izzy T FlosiSpainBernardo Dominic NEGOTIATION
Maria L IturbideJapanBernardo Dominic PROPOSAL
Aruna S PaprockiCanadaAnna Fali NEGOTIATION
Ivar Y TollnerBrazilXuxue Feng NEGOTIATION
Alejandro H StockhamArgentinaStephen Shaw PROPOSAL
Sinclair D CaldareraFranceBernardo Dominic UNQUALIFIED
Ashley K MarrierJapanXuxue Feng PROPOSAL
Antonio T RutaFranceOnyama Limba UNQUALIFIED
Maisha O BriddickBrazilBernardo Dominic QUALIFIED
Tony C MaletBrazilElwin Sharvill NEGOTIATION
David I StockhamCanadaBernardo Dominic PROPOSAL
Mujtaba N KuskoCanadaIvan Magalhaes NEGOTIATION
Isabel L RulapaughBrazilAmy Elsner NEGOTIATION
Greenwood T PerinArgentinaAmy Elsner PROPOSAL
Jennifer A BriddickAustraliaBernardo Dominic RENEWAL
Clifford N PaprockiAustraliaAnna Fali NEW
Octavia W NickaSpainAsiya Javayant NEW
Isabel E AlbaresIndiaOnyama Limba NEGOTIATION
Deepesh U WaycottJapanStephen Shaw RENEWAL
Chavez L BriddickBrazilIoni Bowcher NEGOTIATION
Juan I IturbideGermanyElwin Sharvill UNQUALIFIED
Munro L PoquetteGermanyIvan Magalhaes PROPOSAL
Francesco L MaletSpainXuxue Feng QUALIFIED
James T VocelkaIndiaAmy Elsner NEW
Aruna K DoeAustraliaIoni Bowcher NEW
Tony K ShinkoIndiaAnna Fali RENEWAL
Ricardo L MacleadArgentinaIoni Bowcher RENEWAL
Juan P FlosiIndiaIvan Magalhaes UNQUALIFIED
Emily O KolmetzAustraliaAsiya Javayant RENEWAL
Murillo C MaletArgentinaIvan Magalhaes 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>