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
Izzy J OstroskyIndiaBernardo Dominic NEW
Maisha Z AmigonBrazilBernardo Dominic PROPOSAL
David Y FlosiGermanyStephen Shaw PROPOSAL
Antonio P WhobreySpainElwin Sharvill PROPOSAL
Claire C IturbideFranceAsiya Javayant NEW
Aditya W PaprockiGermanyIoni Bowcher PROPOSAL
Aditya O CaldareraItalyBernardo Dominic RENEWAL
David H NickaBrazilElwin Sharvill PROPOSAL
Costa U DilliardGermanyBernardo Dominic NEW
Julie E GlickCanadaIvan Magalhaes RENEWAL
Leja Q FollerItalyBernardo Dominic QUALIFIED
Clifford J InouyeUnited KingdomIoni Bowcher QUALIFIED
Sinclair N AlbaresAustraliaAnna Fali NEGOTIATION
Jones S PaprockiRussiaAsiya Javayant NEGOTIATION
Tony C FollerArgentinaOnyama Limba NEGOTIATION
Silvio C MacleadFranceAmy Elsner PROPOSAL
Jeanfrancois E OstroskyIndiaAnna Fali RENEWAL
Murillo W StockhamRussiaAnna Fali NEGOTIATION
Chavez V GlickCanadaAsiya Javayant NEGOTIATION
Julie K KolmetzGermanyAmy Elsner RENEWAL
Julie J RutaIndiaStephen Shaw PROPOSAL
Murillo W DilliardAustraliaIvan Magalhaes NEGOTIATION
Emily J InouyeFranceIvan Magalhaes RENEWAL
Jennifer X OstroskyIndiaIvan Magalhaes NEW
Isabel W WaycottFranceIvan Magalhaes NEGOTIATION
Chavez P BologniaCanadaIvan Magalhaes UNQUALIFIED
Kadeem R MorascaBrazilOnyama Limba PROPOSAL
Mujtaba K CampainGermanyStephen Shaw UNQUALIFIED
Leon K GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh K BowleyGermanyAsiya Javayant RENEWAL
Johnson W RoysterBrazilAmy Elsner UNQUALIFIED
Juan J PoquetteRussiaIoni Bowcher NEW
Sinclair F GillianAustraliaStephen Shaw RENEWAL
Salvatore T IturbideArgentinaOnyama Limba PROPOSAL
Francesco F CampainArgentinaIvan Magalhaes QUALIFIED
Claire T CaldareraBrazilBernardo Dominic UNQUALIFIED
Maisha Q CaldareraGermanyXuxue Feng UNQUALIFIED
Claire H ChuiItalyAnna Fali RENEWAL
Nicolas U TollnerJapanAsiya Javayant QUALIFIED
Munro U BologniaSpainStephen Shaw UNQUALIFIED
Emily C FigeroaIndiaIoni Bowcher NEGOTIATION
Octavia H BowleyArgentinaOnyama Limba NEW
Johnson Q WhobreySpainAmy Elsner PROPOSAL
Costa V ButtItalyOnyama Limba UNQUALIFIED
Jennifer P DoeSpainAsiya Javayant PROPOSAL
Chavez U ChuiAustraliaAmy Elsner QUALIFIED
Misaki M AmigonIndiaElwin Sharvill QUALIFIED
Mujtaba O RutaUnited KingdomOnyama Limba PROPOSAL
Wickens F GarufiBrazilXuxue Feng RENEWAL
Jeanfrancois H ButtUnited KingdomElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire O AmigonBrazilAmy Elsner RENEWAL
Arvin H MacleadIndiaAmy Elsner QUALIFIED
David C PaprockiArgentinaAmy Elsner NEW
Adams V MaletBrazilAnna Fali UNQUALIFIED
Chavez L BowleyJapanAmy Elsner NEW
Sinclair K PaprockiIndiaElwin Sharvill QUALIFIED
Smith O FigeroaFranceStephen Shaw QUALIFIED
Leja U NickaJapanOnyama Limba PROPOSAL
Ashley W SchemmerCanadaIvan Magalhaes NEW
Costa K DilliardSpainXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson C RulapaughRussia2024-06-21Commercial Press NEGOTIATION76Ivan Magalhaes
1001Maisha W AlbaresGermany2024-06-02Rangoni Of Florence NEGOTIATION32Onyama Limba
1002Jennifer P OldroydGermany2024-06-19Printing Dimensions UNQUALIFIED62Onyama Limba
1003Juan F MarrierGermany2024-06-01Rousseaux, Michael Esq PROPOSAL37Anna Fali
1004Greenwood Q BologniaUnited Kingdom2024-06-10King, Christopher A Esq NEW53Stephen Shaw
1005Leon O TollnerIndia2024-06-22Chapman, Ross E Esq RENEWAL5Bernardo Dominic
1006Cody W MarrierCanada2024-06-12Printing Dimensions RENEWAL95Amy Elsner
1007Nicolas X AmigonAustralia2024-06-07Printing Dimensions PROPOSAL66Onyama Limba
1008Maisha Q RulapaughBrazil2024-05-29Feltz Printing Service QUALIFIED49Elwin Sharvill
1009Aika O DarakjyGermany2024-06-10Commercial Press PROPOSAL13Ioni Bowcher
1010Silvio A SchemmerArgentina2024-06-23Rousseaux, Michael Esq NEGOTIATION41Xuxue Feng
1011Tony D OstroskyArgentina2024-06-07Feltz Printing Service RENEWAL41Onyama Limba
1012Misaki L ShinkoCanada2024-06-02Chemel, James L Cpa QUALIFIED30Ioni Bowcher
1013Nicolas N InouyeRussia2024-06-18Chapman, Ross E Esq UNQUALIFIED67Amy Elsner
1014Jefferson X InouyeGermany2024-05-31Buckley Miller Wright QUALIFIED77Elwin Sharvill
1015Adams Q BologniaAustralia2024-06-03Rousseaux, Michael Esq PROPOSAL99Ioni Bowcher
1016Maria O NickaGermany2024-06-14Truhlar And Truhlar Attys QUALIFIED30Onyama Limba
1017Kaitlin V SaylorsJapan2024-06-19Chanay, Jeffrey A Esq QUALIFIED71Xuxue Feng
1018Mayumi A GillianIndia2024-06-17Morlong Associates NEGOTIATION15Xuxue Feng
1019Rodrigues S TollnerCanada2024-06-10Chapman, Ross E Esq QUALIFIED14Asiya Javayant
1020Silvio A DarakjyUnited Kingdom2024-06-22Feiner Bros NEW41Stephen Shaw
1021Octavia K WieserAustralia2024-06-08Morlong Associates RENEWAL92Elwin Sharvill
1022Claire T ChuiBrazil2024-06-14Rangoni Of Florence NEGOTIATION22Stephen Shaw
1023Ashley S BowleyBrazil2024-06-08Dorl, James J Esq QUALIFIED21Asiya Javayant
1024Ashley U SergiSpain2024-06-07Chemel, James L Cpa RENEWAL23Onyama Limba
1025Claire D RimBrazil2024-06-16Rangoni Of Florence NEGOTIATION94Onyama Limba
1026Salvatore D GauchoCanada2024-06-13Morlong Associates NEGOTIATION14Elwin Sharvill
1027Darci R KuskoJapan2024-06-09Rousseaux, Michael Esq NEW26Stephen Shaw
1028Rodrigues V GarufiFrance2024-06-13Feltz Printing Service NEW0Xuxue Feng
1029Silvio G MorascaIndia2024-05-25Feiner Bros RENEWAL44Xuxue Feng
1030Arvin P OstroskyRussia2024-06-17Rousseaux, Michael Esq NEGOTIATION66Elwin Sharvill
1031Jones Y GarufiCanada2024-06-03Benton, John B Jr PROPOSAL74Anna Fali
1032Isabel E PaprockiSpain2024-06-11Chemel, James L Cpa RENEWAL56Onyama Limba
1033Costa Z WhobreyUnited Kingdom2024-05-25Rousseaux, Michael Esq PROPOSAL68Asiya Javayant
1034Costa I InouyeFrance2024-06-14Benton, John B Jr UNQUALIFIED92Elwin Sharvill
1035Stacey W FerenczGermany2024-06-22Feiner Bros NEGOTIATION23Ioni Bowcher
1036Jefferson Q FerenczRussia2024-05-26Feltz Printing Service UNQUALIFIED44Amy Elsner
1037Murillo H CaldareraArgentina2024-06-14Chanay, Jeffrey A Esq RENEWAL20Elwin Sharvill
1038Murillo U SaylorsArgentina2024-06-21Truhlar And Truhlar Attys QUALIFIED40Amy Elsner
1039Munro V VenereBrazil2024-06-14Chemel, James L Cpa UNQUALIFIED40Anna Fali
1040Juan D InouyeItaly2024-06-01Morlong Associates QUALIFIED83Anna Fali
1041Faith P PaprockiArgentina2024-06-22Morlong Associates RENEWAL70Amy Elsner
1042Ivar S AmigonRussia2024-06-21Chemel, James L Cpa NEGOTIATION98Ioni Bowcher
1043Rodrigues Q BologniaCanada2024-05-29Rangoni Of Florence UNQUALIFIED29Elwin Sharvill
1044James T DoeRussia2024-05-27Chanay, Jeffrey A Esq NEGOTIATION28Xuxue Feng
1045Mayumi H SaylorsSpain2024-05-29Chanay, Jeffrey A Esq NEW60Amy Elsner
1046Costa O DilliardUnited Kingdom2024-06-13Chemel, James L Cpa UNQUALIFIED93Stephen Shaw
1047Ashley K MorascaFrance2024-06-05Rangoni Of Florence QUALIFIED24Stephen Shaw
1048Jeanfrancois X BologniaArgentina2024-06-05Feiner Bros QUALIFIED44Asiya Javayant
1049Nicolas H RimCanada2024-06-22Benton, John B Jr PROPOSAL7Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Munro N KuskoUnited KingdomXuxue Feng NEW
Nicolas K GarufiJapanIvan Magalhaes QUALIFIED
Maria X StockhamBrazilAmy Elsner RENEWAL
Costa I TollnerJapanBernardo Dominic PROPOSAL
Darci D MaletCanadaIvan Magalhaes NEGOTIATION
Mayumi E StockhamSpainAnna Fali PROPOSAL
Alejandro N ShinkoIndiaXuxue Feng NEW
Mayumi Q StockhamJapanStephen Shaw UNQUALIFIED
Aruna K TollnerGermanyIvan Magalhaes NEW
Rodrigues J GlickCanadaIoni Bowcher NEW
Kaitlin S SergiFranceBernardo Dominic NEW
Aditya U CampainSpainElwin Sharvill NEGOTIATION
Misaki T PerinSpainIoni Bowcher PROPOSAL
Wickens U WaycottIndiaAnna Fali UNQUALIFIED
Isabel U MaletJapanIoni Bowcher UNQUALIFIED
Izzy G SaylorsRussiaBernardo Dominic NEGOTIATION
Silvio D VenereUnited KingdomAmy Elsner PROPOSAL
Claire O ButtGermanyElwin Sharvill RENEWAL
Antonio V DilliardBrazilXuxue Feng UNQUALIFIED
Chavez U PerinFranceXuxue Feng NEGOTIATION
James Q RoysterItalyXuxue Feng PROPOSAL
Stacey K FlosiBrazilIvan Magalhaes PROPOSAL
Jeanfrancois I FerenczSpainAnna Fali RENEWAL
Tony A GillianFranceBernardo Dominic PROPOSAL
Antonio J SaylorsSpainAnna Fali NEGOTIATION
Ivar E BowleyBrazilOnyama Limba QUALIFIED
Ricardo K RutaSpainBernardo Dominic RENEWAL
Murillo X RimIndiaAnna Fali NEW
Maisha F FlosiItalyElwin Sharvill NEGOTIATION
Jones M WhobreyItalyStephen Shaw QUALIFIED
Jennifer E MorascaSpainIvan Magalhaes UNQUALIFIED
Francesco W KuskoFranceBernardo Dominic PROPOSAL
Nicolas B ShinkoAustraliaStephen Shaw NEGOTIATION
Munro H PerinRussiaAmy Elsner UNQUALIFIED
Aditya F SchemmerFranceXuxue Feng PROPOSAL
Kadeem Y CaldareraCanadaStephen Shaw UNQUALIFIED
Munro O VocelkaSpainAsiya Javayant QUALIFIED
Misaki Z PerinFranceAmy Elsner UNQUALIFIED
Francesco G DarakjyBrazilXuxue Feng NEGOTIATION
Jones A KuskoArgentinaIoni Bowcher UNQUALIFIED
Jennifer X OldroydAustraliaIoni Bowcher UNQUALIFIED
Johnson A ChuiIndiaAsiya Javayant PROPOSAL
Octavia P PerinFranceAnna Fali NEGOTIATION
Aditya M NickaSpainStephen Shaw RENEWAL
Greenwood S TollnerCanadaXuxue Feng NEW
David D CaudyArgentinaIoni Bowcher RENEWAL
Alejandro H IturbideBrazilStephen Shaw NEW
James M OstroskyJapanXuxue Feng PROPOSAL
Tony Q GauchoCanadaOnyama Limba QUALIFIED
Aika I VocelkaArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Stacey Q Schemmer
James B Marrier
Ashley L Venere
Francesco N Oldroyd
Smith E Figeroa
Salvatore B Foller
Maisha U Poquette
Octavia T Wieser
Chavez D Malet
Francesco N Saylors
Wickens C Rim
Izzy R Dilliard
Munro D Stenseth
Leon Q Nestle
Silvio X Morasca
Maisha Z Malet
Juan M Flosi
Munro Z Whobrey
Rodrigues T Malet
Sinclair A Bolognia
Tony C Slusarski
Ivar N Butt
Darci E Malet
Morrow N Figeroa
Mayumi Z Maclead
Maria K Tollner
Costa D Albares
Antonio K Malet
Mayumi P Venere
Maria R Gaucho
Cody T Maclead
Johnson A Stockham
Aika X Amigon
Mujtaba Z Butt
Cody D Kusko
Cody B Iturbide
Morrow U Albares
Wickens Y Sergi
Leja M Garufi
Izzy M Gillian
Deepesh X Caldarera
Emily Z Vocelka
Aruna Q Dilliard
James D Amigon
Kadeem G Kolmetz
Chavez M Gillian
Tony Q Amigon
Jefferson E Schemmer
Greenwood X Poquette
Darci S Malet
IdCountryDate
1000France2024-06-12
1001Australia2024-06-09
1002India2024-05-25
1003Canada2024-06-14
1004Spain2024-06-13
1005Spain2024-06-03
1006Spain2024-06-14
1007Germany2024-06-22
1008Japan2024-05-31
1009France2024-06-20
1010Brazil2024-06-11
1011Germany2024-05-29
1012Germany2024-06-04
1013United Kingdom2024-06-17
1014Russia2024-05-31
1015Argentina2024-06-11
1016Russia2024-05-26
1017India2024-05-29
1018Argentina2024-06-19
1019Germany2024-06-13
1020France2024-06-16
1021Japan2024-05-26
1022India2024-06-12
1023Canada2024-05-27
1024Spain2024-06-12
1025Australia2024-06-19
1026Canada2024-05-25
1027United Kingdom2024-05-25
1028Germany2024-05-29
1029Canada2024-05-28
1030Canada2024-06-09
1031Russia2024-06-02
1032Japan2024-06-10
1033Canada2024-06-07
1034Brazil2024-06-09
1035Brazil2024-05-27
1036United Kingdom2024-05-27
1037Argentina2024-06-22
1038Argentina2024-06-15
1039United Kingdom2024-06-03
1040Spain2024-05-25
1041Germany2024-06-23
1042Germany2024-05-28
1043India2024-06-19
1044Australia2024-06-12
1045France2024-06-23
1046Canada2024-05-31
1047Spain2024-06-13
1048India2024-06-14
1049France2024-06-12

