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
Maisha T VocelkaFranceIvan Magalhaes UNQUALIFIED
Tony V PaprockiAustraliaElwin Sharvill NEGOTIATION
Kadeem W RutaFranceAsiya Javayant NEGOTIATION
David J AlbaresGermanyAnna Fali NEGOTIATION
Rodrigues C TollnerSpainXuxue Feng UNQUALIFIED
Kadeem C VenereCanadaStephen Shaw PROPOSAL
David H VenereCanadaAmy Elsner NEGOTIATION
Octavia T TollnerGermanyBernardo Dominic UNQUALIFIED
Antonio U MacleadArgentinaIvan Magalhaes NEW
Ricardo N KuskoItalyAmy Elsner RENEWAL
Octavia J WieserArgentinaAsiya Javayant RENEWAL
Aruna P GauchoFranceOnyama Limba PROPOSAL
Jeanfrancois E OldroydAustraliaIvan Magalhaes NEW
Wickens B SchemmerIndiaAmy Elsner NEW
Maria K NickaIndiaAnna Fali UNQUALIFIED
Leja P SlusarskiArgentinaOnyama Limba NEW
Kaitlin X StensethArgentinaAsiya Javayant PROPOSAL
Johnson W DoeCanadaAmy Elsner NEW
Adams M CampainCanadaXuxue Feng NEW
Mayumi B GlickRussiaElwin Sharvill UNQUALIFIED
Salvatore E RutaBrazilElwin Sharvill NEGOTIATION
Murillo U NestleJapanIoni Bowcher RENEWAL
Salvatore Y GarufiSpainElwin Sharvill QUALIFIED
Maisha Y RimBrazilXuxue Feng NEGOTIATION
Jeanfrancois T FlosiCanadaIoni Bowcher QUALIFIED
Jefferson M SaylorsArgentinaIoni Bowcher RENEWAL
Arvin Y DilliardUnited KingdomAsiya Javayant PROPOSAL
Izzy K StensethArgentinaAmy Elsner NEGOTIATION
Mayumi W VocelkaCanadaElwin Sharvill NEGOTIATION
Darci Q KolmetzRussiaIoni Bowcher NEW
David C BriddickUnited KingdomAnna Fali QUALIFIED
Aika F KolmetzIndiaElwin Sharvill NEGOTIATION
Mayumi U KuskoUnited KingdomElwin Sharvill RENEWAL
Johnson B GarufiArgentinaIvan Magalhaes NEW
Cody O ChuiSpainAnna Fali UNQUALIFIED
Nicolas P GauchoGermanyOnyama Limba NEGOTIATION
Adams O ButtAustraliaIoni Bowcher UNQUALIFIED
Mujtaba A OldroydGermanyElwin Sharvill UNQUALIFIED
Darci R ButtRussiaStephen Shaw NEW
Greenwood J VenereAustraliaAmy Elsner QUALIFIED
James A OldroydFranceIoni Bowcher RENEWAL
Jones H FerenczBrazilXuxue Feng PROPOSAL
Rodrigues I KuskoBrazilIvan Magalhaes NEW
Aruna Z SaylorsCanadaAsiya Javayant NEW
Emily J RoysterBrazilIoni Bowcher RENEWAL
Arvin U SchemmerRussiaIoni Bowcher PROPOSAL
Tony L OstroskyRussiaElwin Sharvill UNQUALIFIED
Emily Q ButtUnited KingdomAmy Elsner NEW
Julie A OstroskyItalyIvan Magalhaes PROPOSAL
Emily S StockhamBrazilElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams K MaletGermanyOnyama Limba QUALIFIED
Arvin M KuskoItalyStephen Shaw RENEWAL
Salvatore E TollnerUnited KingdomXuxue Feng PROPOSAL
Juan G ShinkoJapanAmy Elsner NEW
Arvin F CaldareraItalyIoni Bowcher NEGOTIATION
Darci F RoysterJapanIoni Bowcher PROPOSAL
Wickens C CampainArgentinaXuxue Feng RENEWAL
Kadeem K RutaJapanOnyama Limba QUALIFIED
Antonio A BowleyCanadaXuxue Feng RENEWAL
Salvatore E GlickJapanElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya H WieserCanada2024-06-20Rangoni Of Florence UNQUALIFIED42Onyama Limba
1001Juan H BowleyJapan2024-06-07Chapman, Ross E Esq RENEWAL28Anna Fali
1002Kadeem V VenereRussia2024-06-22Printing Dimensions QUALIFIED62Onyama Limba
1003Stacey C FollerSpain2024-06-07Commercial Press NEW73Amy Elsner
1004Clifford J WhobreyGermany2024-05-28Rousseaux, Michael Esq RENEWAL45Amy Elsner
1005Rodrigues K GarufiBrazil2024-06-19Buckley Miller Wright RENEWAL89Ioni Bowcher
1006Ivar F RulapaughAustralia2024-05-29King, Christopher A Esq NEW87Bernardo Dominic
1007Stacey F StockhamItaly2024-06-19Truhlar And Truhlar Attys NEGOTIATION83Elwin Sharvill
1008Misaki M CaudyGermany2024-06-02Feiner Bros NEGOTIATION94Stephen Shaw
1009Kadeem P VocelkaSpain2024-06-11Truhlar And Truhlar Attys RENEWAL46Elwin Sharvill
1010Morrow F GlickBrazil2024-06-08Chemel, James L Cpa NEW77Anna Fali
1011Jennifer K VenereRussia2024-06-07Morlong Associates NEW97Bernardo Dominic
1012Clifford R StockhamUnited Kingdom2024-06-12Benton, John B Jr RENEWAL23Xuxue Feng
1013Greenwood B VocelkaArgentina2024-06-23Morlong Associates NEW40Ioni Bowcher
1014Mayumi I BowleyIndia2024-06-08Dorl, James J Esq RENEWAL9Amy Elsner
1015Julie H BowleyAustralia2024-06-07Feltz Printing Service RENEWAL71Stephen Shaw
1016David L SlusarskiSpain2024-06-18Rangoni Of Florence QUALIFIED30Asiya Javayant
1017Salvatore Z ChuiFrance2024-06-20Truhlar And Truhlar Attys UNQUALIFIED28Xuxue Feng
1018Jeanfrancois A MorascaArgentina2024-06-02Dorl, James J Esq QUALIFIED42Asiya Javayant
1019Morrow H PoquetteArgentina2024-06-22Morlong Associates RENEWAL23Asiya Javayant
1020Alejandro E CaldareraRussia2024-06-19Chapman, Ross E Esq RENEWAL95Xuxue Feng
1021Maisha E GillianFrance2024-06-21Feiner Bros UNQUALIFIED6Elwin Sharvill
1022Misaki B CampainGermany2024-06-02Rousseaux, Michael Esq QUALIFIED71Stephen Shaw
1023Clifford E MaletAustralia2024-06-20King, Christopher A Esq PROPOSAL44Asiya Javayant
1024Darci H GauchoArgentina2024-06-18Rangoni Of Florence NEW95Onyama Limba
1025Mayumi R OstroskyRussia2024-06-01Rousseaux, Michael Esq NEW50Xuxue Feng
1026Maisha I NickaUnited Kingdom2024-06-10Buckley Miller Wright NEGOTIATION62Elwin Sharvill
1027Jones E ChuiItaly2024-06-14Chapman, Ross E Esq UNQUALIFIED6Ioni Bowcher
1028Morrow G KuskoIndia2024-06-08Morlong Associates QUALIFIED48Asiya Javayant
1029Maisha P StockhamCanada2024-06-16Chapman, Ross E Esq QUALIFIED85Amy Elsner
1030Ashley R StensethUnited Kingdom2024-06-13Commercial Press PROPOSAL36Ivan Magalhaes
1031Faith E DoeIndia2024-06-17Printing Dimensions RENEWAL33Asiya Javayant
1032Greenwood H MorascaRussia2024-06-05Chapman, Ross E Esq UNQUALIFIED89Xuxue Feng
1033Aruna B MorascaUnited Kingdom2024-06-16Rousseaux, Michael Esq QUALIFIED21Amy Elsner
1034Salvatore K NickaBrazil2024-06-18Truhlar And Truhlar Attys QUALIFIED9Amy Elsner
1035Aika R GlickBrazil2024-05-29Dorl, James J Esq QUALIFIED11Anna Fali
1036Octavia O SlusarskiIndia2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED37Anna Fali
1037Emily M GauchoCanada2024-06-19Commercial Press PROPOSAL56Anna Fali
1038Ashley F FollerRussia2024-06-15Chanay, Jeffrey A Esq NEW85Anna Fali
1039Costa Q FerenczItaly2024-05-31Truhlar And Truhlar Attys NEW74Xuxue Feng
1040Sinclair P ChuiRussia2024-06-05Chemel, James L Cpa RENEWAL4Ioni Bowcher
1041Greenwood Q AlbaresFrance2024-06-22Feltz Printing Service NEW24Ivan Magalhaes
1042Francesco T SaylorsBrazil2024-05-26Truhlar And Truhlar Attys QUALIFIED48Ioni Bowcher
1043Faith A KuskoIndia2024-06-12Buckley Miller Wright PROPOSAL29Asiya Javayant
1044David U GarufiFrance2024-06-18Benton, John B Jr UNQUALIFIED22Bernardo Dominic
1045Morrow G GlickGermany2024-06-04King, Christopher A Esq NEW40Onyama Limba
1046Faith J MarrierJapan2024-06-09Buckley Miller Wright QUALIFIED49Ioni Bowcher
1047Maisha B GillianGermany2024-06-14Morlong Associates NEW31Xuxue Feng
1048Kadeem O DarakjyGermany2024-05-31King, Christopher A Esq NEGOTIATION30Onyama Limba
1049Antonio Q ShinkoItaly2024-06-02Dorl, James J Esq QUALIFIED61Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Deepesh L IturbideArgentinaBernardo Dominic NEW
Greenwood T AmigonUnited KingdomStephen Shaw UNQUALIFIED
Maisha P CaudyBrazilAsiya Javayant UNQUALIFIED
Murillo V OstroskyAustraliaStephen Shaw QUALIFIED
Nicolas R DoeRussiaXuxue Feng QUALIFIED
Emily X NestleJapanAmy Elsner RENEWAL
Antonio D DoeSpainXuxue Feng NEGOTIATION
Claire C AmigonUnited KingdomAmy Elsner RENEWAL
Faith U GauchoFranceIvan Magalhaes RENEWAL
Mayumi W BowleyIndiaIoni Bowcher NEW
Misaki J DarakjyGermanyIvan Magalhaes NEW
Smith J CaldareraBrazilBernardo Dominic NEW
Emily A VocelkaAustraliaIvan Magalhaes NEGOTIATION
Leon L DilliardRussiaOnyama Limba NEGOTIATION
Claire C OstroskyJapanIoni Bowcher NEW
Nicolas I FlosiAustraliaAsiya Javayant NEGOTIATION
Aika X DarakjyCanadaAmy Elsner UNQUALIFIED
James W SaylorsAustraliaIoni Bowcher PROPOSAL
James R MorascaBrazilElwin Sharvill RENEWAL
Ivar H WaycottFranceXuxue Feng RENEWAL
Faith V CaudyBrazilBernardo Dominic PROPOSAL
Faith G NickaIndiaXuxue Feng NEW
Rodrigues A SchemmerAustraliaIvan Magalhaes PROPOSAL
Jefferson W RutaItalyAsiya Javayant NEW
Alejandro S GlickUnited KingdomOnyama Limba NEGOTIATION
Ivar M WieserRussiaAsiya Javayant NEGOTIATION
Deepesh T GillianGermanyBernardo Dominic QUALIFIED
Jeanfrancois E GauchoBrazilAmy Elsner QUALIFIED
Kaitlin H ShinkoBrazilAnna Fali NEGOTIATION
Emily A OldroydRussiaAsiya Javayant UNQUALIFIED
Mayumi Y BowleyIndiaAsiya Javayant PROPOSAL
Stacey Z OldroydIndiaElwin Sharvill NEW
Leon D VocelkaIndiaElwin Sharvill UNQUALIFIED
Misaki O RimFranceOnyama Limba NEW
Jennifer I InouyeRussiaAnna Fali RENEWAL
Jennifer X MacleadIndiaIoni Bowcher QUALIFIED
Rodrigues K ButtJapanIvan Magalhaes QUALIFIED
Morrow N FigeroaRussiaAnna Fali RENEWAL
Stacey H WieserItalyAnna Fali RENEWAL
Jones N FerenczBrazilAmy Elsner UNQUALIFIED
Tony N GarufiItalyAsiya Javayant RENEWAL
Leja J ChuiCanadaAsiya Javayant UNQUALIFIED
Aditya R KuskoFranceBernardo Dominic PROPOSAL
Aika J RimFranceElwin Sharvill RENEWAL
Jeanfrancois M WieserItalyElwin Sharvill PROPOSAL
Deepesh N StensethArgentinaAnna Fali RENEWAL
Adams G FollerItalyStephen Shaw RENEWAL
Alejandro S DarakjyGermanyOnyama Limba RENEWAL
Cody M AmigonCanadaElwin Sharvill PROPOSAL
Clifford B SlusarskiCanadaStephen Shaw RENEWAL
Frozen Columns
Name
Mayumi T Dilliard
Jennifer I Stockham
Izzy R Briddick
Alejandro J Bowley
James K Dilliard
Mujtaba S Figeroa
Mayumi G Garufi
James A Rim
Wickens G Waycott
Isabel Q Briddick
Clifford T Caudy
Salvatore D Albares
Smith U Nicka
Rodrigues U Inouye
Ashley Y Kusko
Aditya B Marrier
Maria R Glick
Silvio I Schemmer
David X Campain
Mayumi W Wieser
Francesco C Nestle
Arvin B Wieser
Jones W Venere
Murillo R Tollner
Faith K Stockham
Jefferson R Campain
Misaki Y Vocelka
Jeanfrancois K Dilliard
Smith P Butt
Murillo A Caudy
Chavez L Morasca
Alejandro Q Tollner
Deepesh U Gillian
Costa S Waycott
Wickens R Schemmer
Jefferson M Sergi
Izzy C Malet
Mujtaba T Sergi
Silvio Y Darakjy
Antonio I Chui
Kaitlin N Stenseth
Deepesh G Figeroa
Greenwood U Bowley
Jefferson L Paprocki
Salvatore M Stockham
Nicolas U Albares
Maria G Malet
Ivar Y Darakjy
Costa B Bolognia
Izzy D Sergi
IdCountryDate
1000Spain2024-06-13
1001France2024-06-04
1002Italy2024-06-06
1003Canada2024-06-11
1004Italy2024-06-18
1005Russia2024-06-08
1006Spain2024-06-18
1007France2024-06-04
1008Russia2024-06-13
1009Japan2024-06-11
1010India2024-06-07
1011Italy2024-06-16
1012Italy2024-06-06
1013Russia2024-06-06
1014Brazil2024-05-29
1015India2024-05-27
1016Japan2024-06-02
1017Russia2024-05-30
1018France2024-06-18
1019Argentina2024-06-15
1020Brazil2024-05-29
1021United Kingdom2024-05-31
1022Australia2024-06-03
1023Australia2024-06-21
1024Canada2024-06-04
1025Italy2024-06-02
1026Japan2024-06-16
1027Japan2024-06-13
1028Brazil2024-05-26
1029France2024-06-05
1030Germany2024-06-16
1031Russia2024-06-17
1032Brazil2024-06-07
1033Australia2024-06-10
1034Canada2024-06-13
1035United Kingdom2024-06-09
1036India2024-05-29
1037Brazil2024-05-29
1038Australia2024-06-11
1039Brazil2024-06-10
1040Russia2024-05-27
1041Spain2024-06-09
1042India2024-06-04
1043Australia2024-06-09
1044Russia2024-06-21
1045United Kingdom2024-06-06
1046France2024-06-22
1047Russia2024-06-06
1048France2024-06-10
1049Russia2024-05-29

