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
Julie K RoysterArgentinaStephen Shaw PROPOSAL
Darci E GauchoBrazilElwin Sharvill PROPOSAL
Jones A FlosiSpainAmy Elsner QUALIFIED
Stacey J InouyeUnited KingdomXuxue Feng NEW
Antonio Y RulapaughCanadaXuxue Feng RENEWAL
Maria L RoysterArgentinaIvan Magalhaes PROPOSAL
Greenwood L RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo V StensethSpainIoni Bowcher QUALIFIED
Silvio X RutaArgentinaElwin Sharvill UNQUALIFIED
Leon S DilliardJapanOnyama Limba NEW
Aika H RulapaughItalyOnyama Limba QUALIFIED
Greenwood D AmigonFranceElwin Sharvill NEGOTIATION
Claire V MorascaArgentinaAnna Fali UNQUALIFIED
Deepesh M VocelkaGermanyIoni Bowcher RENEWAL
Silvio Y ChuiAustraliaIoni Bowcher QUALIFIED
David L CaudyItalyBernardo Dominic NEGOTIATION
Emily J RutaFranceXuxue Feng UNQUALIFIED
Murillo M WhobreyIndiaOnyama Limba QUALIFIED
Johnson F FigeroaAustraliaXuxue Feng QUALIFIED
Octavia M BowleyRussiaXuxue Feng RENEWAL
Clifford U NickaCanadaElwin Sharvill QUALIFIED
Greenwood E SergiRussiaStephen Shaw PROPOSAL
Rodrigues K DarakjyJapanIvan Magalhaes PROPOSAL
Wickens U GarufiRussiaIoni Bowcher UNQUALIFIED
Stacey O WaycottCanadaIoni Bowcher NEW
Chavez Z BologniaFranceIoni Bowcher PROPOSAL
Salvatore T GillianUnited KingdomElwin Sharvill NEW
Misaki G ButtFranceBernardo Dominic PROPOSAL
Rodrigues F PaprockiGermanyAsiya Javayant UNQUALIFIED
Cody I FlosiUnited KingdomAmy Elsner PROPOSAL
Kadeem L CaudyFranceBernardo Dominic UNQUALIFIED
Maisha W WaycottRussiaElwin Sharvill UNQUALIFIED
Octavia W CampainArgentinaStephen Shaw RENEWAL
Misaki Q NickaItalyAmy Elsner RENEWAL
Mujtaba B SlusarskiArgentinaOnyama Limba NEGOTIATION
Maisha Q ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Darci I BowleyGermanyAnna Fali QUALIFIED
Maria M DilliardItalyOnyama Limba RENEWAL
Aika G SlusarskiIndiaAsiya Javayant RENEWAL
Adams R GlickItalyAsiya Javayant NEGOTIATION
Munro N CaudyGermanyAmy Elsner RENEWAL
Costa S WhobreyIndiaStephen Shaw QUALIFIED
Johnson J InouyeSpainIoni Bowcher PROPOSAL
Nicolas H WieserFranceIoni Bowcher NEW
Kadeem Y CaudyJapanAmy Elsner QUALIFIED
Mayumi N SaylorsRussiaIoni Bowcher PROPOSAL
Alejandro I CaudyBrazilOnyama Limba NEW
Munro X ChuiFranceOnyama Limba NEGOTIATION
Munro J SergiSpainIoni Bowcher UNQUALIFIED
Antonio Q RutaFranceAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro W VenereItalyStephen Shaw NEGOTIATION
Jefferson G BologniaRussiaElwin Sharvill QUALIFIED
Salvatore F RimBrazilXuxue Feng NEGOTIATION
Aruna F SergiIndiaIvan Magalhaes NEGOTIATION
Kaitlin R CaudyAustraliaElwin Sharvill PROPOSAL
Isabel E GlickIndiaAmy Elsner PROPOSAL
Faith L CaudyBrazilStephen Shaw UNQUALIFIED
Sinclair C KolmetzRussiaIoni Bowcher RENEWAL
Salvatore U RoysterCanadaIvan Magalhaes PROPOSAL
Misaki A RimGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Z DilliardBrazil2025-04-24Commercial Press NEW83Ivan Magalhaes
1001Faith Z MaletUnited Kingdom2025-04-11Rousseaux, Michael Esq RENEWAL7Ioni Bowcher
1002Izzy O DilliardCanada2025-04-30Chemel, James L Cpa PROPOSAL23Ioni Bowcher
1003Cody Y CaldareraJapan2025-04-27Dorl, James J Esq NEGOTIATION28Onyama Limba
1004Mujtaba J RulapaughArgentina2025-04-17Benton, John B Jr PROPOSAL54Onyama Limba
1005Clifford B GlickArgentina2025-04-01Truhlar And Truhlar Attys NEGOTIATION28Elwin Sharvill
1006Munro W FlosiFrance2025-04-04Feiner Bros NEW28Anna Fali
1007Johnson Z PerinUnited Kingdom2025-04-09Feiner Bros RENEWAL70Xuxue Feng
1008Ivar R FigeroaJapan2025-04-13Chanay, Jeffrey A Esq QUALIFIED3Amy Elsner
1009Rodrigues R CaldareraArgentina2025-04-06Feiner Bros RENEWAL6Bernardo Dominic
1010Ivar I InouyeBrazil2025-04-17Printing Dimensions NEW70Ioni Bowcher
1011Aika J RulapaughItaly2025-04-28Printing Dimensions RENEWAL73Ivan Magalhaes
1012Aika H PoquetteGermany2025-04-07Commercial Press NEW5Ioni Bowcher
1013Kaitlin B PaprockiCanada2025-04-01Commercial Press RENEWAL42Amy Elsner
1014Maisha B MorascaUnited Kingdom2025-04-15Printing Dimensions NEW77Xuxue Feng
1015Rodrigues V NickaIndia2025-04-01Chanay, Jeffrey A Esq UNQUALIFIED83Bernardo Dominic
1016Julie P GauchoAustralia2025-04-06Commercial Press RENEWAL37Bernardo Dominic
1017Mujtaba M RimRussia2025-04-06Morlong Associates QUALIFIED80Elwin Sharvill
1018Munro W WaycottJapan2025-04-04Rangoni Of Florence UNQUALIFIED58Onyama Limba
1019Ricardo R MacleadJapan2025-04-16Feltz Printing Service PROPOSAL76Amy Elsner
1020Aika O MorascaUnited Kingdom2025-04-16Chemel, James L Cpa NEW12Amy Elsner
1021Misaki L GillianArgentina2025-04-10Truhlar And Truhlar Attys QUALIFIED73Amy Elsner
1022Ashley Z FerenczUnited Kingdom2025-04-04Chemel, James L Cpa UNQUALIFIED54Anna Fali
1023Munro J AmigonFrance2025-04-12Commercial Press PROPOSAL89Xuxue Feng
1024Izzy E WaycottItaly2025-04-10King, Christopher A Esq QUALIFIED10Asiya Javayant
1025Tony U CaldareraFrance2025-04-19Chapman, Ross E Esq NEGOTIATION21Stephen Shaw
1026Deepesh M SchemmerUnited Kingdom2025-04-24Dorl, James J Esq NEGOTIATION67Amy Elsner
1027Claire A SlusarskiAustralia2025-04-12Benton, John B Jr QUALIFIED27Asiya Javayant
1028Leja R WaycottAustralia2025-04-24Chemel, James L Cpa NEGOTIATION25Onyama Limba
1029Kaitlin W KolmetzGermany2025-04-01Chemel, James L Cpa NEW84Stephen Shaw
1030Darci E SaylorsJapan2025-04-15Chapman, Ross E Esq RENEWAL13Ivan Magalhaes
1031Kadeem N DarakjyRussia2025-04-23Buckley Miller Wright RENEWAL16Amy Elsner
1032Mujtaba C SaylorsBrazil2025-04-13King, Christopher A Esq QUALIFIED19Xuxue Feng
1033Ashley N CaldareraFrance2025-04-26Dorl, James J Esq UNQUALIFIED56Anna Fali
1034Emily M BriddickItaly2025-04-29Commercial Press PROPOSAL32Onyama Limba
1035Nicolas N RutaSpain2025-04-01Rousseaux, Michael Esq NEGOTIATION98Asiya Javayant
1036Tony N StockhamSpain2025-04-24Chapman, Ross E Esq UNQUALIFIED24Ivan Magalhaes
1037Sinclair S IturbideUnited Kingdom2025-04-06Rousseaux, Michael Esq NEGOTIATION13Ivan Magalhaes
1038Leon V CaudyAustralia2025-04-13Rousseaux, Michael Esq NEW23Elwin Sharvill
1039Clifford S StensethUnited Kingdom2025-04-03Commercial Press RENEWAL85Elwin Sharvill
1040Julie D GillianArgentina2025-04-28King, Christopher A Esq PROPOSAL75Anna Fali
1041Darci B SlusarskiBrazil2025-04-06Printing Dimensions PROPOSAL27Amy Elsner
1042David L RulapaughFrance2025-04-25Printing Dimensions NEGOTIATION18Ivan Magalhaes
1043Faith R DoeGermany2025-04-26Chapman, Ross E Esq RENEWAL20Asiya Javayant
1044Jefferson G IturbideAustralia2025-04-15Benton, John B Jr UNQUALIFIED87Asiya Javayant
1045Arvin Q VenereJapan2025-04-23Chemel, James L Cpa NEW6Asiya Javayant
1046Costa V DoeUnited Kingdom2025-04-09Commercial Press PROPOSAL40Anna Fali
1047Octavia F GillianIndia2025-04-29Feiner Bros RENEWAL51Stephen Shaw
1048Francesco G GlickItaly2025-04-14King, Christopher A Esq QUALIFIED79Xuxue Feng
1049Francesco M MarrierAustralia2025-04-26Feltz Printing Service RENEWAL34Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Silvio M GillianSpainBernardo Dominic RENEWAL
Kadeem T SaylorsItalyAmy Elsner NEW
Silvio E MacleadItalyAnna Fali NEW
Sinclair M GillianSpainStephen Shaw NEW
Misaki W SchemmerAustraliaAmy Elsner UNQUALIFIED
Wickens I SchemmerAustraliaAmy Elsner UNQUALIFIED
Wickens K SaylorsItalyAnna Fali UNQUALIFIED
Mayumi D BriddickUnited KingdomXuxue Feng UNQUALIFIED
Johnson K AmigonUnited KingdomOnyama Limba PROPOSAL
Ashley M MacleadItalyAnna Fali NEW
Antonio A FlosiItalyIoni Bowcher PROPOSAL
Izzy V FollerAustraliaAnna Fali RENEWAL
Misaki S AmigonIndiaStephen Shaw RENEWAL
Leja Y RimCanadaAmy Elsner UNQUALIFIED
Johnson D ButtRussiaOnyama Limba NEW
Kaitlin C SlusarskiJapanAmy Elsner RENEWAL
Julie P StockhamRussiaOnyama Limba NEW
Emily Z WieserItalyAmy Elsner UNQUALIFIED
Johnson P DoeFranceXuxue Feng PROPOSAL
Salvatore A MarrierSpainIvan Magalhaes RENEWAL
Greenwood E MacleadJapanIvan Magalhaes PROPOSAL
Leon H MaletArgentinaOnyama Limba QUALIFIED
Wickens I BologniaUnited KingdomBernardo Dominic QUALIFIED
Stacey L ChuiUnited KingdomStephen Shaw PROPOSAL
Mayumi O MarrierUnited KingdomBernardo Dominic NEGOTIATION
Nicolas V RimJapanIoni Bowcher PROPOSAL
Adams D MaletArgentinaXuxue Feng UNQUALIFIED
Silvio N SaylorsGermanyXuxue Feng RENEWAL
Julie A GlickSpainAsiya Javayant NEW
Jeanfrancois O MarrierAustraliaXuxue Feng RENEWAL
Cody D SaylorsRussiaIvan Magalhaes NEW
Leja K WieserSpainXuxue Feng UNQUALIFIED
Salvatore T FerenczArgentinaIvan Magalhaes NEW
Kaitlin Z SchemmerJapanElwin Sharvill PROPOSAL
Julie C MarrierFranceStephen Shaw NEW
Mujtaba O RoysterAustraliaXuxue Feng NEGOTIATION
Adams U BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson K ButtGermanyBernardo Dominic QUALIFIED
Kadeem W FollerSpainIoni Bowcher QUALIFIED
Stacey M SergiArgentinaElwin Sharvill RENEWAL
Emily H StockhamItalyElwin Sharvill QUALIFIED
Salvatore E InouyeIndiaElwin Sharvill QUALIFIED
Murillo Z PerinCanadaBernardo Dominic NEGOTIATION
Sinclair P PoquetteFranceOnyama Limba NEGOTIATION
Izzy J DilliardJapanIvan Magalhaes NEW
Murillo C PoquetteCanadaElwin Sharvill NEW
Juan V AlbaresGermanyOnyama Limba NEGOTIATION
Kadeem S MorascaBrazilBernardo Dominic UNQUALIFIED
Julie Y WhobreyArgentinaIvan Magalhaes NEW
James C OldroydAustraliaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Maria B Flosi
Aika C Schemmer
Alejandro U Wieser
Faith K Ruta
Mayumi C Gaucho
Octavia Y Kolmetz
Adams M Dilliard
Jefferson L Royster
Tony H Rulapaugh
Nicolas J Foller
Jennifer I Nicka
Rodrigues J Doe
Octavia D Amigon
Aditya I Vocelka
Emily V Gaucho
Aruna L Foller
Wickens M Amigon
Johnson G Bolognia
Jefferson O Ruta
Leon N Slusarski
David U Royster
Stacey T Nicka
Greenwood T Malet
Adams V Morasca
Morrow F Briddick
Juan A Morasca
Smith C Bolognia
Stacey A Figeroa
Morrow D Perin
Salvatore N Garufi
Munro N Glick
Aruna H Bolognia
Tony D Stenseth
Izzy R Nestle
Leon O Shinko
Rodrigues U Bolognia
Tony F Malet
Aditya Q Figeroa
Juan M Bowley
Nicolas N Vocelka
Faith T Wieser
Clifford K Dilliard
Deepesh Z Tollner
Isabel I Whobrey
Arvin J Campain
Alejandro P Nestle
Tony I Stenseth
Greenwood S Oldroyd
Adams L Nicka
Aika V Whobrey
IdCountryDate
1000France2025-04-20
1001Spain2025-04-07
1002Canada2025-04-19
1003Italy2025-04-12
1004France2025-04-10
1005India2025-04-03
1006India2025-04-24
1007Japan2025-04-28
1008Italy2025-04-29
1009Canada2025-04-28
1010Germany2025-04-28
1011United Kingdom2025-04-29
1012United Kingdom2025-04-30
1013Canada2025-04-09
1014Argentina2025-04-29
1015Argentina2025-04-14
1016Australia2025-04-16
1017Brazil2025-04-19
1018India2025-04-11
1019Australia2025-04-03
1020Canada2025-04-15
1021Canada2025-04-28
1022United Kingdom2025-04-04
1023Brazil2025-04-21
1024Germany2025-04-22
1025United Kingdom2025-04-02
1026United Kingdom2025-04-12
1027United Kingdom2025-04-12
1028India2025-04-20
1029Italy2025-04-26
1030Japan2025-04-10
1031Italy2025-04-01
1032France2025-04-19
1033Australia2025-04-09
1034United Kingdom2025-04-25
1035Canada2025-04-05
1036Japan2025-04-08
1037Russia2025-04-16
1038India2025-04-30
1039France2025-04-02
1040Argentina2025-04-02
1041Italy2025-04-12
1042Italy2025-04-02
1043United Kingdom2025-04-02
1044Russia2025-04-02
1045Russia2025-04-08
1046Japan2025-04-16
1047France2025-04-15
1048Germany2025-04-20
1049Italy2025-04-21

