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
Jefferson S CaldareraArgentinaIvan Magalhaes NEW
Arvin O RoysterFranceBernardo Dominic PROPOSAL
Sinclair Y SergiAustraliaAmy Elsner UNQUALIFIED
Adams Z WieserArgentinaStephen Shaw UNQUALIFIED
Ivar E WhobreyCanadaStephen Shaw NEW
Nicolas D GarufiBrazilXuxue Feng QUALIFIED
Francesco K VocelkaCanadaIvan Magalhaes PROPOSAL
Rodrigues I WieserJapanXuxue Feng NEGOTIATION
Faith X RulapaughGermanyAmy Elsner NEGOTIATION
Claire A SchemmerUnited KingdomIvan Magalhaes NEW
Aruna N KolmetzSpainOnyama Limba NEGOTIATION
Octavia K FollerIndiaAmy Elsner NEW
Smith V WaycottIndiaBernardo Dominic RENEWAL
Chavez J OstroskyItalyAsiya Javayant UNQUALIFIED
Deepesh J KolmetzSpainStephen Shaw PROPOSAL
Wickens T FerenczGermanyAmy Elsner QUALIFIED
Murillo U KuskoUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin O RulapaughBrazilXuxue Feng RENEWAL
Ivar U GlickFranceAsiya Javayant QUALIFIED
Alejandro D FigeroaArgentinaElwin Sharvill RENEWAL
Izzy H MacleadAustraliaIvan Magalhaes RENEWAL
Francesco F SlusarskiSpainAmy Elsner NEGOTIATION
Alejandro L RoysterCanadaIoni Bowcher QUALIFIED
Julie E FerenczUnited KingdomAnna Fali QUALIFIED
Claire O DarakjyRussiaAmy Elsner PROPOSAL
Deepesh Y WaycottUnited KingdomAmy Elsner NEGOTIATION
Aditya M FlosiIndiaAmy Elsner RENEWAL
Rodrigues F ButtGermanyAnna Fali PROPOSAL
Jeanfrancois S MarrierSpainXuxue Feng PROPOSAL
Stacey V FerenczBrazilAsiya Javayant RENEWAL
Isabel D FollerIndiaAnna Fali UNQUALIFIED
Mujtaba J CaudyCanadaStephen Shaw PROPOSAL
Juan L FerenczIndiaIvan Magalhaes NEW
Alejandro K DilliardCanadaAsiya Javayant RENEWAL
Leon H PaprockiAustraliaStephen Shaw QUALIFIED
Maria Y PerinItalyBernardo Dominic UNQUALIFIED
Morrow B DarakjyArgentinaAnna Fali NEW
Stacey J DarakjyFranceAmy Elsner QUALIFIED
Sinclair B BowleyJapanXuxue Feng PROPOSAL
Smith S RutaItalyIoni Bowcher UNQUALIFIED
Mujtaba V IturbideJapanIvan Magalhaes UNQUALIFIED
Greenwood Y RimAustraliaOnyama Limba NEW
Jones E KuskoFranceIoni Bowcher NEW
Juan Q AmigonFranceBernardo Dominic PROPOSAL
Aika Z NickaArgentinaElwin Sharvill UNQUALIFIED
Leja C WaycottArgentinaAsiya Javayant NEW
Morrow I InouyeCanadaAmy Elsner QUALIFIED
Leja R NickaSpainXuxue Feng QUALIFIED
Costa B GlickIndiaBernardo Dominic RENEWAL
Johnson B GlickIndiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams F VenereCanadaIoni Bowcher NEW
Murillo U PaprockiAustraliaAnna Fali RENEWAL
Leon R DoeSpainAnna Fali PROPOSAL
Ashley U CaudyArgentinaOnyama Limba UNQUALIFIED
Faith B DilliardGermanyStephen Shaw UNQUALIFIED
Smith W AlbaresRussiaAsiya Javayant RENEWAL
Octavia N BowleyItalyStephen Shaw RENEWAL
Murillo Q BologniaIndiaAmy Elsner RENEWAL
Mayumi B ButtArgentinaXuxue Feng UNQUALIFIED
Costa X OstroskyAustraliaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois Y RutaFrance2024-06-14Buckley Miller Wright NEW43Onyama Limba
1001Izzy K SaylorsUnited Kingdom2024-06-09Dorl, James J Esq PROPOSAL22Stephen Shaw
1002Wickens W SlusarskiAustralia2024-06-14Rangoni Of Florence QUALIFIED13Anna Fali
1003Antonio L WaycottUnited Kingdom2024-06-07Chanay, Jeffrey A Esq NEW97Xuxue Feng
1004Aditya H VenereSpain2024-06-13Commercial Press NEW12Ivan Magalhaes
1005Jeanfrancois O CaudySpain2024-05-30Buckley Miller Wright RENEWAL25Onyama Limba
1006Deepesh E AlbaresRussia2024-06-16Benton, John B Jr QUALIFIED12Onyama Limba
1007Misaki B ShinkoFrance2024-06-22King, Christopher A Esq QUALIFIED5Anna Fali
1008Rodrigues S DilliardSpain2024-05-29Rangoni Of Florence RENEWAL96Ioni Bowcher
1009Murillo A SaylorsFrance2024-06-20Chanay, Jeffrey A Esq QUALIFIED7Xuxue Feng
1010Arvin W SergiUnited Kingdom2024-05-27Feiner Bros UNQUALIFIED77Elwin Sharvill
1011Julie C TollnerSpain2024-05-31Chemel, James L Cpa UNQUALIFIED19Elwin Sharvill
1012Claire V MorascaSpain2024-06-03Truhlar And Truhlar Attys UNQUALIFIED5Ivan Magalhaes
1013Greenwood W RulapaughFrance2024-06-14Printing Dimensions NEGOTIATION99Ioni Bowcher
1014Aditya E SaylorsFrance2024-06-17Commercial Press UNQUALIFIED66Asiya Javayant
1015Jones A IturbideFrance2024-06-03Printing Dimensions NEW73Ioni Bowcher
1016Ricardo U FerenczSpain2024-06-02Chanay, Jeffrey A Esq NEW95Amy Elsner
1017Antonio F NestleJapan2024-06-09Rangoni Of Florence PROPOSAL82Bernardo Dominic
1018Johnson Q OstroskyFrance2024-05-31Benton, John B Jr RENEWAL70Anna Fali
1019Sinclair E BologniaJapan2024-05-30Morlong Associates UNQUALIFIED69Elwin Sharvill
1020Julie T SaylorsIndia2024-06-05Rousseaux, Michael Esq UNQUALIFIED84Amy Elsner
1021Isabel V TollnerSpain2024-06-14Dorl, James J Esq NEGOTIATION70Anna Fali
1022Kadeem N MacleadFrance2024-06-22Chapman, Ross E Esq QUALIFIED66Bernardo Dominic
1023Jefferson L ChuiAustralia2024-06-02Feiner Bros PROPOSAL27Stephen Shaw
1024Faith L PaprockiAustralia2024-06-19Buckley Miller Wright NEGOTIATION39Stephen Shaw
1025Aruna O RoysterIndia2024-06-17Benton, John B Jr RENEWAL57Elwin Sharvill
1026Silvio S GillianItaly2024-06-11Rangoni Of Florence NEW35Ivan Magalhaes
1027Izzy A ButtArgentina2024-06-15Chemel, James L Cpa UNQUALIFIED72Amy Elsner
1028Johnson P GillianCanada2024-05-31Chapman, Ross E Esq RENEWAL21Amy Elsner
1029Adams A AlbaresAustralia2024-06-13Feiner Bros QUALIFIED7Ioni Bowcher
1030Emily A FigeroaBrazil2024-05-31Benton, John B Jr PROPOSAL55Ioni Bowcher
1031Adams F VocelkaAustralia2024-06-10Chapman, Ross E Esq QUALIFIED55Amy Elsner
1032Kadeem W WieserFrance2024-05-26Chemel, James L Cpa NEW66Elwin Sharvill
1033Claire L DarakjyArgentina2024-05-30Commercial Press PROPOSAL62Onyama Limba
1034Jennifer Z IturbideItaly2024-05-29Chapman, Ross E Esq NEW83Anna Fali
1035Nicolas P GillianJapan2024-06-06Dorl, James J Esq NEW0Asiya Javayant
1036Nicolas J ShinkoAustralia2024-06-06Dorl, James J Esq NEW71Xuxue Feng
1037Jennifer T BowleyFrance2024-05-27Truhlar And Truhlar Attys RENEWAL33Ioni Bowcher
1038Smith J MaletGermany2024-06-04Dorl, James J Esq PROPOSAL87Ivan Magalhaes
1039Emily D KuskoRussia2024-06-13Rangoni Of Florence PROPOSAL94Amy Elsner
1040Kadeem C RulapaughFrance2024-06-19Morlong Associates NEW3Stephen Shaw
1041Mujtaba M StockhamBrazil2024-06-13Benton, John B Jr RENEWAL0Stephen Shaw
1042Arvin F MarrierUnited Kingdom2024-06-22King, Christopher A Esq NEW1Asiya Javayant
1043Kaitlin O IturbideFrance2024-05-25Feltz Printing Service QUALIFIED3Stephen Shaw
1044Alejandro D CaldareraSpain2024-06-05Feiner Bros NEW9Amy Elsner
1045Aditya L RimCanada2024-06-02Feiner Bros PROPOSAL27Stephen Shaw
1046Cody L ChuiArgentina2024-05-24Feltz Printing Service UNQUALIFIED20Amy Elsner
1047Clifford S DilliardFrance2024-05-27Chanay, Jeffrey A Esq PROPOSAL32Xuxue Feng
1048Maisha K MaletIndia2024-06-05Chanay, Jeffrey A Esq RENEWAL87Anna Fali
1049Antonio K BologniaRussia2024-06-20Chapman, Ross E Esq RENEWAL90Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maisha S SergiUnited KingdomStephen Shaw NEGOTIATION
Francesco M WaycottGermanyXuxue Feng NEGOTIATION
Adams S ButtJapanElwin Sharvill NEW
Arvin N CaldareraBrazilOnyama Limba NEGOTIATION
Morrow X DoeUnited KingdomAmy Elsner PROPOSAL
Wickens N SaylorsSpainAmy Elsner NEW
Jeanfrancois O RutaIndiaStephen Shaw QUALIFIED
Octavia T RulapaughGermanyIoni Bowcher PROPOSAL
Chavez I MorascaBrazilElwin Sharvill NEW
Octavia B TollnerJapanElwin Sharvill UNQUALIFIED
Jefferson Q RulapaughUnited KingdomXuxue Feng UNQUALIFIED
Cody M DarakjyItalyBernardo Dominic RENEWAL
Stacey M DarakjyAustraliaAmy Elsner NEGOTIATION
Leon C GlickArgentinaAmy Elsner NEW
Silvio V StensethFranceElwin Sharvill PROPOSAL
Clifford E WhobreyArgentinaIvan Magalhaes RENEWAL
Mujtaba R SchemmerUnited KingdomOnyama Limba QUALIFIED
Emily V GauchoCanadaXuxue Feng NEGOTIATION
Aika C PaprockiRussiaElwin Sharvill NEGOTIATION
Isabel F MaletCanadaAnna Fali PROPOSAL
Antonio E MarrierCanadaOnyama Limba PROPOSAL
Jennifer F CaldareraJapanAmy Elsner QUALIFIED
Stacey S PerinBrazilIvan Magalhaes UNQUALIFIED
Silvio A FlosiCanadaAsiya Javayant NEGOTIATION
Costa G ChuiRussiaOnyama Limba PROPOSAL
Jefferson C MorascaAustraliaBernardo Dominic UNQUALIFIED
Ashley H NestleSpainXuxue Feng RENEWAL
Chavez O MorascaUnited KingdomElwin Sharvill PROPOSAL
Alejandro E NestleCanadaIoni Bowcher QUALIFIED
Johnson D DilliardBrazilIoni Bowcher UNQUALIFIED
Izzy X NickaIndiaStephen Shaw PROPOSAL
Kaitlin I DarakjySpainElwin Sharvill PROPOSAL
Wickens J WhobreySpainIoni Bowcher RENEWAL
Rodrigues I OstroskyAustraliaStephen Shaw PROPOSAL
Adams D WaycottIndiaAsiya Javayant NEW
Johnson G CaudyAustraliaXuxue Feng NEW
Claire Y TollnerGermanyIoni Bowcher QUALIFIED
Aruna D FigeroaItalyXuxue Feng QUALIFIED
Jeanfrancois B AmigonJapanElwin Sharvill NEW
Salvatore G VenereUnited KingdomIoni Bowcher NEW
Kadeem L GillianIndiaElwin Sharvill QUALIFIED
Aruna T ShinkoArgentinaBernardo Dominic NEGOTIATION
Smith W MorascaAustraliaIoni Bowcher PROPOSAL
Jones N CaldareraCanadaAsiya Javayant UNQUALIFIED
Darci R RoysterBrazilXuxue Feng NEW
Jones A GlickAustraliaXuxue Feng RENEWAL
Faith Y GarufiFranceAnna Fali UNQUALIFIED
Leon A MorascaFranceAnna Fali NEW
Maria N PaprockiRussiaIvan Magalhaes PROPOSAL
Juan K PoquetteItalyBernardo Dominic NEW
Frozen Columns
Name
Ashley S Glick
Maria T Doe
Maria I Campain
Sinclair L Morasca
Faith W Royster
Salvatore F Doe
Ivar K Albares
Sinclair Z Wieser
David X Kolmetz
Clifford U Rulapaugh
Clifford Y Albares
Greenwood L Perin
Rodrigues N Kolmetz
Jones P Butt
Izzy N Garufi
Izzy D Malet
Murillo M Bolognia
Stacey L Kusko
Ashley D Doe
Mayumi Z Dilliard
Claire T Kusko
Stacey Y Campain
Julie J Slusarski
Chavez C Darakjy
Sinclair C Waycott
Sinclair I Inouye
Murillo M Nestle
Leon D Campain
Mayumi O Marrier
Emily U Oldroyd
Isabel L Campain
Cody M Foller
Clifford V Wieser
Costa Y Amigon
Adams I Flosi
Kadeem W Shinko
Nicolas V Foller
Nicolas L Ruta
Ricardo R Paprocki
Arvin Z Nicka
Ivar A Darakjy
Smith V Bolognia
Leon B Wieser
Kadeem T Flosi
Emily A Shinko
Morrow O Slusarski
Octavia I Malet
Rodrigues A Shinko
Alejandro C Sergi
Leja U Campain
IdCountryDate
1000Argentina2024-05-26
1001Germany2024-05-27
1002Italy2024-06-07
1003Italy2024-06-05
1004India2024-06-03
1005United Kingdom2024-06-13
1006Brazil2024-06-14
1007Japan2024-06-15
1008Australia2024-06-08
1009Brazil2024-06-06
1010Australia2024-06-15
1011Germany2024-06-02
1012Germany2024-06-11
1013Germany2024-06-07
1014Russia2024-05-24
1015Spain2024-06-08
1016Australia2024-06-08
1017Brazil2024-06-06
1018Japan2024-06-08
1019Germany2024-06-14
1020Japan2024-06-14
1021Russia2024-06-04
1022Brazil2024-05-25
1023Brazil2024-06-06
1024United Kingdom2024-05-31
1025United Kingdom2024-06-13
1026Russia2024-06-20
1027Australia2024-06-08
1028Germany2024-05-30
1029India2024-06-21
1030Spain2024-06-01
1031Brazil2024-06-04
1032Brazil2024-06-09
1033Canada2024-06-10
1034Australia2024-06-22
1035Germany2024-06-17
1036Canada2024-06-12
1037Italy2024-06-05
1038Russia2024-05-31
1039Canada2024-05-24
1040Spain2024-05-25
1041Germany2024-06-11
1042Italy2024-06-19
1043Germany2024-06-06
1044Brazil2024-06-12
1045Italy2024-06-22
1046Canada2024-06-07
1047Germany2024-06-16
1048United Kingdom2024-06-12
1049Australia2024-05-28