On-Demand Data

NameIdCountryDate
Murillo V Butt1000Russia2024-05-30
Greenwood J Oldroyd1001Argentina2024-06-04
Smith Y Chui1002Australia2024-06-07
Darci Z Nestle1003Spain2024-06-24
Jennifer J Royster1004Argentina2024-06-17
Salvatore F Garufi1005Japan2024-06-15
Antonio Y Poquette1006Japan2024-06-20
Claire Q Caldarera1007United Kingdom2024-06-06
Smith V Waycott1008France2024-06-22
Kadeem P Rim1009Australia2024-05-29
Aruna H Stenseth1010Spain2024-06-08
Faith U Inouye1011Brazil2024-06-07
Rodrigues D Gaucho1012France2024-06-13
Faith X Stockham1013France2024-06-07
Jefferson U Kusko1014Germany2024-06-21
Jefferson E Caudy1015Spain2024-06-03
Johnson R Foller1016France2024-05-30
Murillo H Saylors1017Germany2024-06-17
Alejandro S Briddick1018India2024-06-19
Arvin J Tollner1019France2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Z OldroydArgentinaElwin Sharvill NEGOTIATION
Smith D GarufiArgentinaXuxue Feng PROPOSAL
Emily E GillianArgentinaOnyama Limba PROPOSAL
Stacey X WhobreyCanadaOnyama Limba NEW
Cody P KuskoSpainElwin Sharvill PROPOSAL
Cody M KolmetzItalyAnna Fali QUALIFIED
Cody G SchemmerFranceElwin Sharvill UNQUALIFIED
Adams O BowleyIndiaOnyama Limba PROPOSAL
Maria S MacleadBrazilAsiya Javayant PROPOSAL
Jones P AmigonRussiaIoni Bowcher NEW
Deepesh O GlickGermanyAmy Elsner NEGOTIATION
Nicolas X GillianFranceIvan Magalhaes NEW
Juan N FigeroaCanadaIoni Bowcher RENEWAL
Misaki V OstroskyRussiaOnyama Limba PROPOSAL
Jennifer Y MaletJapanIoni Bowcher RENEWAL
Ricardo B BologniaJapanBernardo Dominic PROPOSAL
Adams K MaletGermanyXuxue Feng PROPOSAL
Tony A GauchoIndiaAmy Elsner NEW
Deepesh F MarrierIndiaIoni Bowcher QUALIFIED
Greenwood A FlosiGermanyAnna Fali RENEWAL
Morrow N OldroydUnited KingdomAsiya Javayant RENEWAL
Rodrigues E SchemmerSpainIvan Magalhaes QUALIFIED
David Q MaletArgentinaXuxue Feng NEW
Jefferson D SchemmerUnited KingdomIoni Bowcher QUALIFIED
David B GarufiJapanAmy Elsner UNQUALIFIED
Costa P ChuiSpainAnna Fali NEGOTIATION
Julie R RulapaughIndiaElwin Sharvill PROPOSAL
Adams H MaletFranceXuxue Feng RENEWAL
Ricardo T MaletIndiaBernardo Dominic QUALIFIED
Kadeem Z CaudyBrazilStephen Shaw RENEWAL
Kadeem T DoeUnited KingdomIoni Bowcher NEW
Misaki Y RimRussiaBernardo Dominic RENEWAL
Izzy Q FigeroaJapanAnna Fali NEW
Leja D InouyeFranceAnna Fali QUALIFIED
Francesco E GillianGermanyElwin Sharvill PROPOSAL
Leon Q CampainAustraliaIoni Bowcher RENEWAL
Smith Z InouyeJapanBernardo Dominic NEGOTIATION
Greenwood J WieserCanadaAmy Elsner NEW
Sinclair C FerenczCanadaAnna Fali NEW
Ricardo B OldroydSpainAnna Fali 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>