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
Emily B StensethAustraliaIoni Bowcher NEW
Izzy K ChuiAustraliaAsiya Javayant NEGOTIATION
Jefferson M WieserFranceIvan Magalhaes UNQUALIFIED
Wickens L InouyeSpainAmy Elsner NEW
Alejandro F FerenczCanadaAmy Elsner UNQUALIFIED
Julie Y ButtItalyBernardo Dominic NEGOTIATION
Misaki I RoysterRussiaOnyama Limba UNQUALIFIED
Isabel I DarakjyBrazilIoni Bowcher NEGOTIATION
Mayumi W NickaIndiaAmy Elsner QUALIFIED
Alejandro Y SergiCanadaXuxue Feng NEW
Ivar L WaycottAustraliaStephen Shaw NEGOTIATION
Arvin P RulapaughCanadaStephen Shaw QUALIFIED
Ivar A MarrierFranceStephen Shaw RENEWAL
Smith C RulapaughSpainStephen Shaw PROPOSAL
Mujtaba T MarrierCanadaIvan Magalhaes UNQUALIFIED
Aruna A FigeroaRussiaIoni Bowcher NEW
Chavez N IturbideSpainIoni Bowcher PROPOSAL
James F FerenczItalyXuxue Feng RENEWAL
Darci I SergiItalyIoni Bowcher NEW
Octavia L WieserAustraliaIoni Bowcher QUALIFIED
Aika L OldroydJapanIoni Bowcher PROPOSAL
Izzy R KolmetzFranceOnyama Limba RENEWAL
Kadeem W PerinAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois A GlickUnited KingdomElwin Sharvill PROPOSAL
Greenwood K GarufiJapanAmy Elsner PROPOSAL
Greenwood E DarakjyUnited KingdomXuxue Feng NEW
Claire S TollnerAustraliaAnna Fali NEGOTIATION
James R OstroskyAustraliaStephen Shaw RENEWAL
James G SchemmerIndiaBernardo Dominic QUALIFIED
Arvin Q DarakjyItalyXuxue Feng NEW
Maisha D NickaAustraliaBernardo Dominic RENEWAL
Ricardo Q OstroskyJapanAsiya Javayant QUALIFIED
Deepesh T IturbideBrazilElwin Sharvill NEW
Chavez L WieserItalyAsiya Javayant NEGOTIATION
Emily M NickaAustraliaAmy Elsner QUALIFIED
Leja K SlusarskiSpainBernardo Dominic QUALIFIED
Salvatore H ChuiItalyIoni Bowcher NEW
Aruna F ButtArgentinaAnna Fali RENEWAL
Julie S WieserUnited KingdomXuxue Feng NEGOTIATION
Smith J FollerItalyAmy Elsner RENEWAL
Stacey M MaletSpainOnyama Limba NEGOTIATION
Smith R CampainIndiaOnyama Limba QUALIFIED
Jefferson S CaldareraSpainAmy Elsner UNQUALIFIED
Cody M FerenczUnited KingdomAmy Elsner RENEWAL
Misaki X CampainBrazilAnna Fali RENEWAL
James N OstroskyJapanAsiya Javayant NEW
Mujtaba O MacleadFranceElwin Sharvill NEGOTIATION
Murillo R CaudyCanadaIoni Bowcher NEW
Aditya R DoeArgentinaXuxue Feng NEW
Juan A TollnerItalyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois K CaudyBrazilBernardo Dominic PROPOSAL
Wickens R InouyeFranceIoni Bowcher NEW
Antonio R BowleyArgentinaOnyama Limba NEW
Ashley X SergiCanadaIvan Magalhaes NEW
Nicolas H KolmetzJapanAnna Fali RENEWAL
Adams L InouyeRussiaAsiya Javayant UNQUALIFIED
Emily X DarakjyUnited KingdomAsiya Javayant QUALIFIED
Jennifer T SergiItalyOnyama Limba PROPOSAL
Jefferson L FollerCanadaOnyama Limba NEGOTIATION
Murillo T DoeJapanAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey J AmigonRussia2024-06-06Morlong Associates RENEWAL55Elwin Sharvill
1001Nicolas Q MarrierIndia2024-06-03Benton, John B Jr QUALIFIED60Xuxue Feng
1002Ricardo S RutaCanada2024-06-10Commercial Press NEW32Xuxue Feng
1003Darci B StockhamBrazil2024-06-16Buckley Miller Wright NEGOTIATION57Ivan Magalhaes
1004Chavez S KolmetzBrazil2024-06-06Rousseaux, Michael Esq NEW59Stephen Shaw
1005Jefferson C ShinkoItaly2024-06-13King, Christopher A Esq NEW97Elwin Sharvill
1006Maria P ChuiSpain2024-06-16Dorl, James J Esq RENEWAL31Amy Elsner
1007Kaitlin Z BriddickItaly2024-06-04Chanay, Jeffrey A Esq PROPOSAL42Anna Fali
1008Jennifer G GillianAustralia2024-05-27Chemel, James L Cpa UNQUALIFIED95Ivan Magalhaes
1009Deepesh L InouyeSpain2024-06-15Buckley Miller Wright NEGOTIATION15Amy Elsner
1010Costa U GauchoJapan2024-05-29Chapman, Ross E Esq PROPOSAL26Asiya Javayant
1011Stacey K BologniaUnited Kingdom2024-06-03Feltz Printing Service UNQUALIFIED26Bernardo Dominic
1012Alejandro N AlbaresArgentina2024-06-07Buckley Miller Wright UNQUALIFIED53Ivan Magalhaes
1013Isabel N WhobreyItaly2024-06-16Feiner Bros RENEWAL21Elwin Sharvill
1014Leja S NickaItaly2024-05-25Buckley Miller Wright QUALIFIED32Ivan Magalhaes
1015Silvio J SlusarskiCanada2024-05-27Feltz Printing Service UNQUALIFIED20Anna Fali
1016Costa P OldroydRussia2024-06-08Buckley Miller Wright NEGOTIATION71Ioni Bowcher
1017David L KuskoCanada2024-06-17Chanay, Jeffrey A Esq RENEWAL74Xuxue Feng
1018Alejandro S MaletUnited Kingdom2024-06-08Printing Dimensions NEGOTIATION35Asiya Javayant
1019David P BologniaJapan2024-06-16Benton, John B Jr QUALIFIED37Asiya Javayant
1020Leon G InouyeArgentina2024-06-03Commercial Press NEGOTIATION34Onyama Limba
1021Smith X OldroydFrance2024-06-18Commercial Press RENEWAL12Asiya Javayant
1022Emily A VocelkaGermany2024-05-22Dorl, James J Esq NEW56Amy Elsner
1023Mujtaba B VocelkaUnited Kingdom2024-05-20King, Christopher A Esq RENEWAL11Amy Elsner
1024Aruna H SchemmerItaly2024-06-07Chapman, Ross E Esq NEW85Amy Elsner
1025Francesco W RutaSpain2024-06-12Rousseaux, Michael Esq NEGOTIATION38Amy Elsner
1026Izzy U SlusarskiBrazil2024-05-20Commercial Press PROPOSAL72Ioni Bowcher
1027Julie A BowleyFrance2024-05-22Chemel, James L Cpa UNQUALIFIED16Onyama Limba
1028Jefferson O GarufiUnited Kingdom2024-06-01Rousseaux, Michael Esq NEGOTIATION55Ivan Magalhaes
1029Costa P MacleadRussia2024-06-05Chemel, James L Cpa NEW29Anna Fali
1030Leon D RutaAustralia2024-06-16Truhlar And Truhlar Attys RENEWAL84Onyama Limba
1031Munro M TollnerItaly2024-05-28Benton, John B Jr QUALIFIED67Bernardo Dominic
1032Arvin J CaldareraFrance2024-06-10Truhlar And Truhlar Attys NEGOTIATION84Amy Elsner
1033Leja U BologniaCanada2024-05-23Rousseaux, Michael Esq NEGOTIATION85Ivan Magalhaes
1034Aika D CampainIndia2024-06-12Truhlar And Truhlar Attys RENEWAL16Amy Elsner
1035Octavia S MaletItaly2024-06-03Dorl, James J Esq NEW50Ivan Magalhaes
1036Tony H OstroskyUnited Kingdom2024-06-04Benton, John B Jr PROPOSAL1Anna Fali
1037Nicolas E GlickRussia2024-05-31Benton, John B Jr RENEWAL39Bernardo Dominic
1038Claire Q ShinkoFrance2024-05-22Feltz Printing Service PROPOSAL45Xuxue Feng
1039Ricardo K CampainItaly2024-06-03Feltz Printing Service NEW95Ivan Magalhaes
1040Sinclair O DoeJapan2024-06-05Chemel, James L Cpa RENEWAL19Anna Fali
1041Stacey D RimBrazil2024-06-02King, Christopher A Esq NEW47Stephen Shaw
1042Antonio P PaprockiJapan2024-05-29Chapman, Ross E Esq PROPOSAL3Xuxue Feng
1043Stacey Z ShinkoJapan2024-06-05Dorl, James J Esq UNQUALIFIED13Stephen Shaw
1044Salvatore J VocelkaGermany2024-05-22Truhlar And Truhlar Attys UNQUALIFIED41Bernardo Dominic
1045Maisha L CaudyItaly2024-06-07Chanay, Jeffrey A Esq NEGOTIATION32Anna Fali
1046Silvio I MaletUnited Kingdom2024-05-23Rousseaux, Michael Esq NEW57Ioni Bowcher
1047Maria I RulapaughJapan2024-05-25Rousseaux, Michael Esq NEW5Anna Fali
1048Claire X OldroydItaly2024-06-02Morlong Associates RENEWAL95Ioni Bowcher
1049Costa B MaletFrance2024-06-04Benton, John B Jr NEGOTIATION91Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith I PerinRussiaOnyama Limba NEW
Costa Q SergiBrazilElwin Sharvill UNQUALIFIED
Darci Q ButtItalyIvan Magalhaes RENEWAL
Antonio P StensethArgentinaAmy Elsner QUALIFIED
Mayumi W StockhamGermanyAnna Fali RENEWAL
Jones U NestleGermanyBernardo Dominic RENEWAL
Salvatore T MaletSpainStephen Shaw PROPOSAL
Nicolas M GarufiSpainElwin Sharvill NEGOTIATION
Smith P DilliardItalyBernardo Dominic QUALIFIED
Rodrigues T MacleadAustraliaAnna Fali PROPOSAL
Aruna X IturbideGermanyOnyama Limba RENEWAL
Kadeem Q MorascaJapanIvan Magalhaes RENEWAL
Cody X AlbaresSpainAnna Fali NEGOTIATION
Darci C RimAustraliaAsiya Javayant UNQUALIFIED
Kadeem N BriddickUnited KingdomAmy Elsner NEW
Jennifer C DarakjyRussiaAsiya Javayant RENEWAL
Stacey M KuskoGermanyStephen Shaw RENEWAL
Munro L ButtSpainStephen Shaw QUALIFIED
Adams A SergiBrazilAmy Elsner QUALIFIED
Izzy D WaycottIndiaElwin Sharvill NEGOTIATION
Mayumi F AlbaresCanadaStephen Shaw QUALIFIED
Salvatore F WieserUnited KingdomIoni Bowcher RENEWAL
Deepesh S GillianJapanIvan Magalhaes NEGOTIATION
Leon R MorascaUnited KingdomIoni Bowcher QUALIFIED
Antonio W ChuiRussiaXuxue Feng NEW
Sinclair C OstroskySpainAsiya Javayant NEGOTIATION
Ashley D CaudyCanadaAnna Fali NEW
Salvatore N StockhamGermanyOnyama Limba NEW
Juan X DoeIndiaIvan Magalhaes QUALIFIED
Rodrigues A MaletGermanyElwin Sharvill NEW
Jones E SaylorsGermanyOnyama Limba NEW
David Z KolmetzAustraliaAmy Elsner NEGOTIATION
Salvatore X AmigonSpainAmy Elsner NEGOTIATION
Darci T FlosiAustraliaElwin Sharvill PROPOSAL
Salvatore T OstroskyJapanXuxue Feng UNQUALIFIED
Deepesh R DarakjyJapanAnna Fali RENEWAL
Sinclair N OstroskyItalyXuxue Feng PROPOSAL
Murillo E KuskoArgentinaAsiya Javayant RENEWAL
Julie T NestleJapanXuxue Feng NEGOTIATION
Munro K KuskoBrazilStephen Shaw NEGOTIATION
Izzy I IturbideSpainElwin Sharvill NEW
Tony D MacleadBrazilStephen Shaw PROPOSAL
Misaki S GillianRussiaAsiya Javayant NEW
Arvin D ChuiRussiaAnna Fali PROPOSAL
Aika N GillianGermanyOnyama Limba PROPOSAL
Nicolas K VocelkaAustraliaXuxue Feng NEGOTIATION
Sinclair B CampainArgentinaXuxue Feng PROPOSAL
Adams X VocelkaJapanIvan Magalhaes NEGOTIATION
Wickens P WhobreyJapanIvan Magalhaes NEGOTIATION
Jennifer E MacleadArgentinaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Octavia C Malet
Cody Y Caldarera
Cody G Flosi
Munro I Wieser
Darci A Flosi
Izzy V Tollner
Maria S Kolmetz
Sinclair J Sergi
Emily Z Campain
Faith I Butt
Stacey X Saylors
Maisha W Caudy
Jennifer P Ostrosky
Jones N Venere
Juan H Butt
Isabel H Campain
Arvin O Garufi
Arvin K Wieser
Ashley K Ruta
Emily G Butt
Aruna J Ruta
Claire G Bowley
Murillo Z Waycott
Jefferson B Figeroa
Jeanfrancois W Butt
David Y Foller
Aruna O Campain
Deepesh V Inouye
Jones C Kusko
Arvin K Campain
Francesco Z Butt
Emily V Wieser
Darci F Vocelka
Emily K Stockham
Arvin P Amigon
Kadeem K Marrier
Morrow H Bolognia
Nicolas W Stenseth
Deepesh A Foller
Emily X Waycott
Cody M Malet
Misaki B Garufi
Jones F Marrier
Alejandro O Sergi
Morrow S Caldarera
Murillo W Ferencz
Morrow O Foller
Octavia K Shinko
Silvio W Amigon
Smith V Sergi
IdCountryDate
1000Italy2024-06-09
1001Germany2024-06-04
1002United Kingdom2024-06-18
1003France2024-06-12
1004Brazil2024-05-26
1005Italy2024-06-13
1006Japan2024-05-27
1007United Kingdom2024-05-22
1008Germany2024-05-27
1009India2024-06-17
1010Italy2024-06-01
1011Spain2024-05-21
1012Brazil2024-05-25
1013Germany2024-06-11
1014Japan2024-05-22
1015Brazil2024-05-20
1016Russia2024-06-06
1017United Kingdom2024-06-18
1018Japan2024-06-01
1019France2024-05-25
1020Japan2024-05-24
1021India2024-06-09
1022Australia2024-06-06
1023France2024-06-04
1024Italy2024-06-15
1025India2024-06-03
1026Italy2024-06-07
1027India2024-05-30
1028Canada2024-06-02
1029Canada2024-06-01
1030Canada2024-06-06
1031Brazil2024-05-29
1032United Kingdom2024-06-18
1033France2024-06-18
1034India2024-06-14
1035Australia2024-06-17
1036Australia2024-06-16
1037United Kingdom2024-06-16
1038United Kingdom2024-05-24
1039Japan2024-06-06
1040Spain2024-06-03
1041France2024-05-21
1042Italy2024-06-10
1043Brazil2024-06-05
1044Japan2024-05-21
1045Japan2024-06-05
1046Brazil2024-05-23
1047France2024-06-07
1048Canada2024-05-30
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Julie J Wieser1000Spain2024-06-12
Costa C Oldroyd1001Italy2024-06-02
Misaki Z Morasca1002France2024-06-17
Stacey I Bowley1003Japan2024-06-01
Mayumi K Rulapaugh1004Australia2024-06-01
Julie S Figeroa1005Spain2024-05-22
Tony X Albares1006United Kingdom2024-05-21
Francesco R Amigon1007Australia2024-06-12
Maria G Albares1008Canada2024-06-01
Johnson G Saylors1009Italy2024-06-13
Kaitlin R Venere1010Russia2024-06-04
Smith W Gillian1011Australia2024-05-23
Isabel C Ostrosky1012United Kingdom2024-06-12
Murillo A Figeroa1013India2024-05-27
Darci H Rulapaugh1014India2024-06-01
Francesco U Bowley1015Italy2024-05-29
Chavez M Amigon1016Argentina2024-06-12
Jefferson V Morasca1017Australia2024-05-31
Smith W Kusko1018Russia2024-06-07
Ricardo X Saylors1019India2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco V AlbaresBrazilAnna Fali NEW
Morrow I OldroydGermanyElwin Sharvill NEGOTIATION
Misaki U OldroydAustraliaStephen Shaw UNQUALIFIED
Isabel C RimUnited KingdomIoni Bowcher QUALIFIED
Izzy T OstroskyCanadaOnyama Limba NEW
David M OldroydCanadaAnna Fali QUALIFIED
Faith U OldroydAustraliaBernardo Dominic UNQUALIFIED
David U RoysterJapanIoni Bowcher QUALIFIED
Maria F FerenczCanadaIvan Magalhaes NEGOTIATION
Julie S GauchoRussiaAmy Elsner QUALIFIED
James J GauchoAustraliaElwin Sharvill NEGOTIATION
Nicolas U CaldareraIndiaIoni Bowcher UNQUALIFIED
Mujtaba T VenereCanadaXuxue Feng UNQUALIFIED
Jeanfrancois I GarufiJapanElwin Sharvill QUALIFIED
Maisha T SchemmerJapanIvan Magalhaes QUALIFIED
Leon T RutaItalyIoni Bowcher NEW
Mujtaba J WieserItalyBernardo Dominic NEW
Kadeem W RoysterItalyElwin Sharvill QUALIFIED
Leon R ButtJapanOnyama Limba RENEWAL
Sinclair L DilliardAustraliaAsiya Javayant NEGOTIATION
Darci X MacleadGermanyXuxue Feng PROPOSAL
Francesco M BriddickRussiaIvan Magalhaes NEW
Chavez B SchemmerAustraliaAnna Fali PROPOSAL
Alejandro P RimArgentinaElwin Sharvill PROPOSAL
Ricardo K ButtAustraliaElwin Sharvill RENEWAL
Costa X NestleBrazilBernardo Dominic UNQUALIFIED
David E RulapaughSpainBernardo Dominic QUALIFIED
Greenwood P IturbideUnited KingdomAsiya Javayant QUALIFIED
Alejandro M RoysterUnited KingdomAnna Fali NEGOTIATION
Costa G WhobreyRussiaBernardo Dominic NEGOTIATION
Francesco B PaprockiSpainIvan Magalhaes UNQUALIFIED
Leon W WhobreyFranceIoni Bowcher QUALIFIED
Alejandro O DoeArgentinaAmy Elsner UNQUALIFIED
Mujtaba E DoeItalyElwin Sharvill PROPOSAL
Maria H BologniaCanadaStephen Shaw QUALIFIED
Smith L GlickIndiaIvan Magalhaes NEGOTIATION
Rodrigues O BriddickSpainOnyama Limba NEGOTIATION
Ivar V NickaCanadaBernardo Dominic PROPOSAL
Maisha P GarufiCanadaElwin Sharvill QUALIFIED
Tony Y DarakjyUnited KingdomIvan Magalhaes NEW

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