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
Jeanfrancois Q StensethGermanyAmy Elsner NEW
Stacey O SlusarskiAustraliaStephen Shaw NEGOTIATION
Aditya P OldroydSpainElwin Sharvill RENEWAL
Leon H CaudyItalyIvan Magalhaes NEGOTIATION
Maria P BowleyArgentinaBernardo Dominic NEGOTIATION
Juan X StockhamFranceOnyama Limba UNQUALIFIED
Aditya P NickaRussiaElwin Sharvill PROPOSAL
Kadeem Z MarrierJapanBernardo Dominic PROPOSAL
Kadeem S FigeroaJapanIoni Bowcher NEGOTIATION
Costa O KuskoRussiaXuxue Feng PROPOSAL
Misaki J PaprockiUnited KingdomAmy Elsner PROPOSAL
Kadeem S GillianIndiaIoni Bowcher QUALIFIED
Juan Q DoeUnited KingdomAsiya Javayant NEGOTIATION
Sinclair M BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Leon R NestleArgentinaAmy Elsner RENEWAL
Costa S FlosiJapanIvan Magalhaes QUALIFIED
Clifford K FollerUnited KingdomXuxue Feng QUALIFIED
Nicolas B RutaCanadaAsiya Javayant UNQUALIFIED
Tony P WhobreyRussiaOnyama Limba NEGOTIATION
Juan X StensethSpainStephen Shaw NEGOTIATION
Wickens J DilliardUnited KingdomAsiya Javayant QUALIFIED
Arvin A DarakjyCanadaIvan Magalhaes UNQUALIFIED
Jones K ShinkoFranceElwin Sharvill QUALIFIED
Mujtaba J RimItalyIoni Bowcher PROPOSAL
Adams Q DarakjyCanadaBernardo Dominic NEGOTIATION
Cody Y DilliardBrazilOnyama Limba RENEWAL
Jefferson F StensethRussiaXuxue Feng NEGOTIATION
Jennifer J RulapaughIndiaIvan Magalhaes NEW
Claire T GarufiItalyIoni Bowcher NEGOTIATION
Francesco H CaudyItalyOnyama Limba PROPOSAL
Munro L MarrierRussiaAnna Fali QUALIFIED
Ashley A AmigonJapanStephen Shaw UNQUALIFIED
Faith G MaletAustraliaXuxue Feng PROPOSAL
Leon O BologniaRussiaAsiya Javayant NEW
Adams C CaldareraItalyAmy Elsner QUALIFIED
Ricardo O MarrierBrazilStephen Shaw QUALIFIED
Isabel F TollnerArgentinaAsiya Javayant NEW
Emily J GillianItalyAsiya Javayant RENEWAL
Ivar S KuskoFranceAmy Elsner NEGOTIATION
Ashley T DarakjyCanadaAmy Elsner NEGOTIATION
Clifford M RoysterUnited KingdomOnyama Limba RENEWAL
Francesco M MaletUnited KingdomIvan Magalhaes QUALIFIED
Deepesh L OstroskyArgentinaXuxue Feng RENEWAL
James F RimJapanAnna Fali QUALIFIED
Ivar R DilliardBrazilIoni Bowcher QUALIFIED
Ashley J MorascaAustraliaAnna Fali NEW
Mayumi T SaylorsRussiaXuxue Feng RENEWAL
Greenwood K StensethGermanyBernardo Dominic NEGOTIATION
Ashley J MaletJapanXuxue Feng RENEWAL
Deepesh S StockhamRussiaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar W AlbaresIndiaXuxue Feng RENEWAL
Tony W PoquetteIndiaXuxue Feng NEW
Nicolas G RimUnited KingdomAnna Fali PROPOSAL
Silvio N BriddickUnited KingdomIoni Bowcher RENEWAL
Murillo D SergiUnited KingdomStephen Shaw RENEWAL
Clifford S FlosiAustraliaXuxue Feng QUALIFIED
Juan S AmigonAustraliaAmy Elsner UNQUALIFIED
Chavez H FerenczBrazilIoni Bowcher NEW
Salvatore N DilliardRussiaStephen Shaw QUALIFIED
Rodrigues N OstroskyJapanIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie R GlickUnited Kingdom2024-09-15Rangoni Of Florence PROPOSAL50Anna Fali
1001Jennifer Q WaycottSpain2024-09-29Feiner Bros NEW18Xuxue Feng
1002Munro F VocelkaCanada2024-09-21Dorl, James J Esq UNQUALIFIED50Xuxue Feng
1003Kaitlin Y RulapaughBrazil2024-09-03Feiner Bros NEGOTIATION76Amy Elsner
1004Adams P RulapaughBrazil2024-09-18Commercial Press RENEWAL15Ivan Magalhaes
1005Tony B AmigonItaly2024-09-29Feiner Bros RENEWAL74Ivan Magalhaes
1006Jones V GillianItaly2024-09-09King, Christopher A Esq QUALIFIED66Amy Elsner
1007Jones O StensethFrance2024-08-31Feiner Bros PROPOSAL3Ioni Bowcher
1008Cody I FigeroaSpain2024-09-23Feltz Printing Service QUALIFIED39Asiya Javayant
1009Ivar E AlbaresBrazil2024-09-24Feltz Printing Service NEGOTIATION63Onyama Limba
1010Jeanfrancois Y StockhamRussia2024-09-14Chemel, James L Cpa NEW45Amy Elsner
1011Ashley A GauchoBrazil2024-09-02Chanay, Jeffrey A Esq QUALIFIED94Amy Elsner
1012Jennifer U VenereJapan2024-09-27Chanay, Jeffrey A Esq NEW23Ivan Magalhaes
1013Jones M PerinFrance2024-09-23King, Christopher A Esq NEGOTIATION74Ioni Bowcher
1014Arvin Q BriddickUnited Kingdom2024-09-13Commercial Press RENEWAL0Onyama Limba
1015Greenwood J DilliardArgentina2024-09-26Rangoni Of Florence NEW13Bernardo Dominic
1016Ivar H DilliardBrazil2024-09-26Chanay, Jeffrey A Esq QUALIFIED77Elwin Sharvill
1017Aditya D OldroydRussia2024-09-16King, Christopher A Esq QUALIFIED87Asiya Javayant
1018Clifford E MaletIndia2024-09-23Feltz Printing Service PROPOSAL2Ivan Magalhaes
1019Octavia P ChuiAustralia2024-09-16Feiner Bros PROPOSAL9Ioni Bowcher
1020Sinclair B GlickIndia2024-09-13Chapman, Ross E Esq UNQUALIFIED69Ioni Bowcher
1021Deepesh M KolmetzUnited Kingdom2024-09-27Printing Dimensions PROPOSAL71Ivan Magalhaes
1022Costa G SlusarskiFrance2024-09-10Chanay, Jeffrey A Esq RENEWAL52Amy Elsner
1023Leon G GarufiGermany2024-09-18Chanay, Jeffrey A Esq NEGOTIATION40Ioni Bowcher
1024Aruna S GarufiCanada2024-09-29King, Christopher A Esq NEW27Elwin Sharvill
1025Stacey Q IturbideGermany2024-09-10Rousseaux, Michael Esq UNQUALIFIED28Asiya Javayant
1026Wickens O OstroskyArgentina2024-09-20Rousseaux, Michael Esq RENEWAL29Ioni Bowcher
1027Jeanfrancois I AmigonAustralia2024-09-07Truhlar And Truhlar Attys PROPOSAL5Bernardo Dominic
1028Kaitlin G CaudySpain2024-09-20Truhlar And Truhlar Attys NEW21Elwin Sharvill
1029Arvin W IturbideIndia2024-09-25Rangoni Of Florence QUALIFIED42Anna Fali
1030Maria R IturbideFrance2024-09-03Rousseaux, Michael Esq NEGOTIATION85Asiya Javayant
1031Mayumi G PerinCanada2024-09-26Morlong Associates NEGOTIATION44Ioni Bowcher
1032Greenwood J FollerFrance2024-09-06Morlong Associates PROPOSAL20Xuxue Feng
1033Clifford V DilliardGermany2024-09-17Rangoni Of Florence NEGOTIATION30Asiya Javayant
1034Leon E IturbideBrazil2024-09-24Dorl, James J Esq UNQUALIFIED26Bernardo Dominic
1035Nicolas I BowleyItaly2024-09-29Feiner Bros PROPOSAL42Ioni Bowcher
1036Rodrigues S MacleadGermany2024-09-24Morlong Associates UNQUALIFIED59Bernardo Dominic
1037Octavia L RutaCanada2024-09-20Chanay, Jeffrey A Esq NEGOTIATION97Ioni Bowcher
1038Nicolas E FollerJapan2024-09-10Benton, John B Jr NEGOTIATION87Stephen Shaw
1039Ivar L MacleadRussia2024-09-18Chanay, Jeffrey A Esq UNQUALIFIED56Anna Fali
1040Jeanfrancois A ShinkoBrazil2024-09-17Feltz Printing Service NEW21Xuxue Feng
1041Arvin V GauchoSpain2024-09-27Truhlar And Truhlar Attys NEW52Ivan Magalhaes
1042Julie C GlickGermany2024-09-29Feltz Printing Service NEGOTIATION98Bernardo Dominic
1043Jeanfrancois F GlickFrance2024-09-21Benton, John B Jr PROPOSAL55Bernardo Dominic
1044Arvin X CaudyAustralia2024-09-19Rousseaux, Michael Esq NEGOTIATION5Ioni Bowcher
1045Morrow X ChuiFrance2024-09-04Feltz Printing Service NEW58Bernardo Dominic
1046Claire A CampainJapan2024-09-10Feiner Bros RENEWAL14Ioni Bowcher
1047Arvin B CampainItaly2024-09-23Benton, John B Jr NEGOTIATION86Amy Elsner
1048Kadeem R GillianUnited Kingdom2024-09-24King, Christopher A Esq PROPOSAL25Bernardo Dominic
1049Maria L StockhamSpain2024-09-15Commercial Press NEW18Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Y OldroydBrazilIoni Bowcher RENEWAL
Jefferson L IturbideItalyBernardo Dominic NEW
Arvin Z PoquetteUnited KingdomOnyama Limba NEW
Darci M NestleCanadaStephen Shaw NEW
Wickens M NestleBrazilElwin Sharvill NEW
Jennifer H InouyeBrazilXuxue Feng RENEWAL
Antonio X RutaItalyAmy Elsner QUALIFIED
Johnson A CaldareraGermanyStephen Shaw UNQUALIFIED
Stacey G SergiFranceElwin Sharvill NEGOTIATION
Octavia O MaletFranceAmy Elsner PROPOSAL
Salvatore H BowleyCanadaBernardo Dominic RENEWAL
David J MacleadIndiaElwin Sharvill UNQUALIFIED
Rodrigues F GauchoCanadaOnyama Limba NEGOTIATION
Arvin D WhobreyRussiaXuxue Feng NEGOTIATION
Rodrigues K SergiSpainBernardo Dominic PROPOSAL
Silvio X NickaItalyOnyama Limba UNQUALIFIED
Adams Q MaletCanadaAsiya Javayant UNQUALIFIED
Costa P MorascaIndiaAnna Fali NEW
Ashley A SaylorsUnited KingdomStephen Shaw RENEWAL
Clifford I GarufiItalyStephen Shaw NEW
Octavia W KuskoIndiaXuxue Feng PROPOSAL
Tony X WaycottItalyIoni Bowcher NEGOTIATION
Wickens S SaylorsArgentinaBernardo Dominic UNQUALIFIED
Tony P FigeroaIndiaAmy Elsner NEW
David X CaudyJapanXuxue Feng NEW
Isabel L FollerArgentinaBernardo Dominic QUALIFIED
Antonio J NestleCanadaOnyama Limba QUALIFIED
Alejandro Q FlosiUnited KingdomAnna Fali RENEWAL
Sinclair K StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh D SergiJapanAnna Fali UNQUALIFIED
Isabel M RutaIndiaStephen Shaw UNQUALIFIED
Tony X FlosiFranceOnyama Limba NEGOTIATION
Sinclair B RoysterBrazilElwin Sharvill PROPOSAL
Ivar F GauchoItalyElwin Sharvill NEGOTIATION
Maisha R PoquetteSpainAmy Elsner UNQUALIFIED
Claire I VenereCanadaAmy Elsner PROPOSAL
Juan S ShinkoCanadaAnna Fali UNQUALIFIED
Silvio J InouyeAustraliaAsiya Javayant NEW
Alejandro B RoysterRussiaAsiya Javayant RENEWAL
Leja H CampainIndiaBernardo Dominic RENEWAL
David F GauchoAustraliaElwin Sharvill PROPOSAL
Murillo M MarrierArgentinaElwin Sharvill PROPOSAL
Jeanfrancois Z RutaBrazilIoni Bowcher UNQUALIFIED
Clifford B PoquetteCanadaXuxue Feng QUALIFIED
Rodrigues B FlosiJapanIoni Bowcher PROPOSAL
Izzy T InouyeBrazilIvan Magalhaes NEW
Smith H ButtSpainBernardo Dominic QUALIFIED
Mayumi E BologniaBrazilIoni Bowcher PROPOSAL
Juan C DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson P RoysterRussiaAmy Elsner NEGOTIATION
Frozen Columns
Name
Izzy Z Rulapaugh
Johnson K Malet
Smith N Glick
Adams S Whobrey
Greenwood W Venere
Octavia Y Slusarski
Maisha Z Bolognia
Aditya K Caudy
Adams V Gaucho
Johnson E Doe
Emily X Caldarera
Antonio P Poquette
Tony R Venere
Aika J Glick
Costa S Malet
Alejandro D Stenseth
Ricardo H Rulapaugh
Morrow W Flosi
Faith C Kusko
Chavez E Slusarski
Costa G Royster
Izzy Z Perin
Kadeem V Nicka
Tony W Ruta
Maria N Rulapaugh
Kaitlin X Caudy
Kaitlin A Poquette
Chavez R Chui
Wickens O Garufi
Juan O Amigon
Kadeem F Figeroa
Morrow I Slusarski
Sinclair Y Iturbide
Nicolas S Malet
Kaitlin Y Whobrey
Morrow D Campain
Misaki Y Tollner
Maria A Nestle
Adams X Chui
Francesco K Malet
Salvatore P Kolmetz
Aika R Gillian
Chavez N Stockham
Francesco Y Ostrosky
Darci P Saylors
Munro F Venere
Jennifer L Ruta
Aditya G Royster
Maisha C Nicka
Kaitlin R Malet
IdCountryDate
1000Brazil2024-09-11
1001India2024-09-25
1002Germany2024-09-25
1003Japan2024-09-27
1004Argentina2024-09-20
1005Spain2024-09-18
1006India2024-09-01
1007Italy2024-09-29
1008Japan2024-09-04
1009Brazil2024-09-24
1010Brazil2024-09-20
1011Brazil2024-09-02
1012France2024-09-12
1013India2024-09-20
1014Italy2024-09-21
1015Spain2024-09-24
1016Russia2024-09-27
1017Italy2024-09-09
1018India2024-09-04
1019Argentina2024-09-19
1020India2024-09-15
1021United Kingdom2024-09-22
1022Brazil2024-09-28
1023Italy2024-09-19
1024Spain2024-09-11
1025Italy2024-09-19
1026Canada2024-09-28
1027France2024-09-25
1028Japan2024-09-18
1029India2024-09-15
1030France2024-09-07
1031Australia2024-09-11
1032Brazil2024-09-28
1033India2024-09-15
1034India2024-09-27
1035India2024-09-05
1036Japan2024-09-08
1037Canada2024-09-13
1038Russia2024-09-08
1039Brazil2024-09-08
1040Spain2024-09-06
1041India2024-09-10
1042United Kingdom2024-09-08
1043Germany2024-09-26
1044Australia2024-09-15
1045Japan2024-09-04
1046Spain2024-09-13
1047France2024-09-20
1048Italy2024-09-23
1049United Kingdom2024-09-10

