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
Cody Z VocelkaCanadaIvan Magalhaes RENEWAL
Juan M InouyeArgentinaAnna Fali NEW
Johnson I MaletBrazilElwin Sharvill NEW
David A FigeroaSpainIoni Bowcher UNQUALIFIED
Silvio K InouyeGermanyElwin Sharvill RENEWAL
Chavez Q GauchoJapanOnyama Limba RENEWAL
Kadeem W ButtGermanyAnna Fali RENEWAL
Tony Q SergiAustraliaElwin Sharvill UNQUALIFIED
Izzy U OldroydItalyAnna Fali PROPOSAL
Sinclair T ButtItalyBernardo Dominic NEGOTIATION
Smith W KolmetzArgentinaAsiya Javayant NEW
Aditya G FigeroaFranceAsiya Javayant PROPOSAL
Ricardo L NestleCanadaIoni Bowcher PROPOSAL
Julie K RutaBrazilElwin Sharvill NEW
Emily F SchemmerFranceAmy Elsner PROPOSAL
Octavia O PerinIndiaAnna Fali RENEWAL
Nicolas Q BriddickArgentinaAmy Elsner NEW
Salvatore Q RimItalyXuxue Feng RENEWAL
Salvatore M PerinFranceStephen Shaw NEW
Leja S PerinArgentinaStephen Shaw QUALIFIED
Leon P KolmetzAustraliaXuxue Feng NEW
Isabel T IturbideFranceElwin Sharvill QUALIFIED
Julie K SchemmerBrazilIoni Bowcher QUALIFIED
Morrow Y PerinIndiaElwin Sharvill RENEWAL
Kadeem S WhobreyBrazilStephen Shaw QUALIFIED
Deepesh H MacleadJapanStephen Shaw QUALIFIED
Rodrigues M GillianFranceIvan Magalhaes RENEWAL
Juan O ChuiSpainOnyama Limba QUALIFIED
Deepesh B DarakjyRussiaIvan Magalhaes UNQUALIFIED
Jennifer C FollerItalyBernardo Dominic UNQUALIFIED
Costa R MorascaCanadaIoni Bowcher RENEWAL
Aditya N VenereItalyIoni Bowcher NEW
Costa B InouyeAustraliaBernardo Dominic NEGOTIATION
Claire M MaletJapanBernardo Dominic RENEWAL
Adams G DarakjyArgentinaOnyama Limba NEW
Julie S DilliardAustraliaStephen Shaw NEW
Francesco J MorascaGermanyAmy Elsner NEGOTIATION
Jefferson R GarufiArgentinaBernardo Dominic NEW
Rodrigues V DilliardItalyAnna Fali NEGOTIATION
Salvatore Q GarufiGermanyIoni Bowcher UNQUALIFIED
Claire G FerenczAustraliaOnyama Limba QUALIFIED
Jones N ChuiArgentinaIoni Bowcher RENEWAL
Leja X MorascaAustraliaElwin Sharvill NEW
Aruna I DarakjyIndiaXuxue Feng QUALIFIED
Chavez H MorascaItalyAmy Elsner UNQUALIFIED
Chavez D AlbaresItalyIoni Bowcher UNQUALIFIED
Salvatore T MaletBrazilElwin Sharvill NEGOTIATION
Aika S AmigonJapanAmy Elsner UNQUALIFIED
Maria R RulapaughIndiaOnyama Limba PROPOSAL
Costa M RimUnited KingdomOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo O GillianCanadaIvan Magalhaes RENEWAL
Faith C AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Ashley X FerenczJapanElwin Sharvill PROPOSAL
Kadeem G CampainJapanAmy Elsner NEW
Izzy T RimArgentinaIoni Bowcher RENEWAL
Johnson J VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois O BriddickBrazilAmy Elsner RENEWAL
Greenwood H PerinArgentinaAnna Fali NEGOTIATION
Johnson V TollnerRussiaIvan Magalhaes QUALIFIED
Antonio M MacleadAustraliaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David X KuskoCanada2025-04-19Rousseaux, Michael Esq QUALIFIED55Onyama Limba
1001Leja K DoeItaly2025-04-16Chapman, Ross E Esq NEGOTIATION37Amy Elsner
1002Aruna M ShinkoJapan2025-04-17Feiner Bros NEGOTIATION81Elwin Sharvill
1003Nicolas P MarrierAustralia2025-04-24Rousseaux, Michael Esq QUALIFIED45Asiya Javayant
1004Deepesh Z GillianUnited Kingdom2025-04-30Rousseaux, Michael Esq RENEWAL71Stephen Shaw
1005Jennifer A PaprockiAustralia2025-04-13Chapman, Ross E Esq UNQUALIFIED44Anna Fali
1006Mayumi T AmigonGermany2025-04-07Buckley Miller Wright RENEWAL65Ioni Bowcher
1007Smith B CaudySpain2025-04-17Morlong Associates QUALIFIED14Bernardo Dominic
1008Jefferson P NickaBrazil2025-04-26Dorl, James J Esq NEGOTIATION78Onyama Limba
1009Morrow J DilliardIndia2025-04-30King, Christopher A Esq NEW73Ivan Magalhaes
1010Rodrigues A WaycottItaly2025-04-20Feltz Printing Service PROPOSAL87Asiya Javayant
1011David Z MaletSpain2025-04-30Morlong Associates RENEWAL36Amy Elsner
1012Antonio A BriddickUnited Kingdom2025-04-16Commercial Press QUALIFIED44Amy Elsner
1013Clifford E OldroydAustralia2025-04-05Rousseaux, Michael Esq UNQUALIFIED60Asiya Javayant
1014Munro W CaudyGermany2025-04-21Chanay, Jeffrey A Esq RENEWAL97Xuxue Feng
1015Emily C VocelkaUnited Kingdom2025-04-03Morlong Associates NEGOTIATION4Asiya Javayant
1016Johnson B GlickRussia2025-04-16Printing Dimensions PROPOSAL17Bernardo Dominic
1017Munro A PaprockiSpain2025-04-13Chemel, James L Cpa NEW22Xuxue Feng
1018Cody B NickaUnited Kingdom2025-04-07Truhlar And Truhlar Attys RENEWAL58Xuxue Feng
1019Izzy Z ButtJapan2025-04-23Buckley Miller Wright QUALIFIED59Asiya Javayant
1020Jeanfrancois W SaylorsSpain2025-05-01King, Christopher A Esq NEGOTIATION45Amy Elsner
1021Rodrigues P ChuiSpain2025-04-15Chanay, Jeffrey A Esq UNQUALIFIED86Onyama Limba
1022Stacey S BriddickArgentina2025-04-09Buckley Miller Wright PROPOSAL64Anna Fali
1023Juan Y VocelkaGermany2025-04-23Buckley Miller Wright NEGOTIATION11Xuxue Feng
1024Darci A MaletRussia2025-04-18Rousseaux, Michael Esq NEW48Elwin Sharvill
1025Silvio K SlusarskiRussia2025-04-22Chanay, Jeffrey A Esq PROPOSAL75Asiya Javayant
1026Mayumi G BriddickBrazil2025-04-17Rangoni Of Florence QUALIFIED35Amy Elsner
1027Leja H PoquetteSpain2025-04-10King, Christopher A Esq NEGOTIATION63Amy Elsner
1028Isabel N RoysterCanada2025-04-11Dorl, James J Esq NEW53Anna Fali
1029Jones C ButtUnited Kingdom2025-04-09King, Christopher A Esq UNQUALIFIED0Ivan Magalhaes
1030Johnson O MacleadItaly2025-04-24Printing Dimensions NEGOTIATION44Elwin Sharvill
1031Costa B MorascaCanada2025-04-11Buckley Miller Wright PROPOSAL43Stephen Shaw
1032James F RimSpain2025-04-07Feiner Bros PROPOSAL48Elwin Sharvill
1033Kadeem I OldroydUnited Kingdom2025-04-29Chanay, Jeffrey A Esq UNQUALIFIED94Anna Fali
1034Nicolas R DarakjyJapan2025-04-04Commercial Press NEW61Ioni Bowcher
1035Aditya E StensethUnited Kingdom2025-04-11Truhlar And Truhlar Attys UNQUALIFIED4Stephen Shaw
1036James M CaldareraBrazil2025-05-01Chapman, Ross E Esq RENEWAL90Amy Elsner
1037Ivar X SaylorsArgentina2025-04-21Truhlar And Truhlar Attys NEGOTIATION46Ioni Bowcher
1038Salvatore L WhobreyIndia2025-04-14Feiner Bros QUALIFIED69Bernardo Dominic
1039Rodrigues T StockhamArgentina2025-04-17Chemel, James L Cpa QUALIFIED36Asiya Javayant
1040Johnson A RulapaughGermany2025-04-21Morlong Associates UNQUALIFIED87Xuxue Feng
1041Juan V AlbaresFrance2025-04-22Rangoni Of Florence NEW84Ioni Bowcher
1042David Q BologniaIndia2025-04-13Rousseaux, Michael Esq NEGOTIATION86Elwin Sharvill
1043Misaki W MarrierIndia2025-04-30Benton, John B Jr NEGOTIATION21Amy Elsner
1044David Z KuskoUnited Kingdom2025-04-08Chemel, James L Cpa NEGOTIATION44Stephen Shaw
1045Isabel H TollnerSpain2025-04-06King, Christopher A Esq NEGOTIATION6Ioni Bowcher
1046James R SaylorsSpain2025-04-10King, Christopher A Esq RENEWAL74Asiya Javayant
1047Misaki J StensethArgentina2025-04-12Rousseaux, Michael Esq QUALIFIED90Xuxue Feng
1048Sinclair I WhobreyBrazil2025-04-24Chanay, Jeffrey A Esq NEW66Anna Fali
1049Juan F DoeBrazil2025-04-15Feiner Bros NEW88Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro H RimGermanyBernardo Dominic PROPOSAL
Rodrigues B FigeroaGermanyAsiya Javayant RENEWAL
Emily J MarrierSpainStephen Shaw QUALIFIED
Murillo P WieserFranceIoni Bowcher QUALIFIED
Juan N GlickCanadaStephen Shaw QUALIFIED
Smith K RoysterAustraliaIoni Bowcher NEGOTIATION
Octavia A RutaCanadaIoni Bowcher NEGOTIATION
Chavez Y CaldareraFranceXuxue Feng QUALIFIED
Kadeem E RulapaughRussiaOnyama Limba PROPOSAL
Murillo R RoysterItalyAnna Fali PROPOSAL
Claire Y FerenczAustraliaAnna Fali NEW
Octavia U PoquetteSpainAmy Elsner NEGOTIATION
Clifford Z MaletIndiaAmy Elsner RENEWAL
Ivar T PerinFranceBernardo Dominic QUALIFIED
Jeanfrancois S DoeGermanyAmy Elsner NEW
Wickens C SergiAustraliaOnyama Limba NEGOTIATION
Morrow X CampainSpainIvan Magalhaes NEGOTIATION
Munro E AlbaresItalyXuxue Feng QUALIFIED
Misaki E WieserRussiaElwin Sharvill UNQUALIFIED
Clifford K AlbaresRussiaElwin Sharvill UNQUALIFIED
Leja R FerenczIndiaAsiya Javayant NEW
Darci I VenereUnited KingdomAmy Elsner QUALIFIED
Costa R GillianArgentinaBernardo Dominic NEW
Leja X DoeGermanyAmy Elsner QUALIFIED
David R SergiArgentinaAnna Fali PROPOSAL
Misaki I PerinBrazilAnna Fali NEW
Greenwood V KuskoCanadaOnyama Limba PROPOSAL
Misaki Q WieserItalyBernardo Dominic NEGOTIATION
Arvin F GauchoAustraliaElwin Sharvill NEW
Morrow C BowleyAustraliaXuxue Feng PROPOSAL
Aditya Y MaletRussiaStephen Shaw RENEWAL
Munro F FerenczUnited KingdomIoni Bowcher PROPOSAL
Maisha C FigeroaAustraliaElwin Sharvill NEW
Stacey W SlusarskiIndiaElwin Sharvill PROPOSAL
Octavia L OstroskyFranceAsiya Javayant NEW
Alejandro D ChuiAustraliaElwin Sharvill UNQUALIFIED
Aruna W KolmetzGermanyIvan Magalhaes PROPOSAL
Kaitlin N CaudyItalyIoni Bowcher UNQUALIFIED
Julie U DarakjyAustraliaAmy Elsner PROPOSAL
Maisha Z BriddickFranceAnna Fali UNQUALIFIED
Nicolas U CampainGermanyStephen Shaw PROPOSAL
Faith J IturbideRussiaIvan Magalhaes UNQUALIFIED
Mayumi Z MarrierArgentinaIoni Bowcher QUALIFIED
Darci F MorascaArgentinaXuxue Feng RENEWAL
Tony A FigeroaGermanyOnyama Limba QUALIFIED
Adams T GarufiUnited KingdomOnyama Limba NEW
Isabel J RimArgentinaStephen Shaw RENEWAL
Juan S OldroydIndiaIvan Magalhaes RENEWAL
Juan O RutaAustraliaOnyama Limba PROPOSAL
Greenwood Q RimUnited KingdomAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Tony L Nicka
Jennifer K Shinko
Smith Y Marrier
Cody U Malet
Francesco Q Rim
Stacey R Foller
Faith S Nicka
Sinclair L Nestle
Silvio L Gaucho
Jones L Butt
Emily P Stockham
Adams B Iturbide
Clifford N Garufi
Nicolas N Ostrosky
Aruna L Amigon
Deepesh X Poquette
Kadeem K Bolognia
Claire C Ferencz
Izzy F Dilliard
Ricardo I Glick
Aika O Albares
Salvatore H Shinko
Sinclair P Foller
Misaki A Morasca
Sinclair A Maclead
Darci S Kolmetz
Faith D Foller
Faith Q Marrier
Silvio D Figeroa
Ricardo W Waycott
David L Foller
Johnson F Ruta
Murillo O Ostrosky
Mujtaba V Bowley
Greenwood V Morasca
Faith J Perin
Aika V Inouye
Ricardo X Darakjy
Jones Y Gillian
Clifford H Whobrey
Misaki T Oldroyd
Izzy T Whobrey
Emily Q Kolmetz
Emily J Caudy
Julie X Kusko
Tony A Amigon
Jennifer V Venere
Silvio D Paprocki
Ivar M Kolmetz
Munro D Marrier
IdCountryDate
1000United Kingdom2025-04-17
1001Australia2025-04-05
1002Canada2025-04-29
1003Spain2025-04-27
1004Australia2025-04-21
1005Australia2025-04-16
1006Germany2025-04-22
1007Australia2025-04-29
1008Japan2025-04-19
1009Brazil2025-04-20
1010Canada2025-04-05
1011Brazil2025-04-07
1012Italy2025-04-13
1013Russia2025-04-23
1014Argentina2025-04-20
1015United Kingdom2025-04-17
1016Argentina2025-04-07
1017Australia2025-04-15
1018Japan2025-04-19
1019United Kingdom2025-04-25
1020France2025-04-27
1021Canada2025-04-08
1022Canada2025-04-08
1023Canada2025-04-28
1024Spain2025-04-07
1025United Kingdom2025-04-24
1026Germany2025-04-26
1027Canada2025-04-20
1028Russia2025-04-08
1029Germany2025-04-09
1030United Kingdom2025-04-11
1031Russia2025-04-21
1032France2025-04-25
1033Italy2025-04-03
1034Italy2025-04-15
1035Germany2025-04-23
1036Italy2025-04-22
1037United Kingdom2025-04-02
1038Brazil2025-04-25
1039Brazil2025-04-20
1040France2025-04-03
1041France2025-04-13
1042Argentina2025-04-11
1043Australia2025-04-20
1044India2025-04-26
1045Japan2025-04-14
1046Australia2025-04-27
1047Canada2025-04-22
1048Australia2025-04-13
1049Canada2025-04-08