On-Demand Data

NameIdCountryDate
Costa J Schemmer1000Japan2025-04-21
Rodrigues N Briddick1001Germany2025-04-05
Costa K Maclead1002Brazil2025-04-11
Julie F Poquette1003Japan2025-04-10
David U Flosi1004Canada2025-04-08
Izzy W Garufi1005Italy2025-04-28
Maisha F Inouye1006India2025-04-20
Francesco A Bolognia1007United Kingdom2025-04-07
Misaki R Flosi1008Australia2025-04-18
Faith D Kolmetz1009Brazil2025-04-03
Octavia K Caudy1010United Kingdom2025-04-14
Misaki W Ruta1011Russia2025-04-27
Octavia B Royster1012United Kingdom2025-04-04
Nicolas W Sergi1013Brazil2025-04-20
Ashley P Butt1014Australia2025-04-30
Aruna J Stenseth1015Australia2025-04-13
Stacey Z Malet1016Brazil2025-04-29
Ricardo L Chui1017Brazil2025-04-14
Darci U Slusarski1018France2025-04-02
Tony E Caldarera1019Spain2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo A GarufiGermanyStephen Shaw PROPOSAL
Emily Q RulapaughGermanyOnyama Limba NEGOTIATION
Antonio D WhobreyRussiaOnyama Limba NEW
Faith Y VenereRussiaStephen Shaw NEW
Misaki N ChuiAustraliaBernardo Dominic NEGOTIATION
Arvin I SlusarskiCanadaStephen Shaw PROPOSAL
Jennifer W FollerArgentinaElwin Sharvill UNQUALIFIED
Wickens E BologniaBrazilElwin Sharvill NEGOTIATION
Octavia A DoeJapanStephen Shaw QUALIFIED
Cody P AmigonItalyAmy Elsner NEGOTIATION
Mayumi V DilliardRussiaIoni Bowcher NEGOTIATION
Kadeem B MaletGermanyXuxue Feng UNQUALIFIED
Aruna R RimFranceAmy Elsner NEW
David Q WaycottAustraliaStephen Shaw QUALIFIED
Silvio E PoquetteItalyOnyama Limba RENEWAL
Adams M DarakjyGermanyElwin Sharvill QUALIFIED
Mayumi T MaletGermanyAsiya Javayant NEGOTIATION
David P DoeFranceBernardo Dominic UNQUALIFIED
Silvio Y MaletUnited KingdomStephen Shaw UNQUALIFIED
Isabel G MorascaSpainOnyama Limba PROPOSAL
Mayumi B RulapaughBrazilBernardo Dominic NEW
Tony V RoysterFranceElwin Sharvill NEW
Darci C MorascaUnited KingdomAmy Elsner NEGOTIATION
Maria O SlusarskiUnited KingdomXuxue Feng NEGOTIATION
James P PoquetteAustraliaElwin Sharvill RENEWAL
Juan L MacleadIndiaElwin Sharvill NEW
Deepesh H PoquetteIndiaBernardo Dominic NEW
Isabel B NestleGermanyIoni Bowcher UNQUALIFIED
Faith U CampainBrazilAmy Elsner QUALIFIED
Claire I StockhamRussiaAsiya Javayant NEW
Maisha L WieserGermanyIvan Magalhaes QUALIFIED
Johnson V PerinRussiaAnna Fali RENEWAL
Deepesh P CampainRussiaBernardo Dominic NEW
Nicolas T OstroskyGermanyIvan Magalhaes RENEWAL
Rodrigues M FlosiRussiaIoni Bowcher PROPOSAL
Johnson Z WhobreyAustraliaOnyama Limba RENEWAL
Claire Y PerinItalyAmy Elsner RENEWAL
Morrow S DilliardIndiaElwin Sharvill NEW
Mayumi O FerenczSpainAnna Fali NEW
Sinclair X WaycottJapanXuxue Feng 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>