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
Jones P ButtAustraliaAsiya Javayant QUALIFIED
Ashley B GlickItalyXuxue Feng NEW
Darci K GauchoCanadaIvan Magalhaes RENEWAL
Arvin C SlusarskiArgentinaAmy Elsner QUALIFIED
Misaki D OstroskyGermanyXuxue Feng PROPOSAL
Smith I FlosiBrazilBernardo Dominic NEGOTIATION
Silvio D GillianGermanyAsiya Javayant UNQUALIFIED
Nicolas D PaprockiItalyIvan Magalhaes PROPOSAL
Johnson Z InouyeFranceAsiya Javayant UNQUALIFIED
Sinclair L WhobreyIndiaIoni Bowcher NEGOTIATION
Costa L DarakjyRussiaIoni Bowcher NEGOTIATION
Jeanfrancois A StensethArgentinaBernardo Dominic NEW
Aika O KuskoFranceXuxue Feng NEW
Jones Z CaudyRussiaIoni Bowcher RENEWAL
Mayumi V PaprockiSpainStephen Shaw NEW
Cody K CaldareraIndiaElwin Sharvill PROPOSAL
Octavia O SlusarskiGermanyXuxue Feng NEGOTIATION
Smith Q TollnerAustraliaStephen Shaw NEGOTIATION
Adams L SlusarskiSpainAsiya Javayant NEGOTIATION
Francesco W StockhamSpainOnyama Limba NEGOTIATION
Maria F ChuiBrazilStephen Shaw RENEWAL
Cody V KolmetzJapanXuxue Feng UNQUALIFIED
Silvio B RoysterArgentinaOnyama Limba QUALIFIED
Aruna L RimSpainAnna Fali PROPOSAL
Murillo O FerenczFranceAsiya Javayant NEGOTIATION
Leja D PaprockiArgentinaIoni Bowcher NEGOTIATION
Salvatore B WhobreySpainAmy Elsner PROPOSAL
Jones E RimGermanyIvan Magalhaes RENEWAL
Maisha F PerinCanadaElwin Sharvill NEGOTIATION
Aditya G OldroydAustraliaStephen Shaw QUALIFIED
Juan G GillianArgentinaOnyama Limba RENEWAL
Faith Z CampainBrazilAnna Fali NEGOTIATION
Jennifer A MaletArgentinaIvan Magalhaes RENEWAL
Johnson F TollnerArgentinaBernardo Dominic RENEWAL
Cody E MorascaUnited KingdomAnna Fali RENEWAL
Ricardo G AlbaresFranceElwin Sharvill RENEWAL
Faith X WhobreyArgentinaIvan Magalhaes RENEWAL
Kaitlin Q MorascaArgentinaStephen Shaw PROPOSAL
Juan U KolmetzSpainStephen Shaw NEGOTIATION
Ivar K MaletFranceIoni Bowcher QUALIFIED
Murillo N AmigonUnited KingdomBernardo Dominic NEGOTIATION
Jefferson E CaudyItalyElwin Sharvill QUALIFIED
David H PerinGermanyOnyama Limba QUALIFIED
Johnson B TollnerJapanOnyama Limba NEGOTIATION
Kadeem P StockhamFranceAsiya Javayant PROPOSAL
Cody Y BologniaAustraliaAmy Elsner RENEWAL
Jennifer X CaldareraIndiaElwin Sharvill UNQUALIFIED
Arvin G StensethJapanIvan Magalhaes RENEWAL
Emily X FlosiBrazilOnyama Limba NEW
Misaki K MaletFranceAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aika B PoquetteUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois C KolmetzArgentinaElwin Sharvill NEW
Clifford F VenereJapanAsiya Javayant UNQUALIFIED
Stacey X MorascaGermanyOnyama Limba NEGOTIATION
Faith P WieserFranceIoni Bowcher NEGOTIATION
Maisha Z MaletIndiaAnna Fali RENEWAL
Jennifer O VenereBrazilOnyama Limba NEW
Costa L SaylorsUnited KingdomXuxue Feng NEGOTIATION
Munro V RoysterArgentinaElwin Sharvill QUALIFIED
Adams B BologniaUnited KingdomAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy J TollnerGermany2024-05-05Buckley Miller Wright RENEWAL48Asiya Javayant
1001Johnson B FlosiRussia2024-05-06Buckley Miller Wright NEGOTIATION19Xuxue Feng
1002Francesco R OstroskyUnited Kingdom2024-05-06Buckley Miller Wright RENEWAL26Stephen Shaw
1003Sinclair K StockhamBrazil2024-05-15Truhlar And Truhlar Attys RENEWAL36Asiya Javayant
1004Wickens G ButtFrance2024-05-16Rangoni Of Florence NEGOTIATION16Stephen Shaw
1005Jeanfrancois P BowleyItaly2024-05-04Truhlar And Truhlar Attys NEW9Anna Fali
1006Aditya B SlusarskiArgentina2024-05-17Buckley Miller Wright PROPOSAL25Bernardo Dominic
1007James W VocelkaGermany2024-05-15Feltz Printing Service QUALIFIED32Elwin Sharvill
1008Tony Z ShinkoJapan2024-05-26Morlong Associates PROPOSAL31Xuxue Feng
1009Misaki N KolmetzFrance2024-05-24Printing Dimensions PROPOSAL14Xuxue Feng
1010Greenwood Q MacleadUnited Kingdom2024-05-12Rangoni Of Florence QUALIFIED94Stephen Shaw
1011Francesco K SlusarskiItaly2024-05-19Feiner Bros PROPOSAL20Elwin Sharvill
1012Leja X GauchoBrazil2024-05-15Rousseaux, Michael Esq QUALIFIED83Amy Elsner
1013Isabel B NickaItaly2024-05-23Buckley Miller Wright UNQUALIFIED52Xuxue Feng
1014Chavez Q BowleyGermany2024-05-03Commercial Press QUALIFIED52Ivan Magalhaes
1015Claire N MaletRussia2024-05-12Truhlar And Truhlar Attys UNQUALIFIED81Amy Elsner
1016Munro J RulapaughAustralia2024-05-22Feltz Printing Service RENEWAL41Amy Elsner
1017Ivar Q GlickSpain2024-05-12Dorl, James J Esq RENEWAL11Ioni Bowcher
1018Maisha F FigeroaSpain2024-05-26Rangoni Of Florence NEW97Xuxue Feng
1019Aika R FlosiJapan2024-05-26Chanay, Jeffrey A Esq QUALIFIED44Ivan Magalhaes
1020Mayumi B MaletArgentina2024-05-09Buckley Miller Wright PROPOSAL20Anna Fali
1021Greenwood C IturbideAustralia2024-05-03Commercial Press UNQUALIFIED81Bernardo Dominic
1022Ricardo E OldroydIndia2024-05-08Rangoni Of Florence NEW76Stephen Shaw
1023Isabel G CaldareraBrazil2024-05-28Rousseaux, Michael Esq NEW91Bernardo Dominic
1024Leon M ShinkoRussia2024-05-19Feltz Printing Service UNQUALIFIED40Bernardo Dominic
1025Antonio T RulapaughBrazil2024-05-28Printing Dimensions PROPOSAL24Anna Fali
1026Maisha K AmigonJapan2024-05-28Benton, John B Jr PROPOSAL20Xuxue Feng
1027Antonio I KuskoRussia2024-05-25Dorl, James J Esq PROPOSAL18Amy Elsner
1028Adams J ButtFrance2024-05-17Chemel, James L Cpa NEGOTIATION54Onyama Limba
1029Faith K StensethJapan2024-05-16Chapman, Ross E Esq UNQUALIFIED38Stephen Shaw
1030Costa N CaldareraJapan2024-05-22Printing Dimensions PROPOSAL5Amy Elsner
1031Greenwood C RutaBrazil2024-05-07Chanay, Jeffrey A Esq NEW14Onyama Limba
1032Smith R WieserArgentina2024-05-16Chapman, Ross E Esq NEGOTIATION66Bernardo Dominic
1033Julie P MarrierIndia2024-05-21Feltz Printing Service PROPOSAL90Asiya Javayant
1034Darci W FerenczIndia2024-05-15Dorl, James J Esq NEGOTIATION60Xuxue Feng
1035Faith S RoysterCanada2024-05-23Chanay, Jeffrey A Esq NEW41Asiya Javayant
1036Wickens K NickaArgentina2024-05-26Printing Dimensions PROPOSAL87Ivan Magalhaes
1037Leja Y FigeroaAustralia2024-05-09Rousseaux, Michael Esq NEGOTIATION42Elwin Sharvill
1038Salvatore M TollnerCanada2024-05-19Commercial Press UNQUALIFIED87Bernardo Dominic
1039David S TollnerArgentina2024-05-02Feiner Bros UNQUALIFIED56Amy Elsner
1040Johnson A GillianIndia2024-05-30Rangoni Of Florence NEW52Amy Elsner
1041Mayumi Q KolmetzIndia2024-05-04Truhlar And Truhlar Attys NEW38Ivan Magalhaes
1042Ivar F SergiJapan2024-05-09Commercial Press RENEWAL97Xuxue Feng
1043Ricardo G IturbideAustralia2024-05-07Feiner Bros NEGOTIATION56Xuxue Feng
1044Murillo F WaycottIndia2024-05-13Rousseaux, Michael Esq NEW4Ioni Bowcher
1045Adams X IturbideBrazil2024-05-21Morlong Associates RENEWAL99Anna Fali
1046Jones O PerinAustralia2024-05-04Feltz Printing Service NEW37Asiya Javayant
1047Jeanfrancois W RoysterRussia2024-05-24Chanay, Jeffrey A Esq RENEWAL97Ioni Bowcher
1048Ashley E DarakjyIndia2024-05-12Chanay, Jeffrey A Esq NEGOTIATION72Bernardo Dominic
1049Darci I GillianRussia2024-05-04Chanay, Jeffrey A Esq NEGOTIATION69Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams H SaylorsItalyBernardo Dominic PROPOSAL
Adams M FerenczAustraliaElwin Sharvill RENEWAL
Maria R IturbideGermanyOnyama Limba NEW
Ivar M CaldareraAustraliaIvan Magalhaes PROPOSAL
Leon G CaudyArgentinaXuxue Feng NEW
Smith V StockhamArgentinaIoni Bowcher RENEWAL
Maria X CampainRussiaIoni Bowcher PROPOSAL
Clifford G InouyeSpainIoni Bowcher RENEWAL
Cody R PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Alejandro S DoeGermanyOnyama Limba NEGOTIATION
Chavez B WhobreySpainIoni Bowcher UNQUALIFIED
Misaki J RutaItalyStephen Shaw NEW
Clifford Z BologniaAustraliaElwin Sharvill NEW
Ivar O MorascaFranceAmy Elsner PROPOSAL
Stacey M BriddickCanadaElwin Sharvill PROPOSAL
Jennifer B BowleySpainXuxue Feng QUALIFIED
Claire V RulapaughItalyBernardo Dominic PROPOSAL
Arvin C GauchoGermanyXuxue Feng QUALIFIED
Aditya Y AlbaresArgentinaStephen Shaw NEW
Antonio U NickaSpainElwin Sharvill PROPOSAL
Jeanfrancois B GarufiRussiaStephen Shaw RENEWAL
Silvio E SchemmerJapanIvan Magalhaes RENEWAL
Aruna P CaudyCanadaElwin Sharvill UNQUALIFIED
Salvatore I BologniaFranceIoni Bowcher UNQUALIFIED
Mujtaba B FollerSpainIvan Magalhaes NEGOTIATION
Johnson C DoeRussiaAnna Fali PROPOSAL
Antonio O MacleadRussiaIvan Magalhaes NEW
Nicolas Q WaycottBrazilAmy Elsner PROPOSAL
Izzy S FerenczItalyIvan Magalhaes NEGOTIATION
Jones M FollerIndiaElwin Sharvill QUALIFIED
Octavia F FerenczJapanIvan Magalhaes PROPOSAL
Costa Q SaylorsBrazilBernardo Dominic QUALIFIED
Jefferson F GillianUnited KingdomElwin Sharvill NEW
Mujtaba Z MorascaBrazilAsiya Javayant RENEWAL
Mujtaba V RimBrazilIvan Magalhaes PROPOSAL
Ivar S VocelkaIndiaAsiya Javayant PROPOSAL
Juan W GarufiRussiaOnyama Limba NEGOTIATION
Cody Z DoeRussiaOnyama Limba RENEWAL
Francesco C VenereIndiaOnyama Limba QUALIFIED
Mayumi T FerenczBrazilIoni Bowcher PROPOSAL
Clifford V SlusarskiCanadaElwin Sharvill UNQUALIFIED
Antonio R FollerFranceStephen Shaw QUALIFIED
Silvio Y StensethGermanyXuxue Feng RENEWAL
Mujtaba K OldroydGermanyIoni Bowcher PROPOSAL
Ricardo D GarufiSpainBernardo Dominic NEW
Leja F BologniaBrazilXuxue Feng PROPOSAL
Greenwood F NestleAustraliaAsiya Javayant UNQUALIFIED
Jefferson I ShinkoGermanyIvan Magalhaes RENEWAL
Costa K OstroskyUnited KingdomElwin Sharvill QUALIFIED
Ricardo B FlosiAustraliaBernardo Dominic QUALIFIED
Frozen Columns
Name
Alejandro U Briddick
Kadeem O Stockham
Kadeem L Ostrosky
Deepesh X Rulapaugh
Kaitlin X Nestle
Munro B Oldroyd
Antonio C Marrier
Emily T Oldroyd
Leon J Inouye
Aditya R Caldarera
Aika V Bolognia
Claire W Waycott
Jennifer L Ruta
Aika C Garufi
Faith D Malet
Antonio B Figeroa
Izzy P Bowley
Jennifer N Oldroyd
Julie W Perin
Octavia S Ferencz
Isabel B Sergi
Greenwood M Butt
James U Foller
Adams G Kusko
Leon Y Nicka
Maria V Maclead
Emily P Chui
Misaki T Slusarski
Juan T Caldarera
Murillo S Kusko
Juan X Inouye
Aika H Stockham
Salvatore N Doe
James C Poquette
Arvin G Foller
Leja S Amigon
Chavez X Tollner
Kadeem O Paprocki
Johnson E Nestle
Munro A Rim
Smith D Oldroyd
Adams G Nestle
Costa Q Iturbide
Aika H Caldarera
Mayumi I Bolognia
Emily M Malet
Salvatore O Maclead
Tony R Dilliard
Salvatore Q Venere
Sinclair C Caudy
IdCountryDate
1000United Kingdom2024-05-21
1001United Kingdom2024-05-15
1002United Kingdom2024-05-12
1003Brazil2024-05-20
1004France2024-05-18
1005Brazil2024-05-14
1006United Kingdom2024-05-27
1007India2024-05-19
1008Germany2024-05-16
1009Canada2024-05-16
1010Brazil2024-05-19
1011Canada2024-05-06
1012France2024-05-14
1013Spain2024-05-19
1014Argentina2024-05-14
1015Brazil2024-05-01
1016Canada2024-05-04
1017Spain2024-05-11
1018India2024-05-23
1019Brazil2024-05-08
1020Brazil2024-05-11
1021Italy2024-05-18
1022United Kingdom2024-05-07
1023Spain2024-05-05
1024Spain2024-05-18
1025Brazil2024-05-03
1026Japan2024-05-05
1027France2024-05-18
1028India2024-05-15
1029Australia2024-05-16
1030Japan2024-05-04
1031Brazil2024-05-01
1032India2024-05-21
1033France2024-05-03
1034Japan2024-05-23
1035Argentina2024-05-28
1036Germany2024-05-17
1037Canada2024-05-21
1038Japan2024-05-09
1039Argentina2024-05-19
1040France2024-05-07
1041Brazil2024-05-16
1042Italy2024-05-22
1043Canada2024-05-18
1044India2024-05-26
1045Germany2024-05-30
1046Canada2024-05-17
1047Germany2024-05-11
1048Australia2024-05-21
1049France2024-05-25