On-Demand Data

NameIdCountryDate
Isabel L Ostrosky1000Italy2025-04-14
Leja W Campain1001Argentina2025-04-09
Aruna V Caldarera1002Canada2025-04-29
Adams J Doe1003Russia2025-04-22
Kaitlin O Saylors1004Argentina2025-04-26
Izzy X Sergi1005Brazil2025-04-26
Clifford B Albares1006Germany2025-04-11
Mayumi N Campain1007Canada2025-04-03
Emily W Nestle1008India2025-04-13
Rodrigues I Stenseth1009Japan2025-04-17
Kaitlin K Slusarski1010Japan2025-04-14
Emily J Bowley1011Spain2025-04-03
Isabel I Sergi1012Russia2025-04-11
Alejandro L Glick1013France2025-04-24
Kadeem H Garufi1014Argentina2025-04-30
Claire H Rim1015Argentina2025-04-13
Murillo R Poquette1016Japan2025-04-15
Smith T Darakjy1017India2025-04-25
Silvio B Ferencz1018India2025-04-04
Darci I Rulapaugh1019Russia2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa O ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Julie P GillianArgentinaElwin Sharvill RENEWAL
Greenwood V ChuiBrazilXuxue Feng NEGOTIATION
Tony V RimSpainXuxue Feng PROPOSAL
Alejandro R AmigonSpainElwin Sharvill PROPOSAL
Costa K NestleAustraliaAsiya Javayant RENEWAL
Leja N RulapaughFranceXuxue Feng RENEWAL
Costa W SergiSpainAnna Fali UNQUALIFIED
Stacey H StensethArgentinaAsiya Javayant NEW
Ricardo Z IturbideBrazilAmy Elsner UNQUALIFIED
Alejandro A RulapaughArgentinaAnna Fali PROPOSAL
Claire C InouyeSpainOnyama Limba NEGOTIATION
Costa W AmigonIndiaIoni Bowcher PROPOSAL
Misaki U CaudyGermanyXuxue Feng QUALIFIED
Isabel K TollnerAustraliaOnyama Limba NEW
Aditya H FigeroaJapanIoni Bowcher NEW
Izzy E SlusarskiUnited KingdomXuxue Feng QUALIFIED
Deepesh Q BowleyArgentinaXuxue Feng PROPOSAL
Maria W GauchoSpainAnna Fali PROPOSAL
Adams X FollerItalyAnna Fali RENEWAL
James H StensethItalyAnna Fali NEW
Octavia E SlusarskiBrazilAsiya Javayant NEGOTIATION
Leon P WieserItalyElwin Sharvill UNQUALIFIED
Deepesh I WieserAustraliaBernardo Dominic QUALIFIED
Smith R WaycottCanadaAsiya Javayant RENEWAL
Deepesh V ButtGermanyOnyama Limba PROPOSAL
Darci X VocelkaRussiaIoni Bowcher QUALIFIED
Emily S OldroydRussiaOnyama Limba NEGOTIATION
Smith F SergiCanadaAnna Fali NEGOTIATION
Arvin J SchemmerJapanAmy Elsner RENEWAL
Juan P BologniaAustraliaStephen Shaw NEW
Aika L MarrierArgentinaElwin Sharvill NEGOTIATION
Cody T BowleyGermanyAnna Fali QUALIFIED
Ricardo E TollnerIndiaBernardo Dominic RENEWAL
Jefferson W VocelkaBrazilOnyama Limba PROPOSAL
Aditya J DoeRussiaAsiya Javayant QUALIFIED
Ashley H VocelkaRussiaStephen Shaw RENEWAL
Ashley Q DoeBrazilOnyama Limba NEW
Johnson H AlbaresAustraliaElwin Sharvill NEGOTIATION
Johnson H ChuiFranceOnyama Limba RENEWAL

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