On-Demand Data

NameIdCountryDate
Aruna I Bowley1000Australia2024-06-03
Aditya S Flosi1001India2024-05-24
Claire B Slusarski1002Brazil2024-06-15
Claire I Caldarera1003Australia2024-05-26
Leon S Garufi1004France2024-06-16
Maisha J Marrier1005India2024-06-09
Antonio I Briddick1006Canada2024-06-22
Faith Q Ruta1007United Kingdom2024-06-22
Murillo L Paprocki1008Australia2024-06-04
Johnson X Caldarera1009Spain2024-06-04
Munro H Ferencz1010Brazil2024-06-19
Ashley Y Oldroyd1011Russia2024-06-14
Julie B Wieser1012Japan2024-06-05
Morrow Q Malet1013Russia2024-06-03
Juan S Malet1014Australia2024-05-24
Julie G Morasca1015Canada2024-06-06
Salvatore Z Nicka1016Japan2024-06-17
Chavez W Kusko1017Argentina2024-05-30
Jefferson J Stenseth1018France2024-06-03
Arvin E Chui1019Australia2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y NestleSpainAmy Elsner NEW
Leja G GillianAustraliaAsiya Javayant RENEWAL
Greenwood A WaycottCanadaIoni Bowcher RENEWAL
Isabel X VenereArgentinaBernardo Dominic UNQUALIFIED
Alejandro E ShinkoGermanyElwin Sharvill NEW
Stacey M IturbideAustraliaStephen Shaw NEW
Juan L SaylorsArgentinaElwin Sharvill RENEWAL
Maria G IturbideUnited KingdomBernardo Dominic NEGOTIATION
Murillo Y SergiUnited KingdomAnna Fali NEGOTIATION
Francesco J WhobreyIndiaElwin Sharvill RENEWAL
Leja N DarakjyItalyElwin Sharvill UNQUALIFIED
David I PoquetteGermanyElwin Sharvill RENEWAL
Francesco H StockhamArgentinaElwin Sharvill RENEWAL
Deepesh I BriddickSpainIvan Magalhaes NEGOTIATION
Leja B MarrierGermanyElwin Sharvill NEW
Isabel S DoeGermanyBernardo Dominic QUALIFIED
Maria R MacleadArgentinaElwin Sharvill PROPOSAL
Deepesh B RimBrazilOnyama Limba RENEWAL
Silvio I DoeGermanyAmy Elsner PROPOSAL
Silvio W DilliardIndiaStephen Shaw UNQUALIFIED
David K KolmetzIndiaAmy Elsner QUALIFIED
Ricardo H TollnerSpainAmy Elsner NEGOTIATION
Kaitlin Y RimArgentinaAsiya Javayant NEGOTIATION
Darci Q NickaUnited KingdomBernardo Dominic PROPOSAL
Ashley M GauchoArgentinaAmy Elsner NEGOTIATION
Salvatore W VocelkaAustraliaOnyama Limba PROPOSAL
Leon Z VenereBrazilXuxue Feng PROPOSAL
Sinclair W FlosiJapanStephen Shaw RENEWAL
Adams G VenereGermanyBernardo Dominic NEGOTIATION
Johnson A ChuiGermanyBernardo Dominic PROPOSAL
Aruna G CaudyJapanElwin Sharvill QUALIFIED
Jefferson P GlickAustraliaElwin Sharvill NEW
Tony R SaylorsFranceAmy Elsner QUALIFIED
Julie N ShinkoBrazilStephen Shaw NEW
Claire A SlusarskiBrazilOnyama Limba NEGOTIATION
Jeanfrancois U BowleySpainAnna Fali UNQUALIFIED
Juan L CampainCanadaAsiya Javayant NEW
Kadeem D MaletRussiaStephen Shaw NEGOTIATION
Rodrigues S FerenczUnited KingdomAnna Fali RENEWAL
Munro I OstroskySpainBernardo Dominic 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>