On-Demand Data

NameIdCountryDate
Jennifer T Sergi1000Italy2024-05-01
Stacey C Poquette1001Russia2024-05-01
Kadeem O Gillian1002United Kingdom2024-05-18
Mujtaba U Stockham1003France2024-05-07
Ashley M Whobrey1004Australia2024-05-25
Kaitlin H Doe1005Spain2024-05-04
Darci W Amigon1006Germany2024-05-29
Mujtaba W Malet1007Argentina2024-05-02
Adams L Figeroa1008France2024-05-26
David X Stenseth1009France2024-05-19
Arvin U Albares1010Germany2024-05-10
Mayumi P Dilliard1011Russia2024-05-18
Jefferson C Chui1012India2024-05-15
Wickens M Venere1013Japan2024-05-22
Faith D Ostrosky1014Argentina2024-05-21
Sinclair S Royster1015Germany2024-05-16
Jefferson Q Darakjy1016Australia2024-05-16
Munro M Amigon1017Spain2024-05-10
Darci T Nicka1018Brazil2024-05-09
Octavia V Nicka1019Germany2024-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Z MacleadArgentinaIoni Bowcher RENEWAL
Aruna U ChuiItalyStephen Shaw RENEWAL
Emily Y MaletAustraliaAmy Elsner QUALIFIED
Clifford H NestleCanadaIvan Magalhaes NEGOTIATION
Kadeem T OldroydArgentinaOnyama Limba RENEWAL
Leon I CaudySpainXuxue Feng NEW
Mayumi E PaprockiJapanElwin Sharvill PROPOSAL
Munro L FerenczFranceAmy Elsner NEW
Aditya X FerenczItalyIoni Bowcher NEGOTIATION
Octavia X MaletCanadaXuxue Feng UNQUALIFIED
Tony W BriddickBrazilIvan Magalhaes UNQUALIFIED
Julie C BowleyRussiaAmy Elsner RENEWAL
Alejandro K WaycottCanadaIvan Magalhaes RENEWAL
Adams N KolmetzIndiaBernardo Dominic NEGOTIATION
Sinclair V CampainGermanyBernardo Dominic UNQUALIFIED
Maisha S GlickAustraliaAmy Elsner PROPOSAL
Aruna J VocelkaBrazilAnna Fali NEGOTIATION
Mayumi S RulapaughArgentinaAnna Fali PROPOSAL
Leon D AmigonAustraliaAnna Fali RENEWAL
Maisha Q PoquetteFranceStephen Shaw PROPOSAL
Clifford X MorascaBrazilAnna Fali PROPOSAL
Costa N FlosiSpainIoni Bowcher RENEWAL
Misaki D MaletJapanStephen Shaw UNQUALIFIED
Maisha X MorascaUnited KingdomElwin Sharvill NEW
Octavia U FollerJapanAmy Elsner RENEWAL
Jefferson O NickaBrazilAmy Elsner NEW
Johnson I KuskoJapanAnna Fali NEW
Emily N DilliardAustraliaAnna Fali QUALIFIED
Nicolas F TollnerGermanyIvan Magalhaes RENEWAL
Alejandro S MaletItalyAnna Fali PROPOSAL
Ashley X AmigonGermanyAmy Elsner NEW
Juan P ShinkoCanadaBernardo Dominic NEGOTIATION
Johnson N TollnerUnited KingdomBernardo Dominic NEW
Aika N OstroskyIndiaBernardo Dominic UNQUALIFIED
Darci D GillianArgentinaAmy Elsner RENEWAL
Wickens J SergiIndiaAsiya Javayant RENEWAL
Costa D MaletItalyElwin Sharvill QUALIFIED
Rodrigues L InouyeItalyOnyama Limba UNQUALIFIED
Jones D NestleUnited KingdomAnna Fali PROPOSAL
Julie A OstroskyIndiaStephen Shaw 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>