On-Demand Data

NameIdCountryDate
Arvin G Slusarski1000Spain2024-06-12
Johnson I Bowley1001India2024-06-19
Greenwood T Campain1002United Kingdom2024-05-25
Francesco S Ruta1003Russia2024-06-17
Kadeem P Poquette1004Russia2024-06-17
Isabel L Nicka1005Germany2024-06-04
Mayumi A Stockham1006Spain2024-06-09
Greenwood I Bolognia1007Argentina2024-06-03
Sinclair N Stenseth1008United Kingdom2024-06-19
Aruna S Marrier1009Spain2024-05-30
Ricardo I Amigon1010Russia2024-06-17
James Z Royster1011Argentina2024-06-08
Francesco X Malet1012Italy2024-06-16
Aditya E Nicka1013Germany2024-06-08
Izzy O Stockham1014Japan2024-06-19
Mayumi J Morasca1015Russia2024-06-16
Costa G Albares1016Italy2024-06-14
Alejandro Y Nicka1017France2024-06-05
Faith Z Flosi1018France2024-06-15
Jennifer I Darakjy1019France2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja F FerenczFranceXuxue Feng NEGOTIATION
Smith J FlosiSpainXuxue Feng UNQUALIFIED
Salvatore R BriddickCanadaIvan Magalhaes NEW
Ricardo M SchemmerBrazilBernardo Dominic RENEWAL
Murillo Y NickaArgentinaXuxue Feng PROPOSAL
Mayumi F CaldareraBrazilIoni Bowcher NEW
Jennifer U GlickSpainXuxue Feng QUALIFIED
Juan B ButtBrazilIoni Bowcher UNQUALIFIED
Emily L ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Maisha S KuskoJapanAmy Elsner NEGOTIATION
Emily P KolmetzUnited KingdomStephen Shaw NEGOTIATION
Aruna C MaletUnited KingdomOnyama Limba NEGOTIATION
Kaitlin K CaldareraIndiaBernardo Dominic NEW
Kaitlin R MorascaGermanyOnyama Limba NEGOTIATION
Sinclair N RoysterUnited KingdomOnyama Limba QUALIFIED
Alejandro G WhobreyRussiaIoni Bowcher NEGOTIATION
Deepesh R BologniaCanadaStephen Shaw QUALIFIED
Deepesh O RutaUnited KingdomStephen Shaw UNQUALIFIED
Sinclair U GarufiRussiaElwin Sharvill PROPOSAL
Morrow Z MorascaItalyAsiya Javayant RENEWAL
Ashley I PaprockiCanadaIoni Bowcher RENEWAL
Claire O FlosiSpainBernardo Dominic NEW
Leja J BologniaCanadaStephen Shaw PROPOSAL
Stacey L DilliardCanadaIoni Bowcher RENEWAL
Sinclair P PerinCanadaIvan Magalhaes NEW
Izzy X InouyeItalyAnna Fali QUALIFIED
Antonio D OldroydAustraliaIoni Bowcher QUALIFIED
Silvio J FerenczFranceAmy Elsner RENEWAL
Julie Q NickaSpainIvan Magalhaes UNQUALIFIED
Greenwood N NickaFranceAmy Elsner NEGOTIATION
Deepesh Q CampainAustraliaOnyama Limba UNQUALIFIED
Mujtaba C SergiSpainAmy Elsner UNQUALIFIED
Sinclair U VenereCanadaIvan Magalhaes NEGOTIATION
Deepesh K RulapaughCanadaXuxue Feng PROPOSAL
Octavia P TollnerSpainBernardo Dominic NEGOTIATION
Silvio G KolmetzSpainAnna Fali NEGOTIATION
Greenwood R MaletBrazilXuxue Feng NEGOTIATION
Izzy E MaletItalyStephen Shaw NEGOTIATION
Salvatore C BologniaFranceElwin Sharvill NEW
Faith B RimAustraliaAsiya Javayant 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>