On-Demand Data

NameIdCountryDate
Johnson Y Rulapaugh1000Brazil2024-09-16
Chavez V Inouye1001Spain2024-09-16
Leja R Dilliard1002Germany2024-09-21
Claire U Wieser1003Japan2024-09-07
Misaki K Ferencz1004Italy2024-09-23
Greenwood B Malet1005Australia2024-09-16
Francesco K Nestle1006Argentina2024-09-20
Murillo U Bolognia1007Japan2024-09-09
Julie V Caldarera1008Brazil2024-09-19
Munro C Venere1009Germany2024-09-12
Aika V Morasca1010Japan2024-09-26
Nicolas U Darakjy1011Australia2024-09-29
Jefferson Z Paprocki1012United Kingdom2024-09-20
Ivar J Butt1013France2024-09-17
Antonio I Marrier1014Italy2024-09-28
Tony Q Perin1015India2024-09-10
Ashley P Morasca1016Italy2024-09-06
Aika G Paprocki1017Japan2024-09-21
Adams C Morasca1018India2024-09-03
Munro Q Shinko1019Argentina2024-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens V ShinkoUnited KingdomOnyama Limba QUALIFIED
Johnson G SergiBrazilAmy Elsner UNQUALIFIED
Sinclair I AlbaresGermanyAsiya Javayant UNQUALIFIED
Murillo A RulapaughItalyStephen Shaw NEW
Salvatore L StensethCanadaAmy Elsner UNQUALIFIED
Leon B MaletRussiaBernardo Dominic NEGOTIATION
Faith D MorascaUnited KingdomIvan Magalhaes QUALIFIED
Emily M WieserSpainXuxue Feng QUALIFIED
Adams T StensethAustraliaBernardo Dominic RENEWAL
Julie J FollerCanadaOnyama Limba RENEWAL
Leon N WaycottUnited KingdomBernardo Dominic NEW
Francesco T SlusarskiCanadaAmy Elsner QUALIFIED
Silvio W AlbaresCanadaIoni Bowcher NEGOTIATION
Tony L WaycottFranceIoni Bowcher NEW
Silvio E CaudyUnited KingdomOnyama Limba QUALIFIED
Chavez F SchemmerFranceIvan Magalhaes RENEWAL
Kadeem C NestleBrazilElwin Sharvill NEGOTIATION
Clifford G MacleadCanadaElwin Sharvill QUALIFIED
Jones H GlickItalyBernardo Dominic QUALIFIED
Morrow A BriddickAustraliaBernardo Dominic QUALIFIED
Aditya W NickaSpainElwin Sharvill NEGOTIATION
Juan B WhobreyAustraliaBernardo Dominic UNQUALIFIED
Sinclair U SergiSpainAnna Fali NEW
Kaitlin G CaldareraAustraliaOnyama Limba UNQUALIFIED
Juan Q MorascaSpainElwin Sharvill QUALIFIED
Kadeem S NickaGermanyXuxue Feng RENEWAL
Juan G MarrierBrazilXuxue Feng NEW
Leja C CaudyGermanyElwin Sharvill UNQUALIFIED
Salvatore E NickaSpainOnyama Limba NEW
Wickens J MaletUnited KingdomAsiya Javayant PROPOSAL
Aditya M IturbideGermanyAmy Elsner QUALIFIED
Antonio M SergiGermanyIoni Bowcher PROPOSAL
Aruna X TollnerGermanyIoni Bowcher NEW
Antonio R DoeAustraliaAnna Fali NEW
Maria F CaldareraRussiaOnyama Limba PROPOSAL
Ashley K GarufiBrazilIoni Bowcher QUALIFIED
Rodrigues D WhobreyBrazilOnyama Limba QUALIFIED
Adams U ChuiGermanyAsiya Javayant UNQUALIFIED
Leja B WhobreyJapanIoni Bowcher PROPOSAL
Clifford U WaycottArgentinaOnyama Limba 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>