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
Munro J CampainAustraliaXuxue Feng UNQUALIFIED
Clifford K GillianRussiaIoni Bowcher PROPOSAL
Deepesh Y IturbideItalyElwin Sharvill QUALIFIED
Jefferson M DoeRussiaAsiya Javayant QUALIFIED
Stacey R DoeJapanIvan Magalhaes NEGOTIATION
Claire X ShinkoItalyAsiya Javayant UNQUALIFIED
Adams W WhobreyIndiaAmy Elsner UNQUALIFIED
Aruna R RulapaughItalyXuxue Feng PROPOSAL
James F KolmetzCanadaAmy Elsner UNQUALIFIED
Tony O MacleadArgentinaXuxue Feng NEW
Jefferson C IturbideRussiaAnna Fali NEGOTIATION
Alejandro G PoquetteAustraliaXuxue Feng QUALIFIED
Greenwood U GillianItalyElwin Sharvill NEW
Misaki P SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Clifford R GauchoArgentinaStephen Shaw NEW
Isabel J VocelkaIndiaStephen Shaw PROPOSAL
Deepesh M VocelkaFranceAmy Elsner RENEWAL
Darci G StensethRussiaIvan Magalhaes PROPOSAL
Munro J OstroskyArgentinaElwin Sharvill PROPOSAL
Leja W BowleyFranceAmy Elsner PROPOSAL
Morrow U AlbaresCanadaOnyama Limba QUALIFIED
Jones S SchemmerIndiaBernardo Dominic NEGOTIATION
Ashley H InouyeSpainAnna Fali RENEWAL
Alejandro H BowleyRussiaAmy Elsner NEW
Octavia B NestleSpainAmy Elsner UNQUALIFIED
Smith R StensethFranceOnyama Limba UNQUALIFIED
Aika M ButtFranceXuxue Feng UNQUALIFIED
Munro F GillianBrazilStephen Shaw QUALIFIED
Jennifer U WaycottSpainAmy Elsner NEW
Jefferson P InouyeIndiaAmy Elsner NEGOTIATION
Deepesh U FigeroaArgentinaStephen Shaw QUALIFIED
Alejandro S DilliardRussiaIoni Bowcher PROPOSAL
Costa T FollerItalyAmy Elsner UNQUALIFIED
Ricardo Y GarufiAustraliaAnna Fali NEW
Isabel O BologniaBrazilBernardo Dominic UNQUALIFIED
Jones T BowleyUnited KingdomIvan Magalhaes PROPOSAL
Leja V GlickAustraliaBernardo Dominic PROPOSAL
Julie W MaletRussiaOnyama Limba NEGOTIATION
Mayumi V PerinSpainBernardo Dominic UNQUALIFIED
James W KuskoFranceXuxue Feng RENEWAL
Deepesh V FollerSpainAnna Fali NEGOTIATION
Aika Y AmigonJapanElwin Sharvill NEGOTIATION
Ashley V RulapaughAustraliaBernardo Dominic QUALIFIED
Isabel W NickaFranceBernardo Dominic QUALIFIED
David M RutaRussiaBernardo Dominic NEW
Faith P AmigonItalyIvan Magalhaes PROPOSAL
Francesco R RimSpainBernardo Dominic NEW
Murillo S MarrierItalyOnyama Limba NEGOTIATION
Deepesh F StensethSpainAmy Elsner NEW
Francesco N MacleadItalyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba H FollerRussiaIoni Bowcher NEW
Sinclair X OldroydItalyAmy Elsner UNQUALIFIED
Tony G RoysterBrazilXuxue Feng NEGOTIATION
Clifford S SlusarskiCanadaXuxue Feng QUALIFIED
Darci C BowleyRussiaOnyama Limba QUALIFIED
Arvin A AlbaresJapanIoni Bowcher UNQUALIFIED
Francesco P RimIndiaElwin Sharvill RENEWAL
Morrow R BowleyBrazilIvan Magalhaes PROPOSAL
Deepesh O MaletSpainOnyama Limba PROPOSAL
Claire R VenereSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin V FigeroaIndia2024-05-28Morlong Associates QUALIFIED87Bernardo Dominic
1001Aditya N MarrierCanada2024-06-18Truhlar And Truhlar Attys RENEWAL93Asiya Javayant
1002Aruna Z BriddickFrance2024-06-17King, Christopher A Esq PROPOSAL83Anna Fali
1003Kadeem E GillianItaly2024-06-09Benton, John B Jr PROPOSAL94Xuxue Feng
1004Alejandro X GlickGermany2024-06-16Truhlar And Truhlar Attys UNQUALIFIED8Anna Fali
1005Greenwood F GarufiAustralia2024-06-03Chapman, Ross E Esq RENEWAL70Elwin Sharvill
1006Aditya O MaletCanada2024-06-20Feiner Bros NEGOTIATION91Stephen Shaw
1007Morrow G MaletAustralia2024-05-31Benton, John B Jr PROPOSAL89Amy Elsner
1008Maria R ChuiRussia2024-05-30Chanay, Jeffrey A Esq NEGOTIATION64Stephen Shaw
1009David O SergiFrance2024-06-05Commercial Press NEGOTIATION22Ivan Magalhaes
1010Munro J RoysterArgentina2024-06-16Rangoni Of Florence NEW52Anna Fali
1011Kaitlin X DilliardUnited Kingdom2024-06-14Feiner Bros QUALIFIED21Elwin Sharvill
1012Juan S RimUnited Kingdom2024-06-14Morlong Associates NEGOTIATION64Stephen Shaw
1013Juan N PoquetteBrazil2024-05-27Chanay, Jeffrey A Esq RENEWAL68Stephen Shaw
1014Cody U PoquetteJapan2024-06-19Feltz Printing Service QUALIFIED21Amy Elsner
1015David T VenereGermany2024-06-09Chapman, Ross E Esq NEGOTIATION32Xuxue Feng
1016Aditya C PoquetteUnited Kingdom2024-05-24Dorl, James J Esq QUALIFIED1Elwin Sharvill
1017Mayumi I PoquetteItaly2024-06-18Printing Dimensions NEW19Ivan Magalhaes
1018Mayumi J FerenczArgentina2024-05-24Chemel, James L Cpa UNQUALIFIED66Xuxue Feng
1019Tony J MacleadItaly2024-06-14Dorl, James J Esq RENEWAL13Ivan Magalhaes
1020Jefferson A MaletItaly2024-06-07Rangoni Of Florence QUALIFIED89Ioni Bowcher
1021Aruna V MacleadRussia2024-06-20Chapman, Ross E Esq NEW88Elwin Sharvill
1022David B OstroskyRussia2024-06-09Benton, John B Jr RENEWAL19Xuxue Feng
1023Jeanfrancois P GillianArgentina2024-06-12Truhlar And Truhlar Attys UNQUALIFIED45Xuxue Feng
1024Stacey B FerenczJapan2024-06-08Commercial Press QUALIFIED50Ioni Bowcher
1025Greenwood F CaldareraItaly2024-05-30Morlong Associates RENEWAL32Amy Elsner
1026Julie C AmigonArgentina2024-06-06Truhlar And Truhlar Attys QUALIFIED44Bernardo Dominic
1027Leon L PaprockiCanada2024-06-12Buckley Miller Wright RENEWAL23Amy Elsner
1028Rodrigues Z NestleIndia2024-05-27Dorl, James J Esq PROPOSAL73Xuxue Feng
1029Stacey B StensethSpain2024-06-15Truhlar And Truhlar Attys QUALIFIED67Elwin Sharvill
1030Kadeem R PaprockiBrazil2024-06-14Feiner Bros RENEWAL11Xuxue Feng
1031Jones U BriddickJapan2024-06-02Feltz Printing Service NEW58Asiya Javayant
1032Faith H FerenczArgentina2024-06-07Rangoni Of Florence RENEWAL51Asiya Javayant
1033Misaki E AlbaresItaly2024-05-25Feltz Printing Service PROPOSAL87Onyama Limba
1034Nicolas G GlickSpain2024-06-07Chanay, Jeffrey A Esq PROPOSAL46Ioni Bowcher
1035Ashley Y WieserArgentina2024-05-28Rousseaux, Michael Esq UNQUALIFIED37Anna Fali
1036Aika T SaylorsUnited Kingdom2024-06-22King, Christopher A Esq UNQUALIFIED36Onyama Limba
1037Wickens C NestleIndia2024-06-20Truhlar And Truhlar Attys UNQUALIFIED41Xuxue Feng
1038Isabel Q IturbideRussia2024-05-26Printing Dimensions NEGOTIATION20Asiya Javayant
1039Silvio P GauchoAustralia2024-06-17Commercial Press NEW47Ivan Magalhaes
1040Kaitlin Y KuskoUnited Kingdom2024-06-12Rousseaux, Michael Esq RENEWAL98Anna Fali
1041Stacey E SergiArgentina2024-06-09Commercial Press PROPOSAL61Anna Fali
1042Johnson I VenereRussia2024-05-28Dorl, James J Esq QUALIFIED20Elwin Sharvill
1043Johnson K CaudyJapan2024-06-01Chemel, James L Cpa NEGOTIATION25Xuxue Feng
1044Nicolas K StockhamIndia2024-06-18Rangoni Of Florence PROPOSAL2Ivan Magalhaes
1045Emily D KuskoIndia2024-06-01Rousseaux, Michael Esq RENEWAL87Amy Elsner
1046Greenwood D AmigonAustralia2024-05-28Buckley Miller Wright QUALIFIED22Onyama Limba
1047Deepesh F SaylorsJapan2024-06-08Chapman, Ross E Esq PROPOSAL66Onyama Limba
1048Cody A RimItaly2024-06-06Chemel, James L Cpa NEGOTIATION7Xuxue Feng
1049Stacey F MaletUnited Kingdom2024-06-15King, Christopher A Esq NEGOTIATION18Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon B RoysterSpainElwin Sharvill RENEWAL
Aruna R ButtBrazilIvan Magalhaes UNQUALIFIED
Munro O RutaItalyAmy Elsner RENEWAL
Clifford I CaldareraGermanyIoni Bowcher NEW
Cody M MorascaGermanyBernardo Dominic PROPOSAL
Emily V MarrierAustraliaXuxue Feng PROPOSAL
Alejandro A OldroydBrazilAsiya Javayant NEW
Munro I GauchoAustraliaIoni Bowcher PROPOSAL
Stacey I ButtSpainAnna Fali NEGOTIATION
Wickens B SlusarskiSpainAmy Elsner PROPOSAL
Ivar N StockhamBrazilXuxue Feng UNQUALIFIED
Jones X KuskoRussiaStephen Shaw NEW
Silvio H TollnerGermanyXuxue Feng NEW
Kadeem K DilliardRussiaAmy Elsner NEW
Greenwood V WaycottCanadaIvan Magalhaes PROPOSAL
Costa X ShinkoJapanIoni Bowcher QUALIFIED
Leon V FollerSpainElwin Sharvill PROPOSAL
Costa B SlusarskiRussiaIvan Magalhaes NEGOTIATION
Julie A OldroydUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba H StockhamRussiaBernardo Dominic QUALIFIED
Salvatore N IturbideGermanyAsiya Javayant UNQUALIFIED
Maisha B StensethFranceAmy Elsner NEW
Darci E StensethRussiaAmy Elsner RENEWAL
Leja H SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Ricardo A FlosiItalyIoni Bowcher NEGOTIATION
Kadeem B RimGermanyAnna Fali NEW
Wickens H TollnerAustraliaElwin Sharvill UNQUALIFIED
Salvatore I RimBrazilAsiya Javayant QUALIFIED
Juan V PaprockiUnited KingdomAnna Fali RENEWAL
Nicolas H BriddickItalyIvan Magalhaes NEGOTIATION
Mujtaba E RimGermanyOnyama Limba RENEWAL
Murillo B AlbaresUnited KingdomStephen Shaw NEGOTIATION
David Z GauchoAustraliaStephen Shaw QUALIFIED
Julie L RimCanadaOnyama Limba NEGOTIATION
Sinclair F NestleUnited KingdomXuxue Feng UNQUALIFIED
Darci L SergiItalyAmy Elsner PROPOSAL
Murillo E ShinkoArgentinaStephen Shaw PROPOSAL
Emily Q SchemmerAustraliaOnyama Limba PROPOSAL
Adams F StensethIndiaOnyama Limba PROPOSAL
Jeanfrancois A StockhamCanadaStephen Shaw NEGOTIATION
Chavez M BologniaJapanBernardo Dominic RENEWAL
Stacey Z GauchoGermanyXuxue Feng NEW
Emily O ButtCanadaAsiya Javayant PROPOSAL
Tony L NickaFranceXuxue Feng PROPOSAL
Misaki D SlusarskiCanadaElwin Sharvill NEGOTIATION
Kadeem S MaletGermanyBernardo Dominic NEW
Costa S FollerBrazilXuxue Feng QUALIFIED
James L GarufiSpainBernardo Dominic QUALIFIED
Kadeem D KuskoAustraliaAmy Elsner UNQUALIFIED
Salvatore Y RimArgentinaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Nicolas Z Kusko
Mayumi S Paprocki
Tony Y Gaucho
Ivar Y Slusarski
Greenwood I Gillian
Rodrigues Y Amigon
Alejandro C Shinko
Adams Z Tollner
Morrow N Rim
Emily W Rulapaugh
Cody N Butt
Salvatore Z Bolognia
Munro Y Sergi
Johnson D Wieser
Jones Z Wieser
Salvatore Z Caudy
Adams I Ferencz
Adams Q Maclead
Wickens H Gillian
Ricardo O Shinko
Stacey K Nestle
Mayumi D Bowley
Aruna W Foller
Misaki R Nicka
Misaki W Rulapaugh
Jones N Whobrey
Tony X Maclead
Jones U Ruta
Aruna N Perin
Claire L Perin
Silvio E Ruta
Izzy B Wieser
Ivar E Marrier
Stacey V Marrier
Wickens P Nestle
Francesco Z Poquette
Kaitlin D Dilliard
Greenwood Q Butt
Jefferson X Nestle
Nicolas O Saylors
Mujtaba J Nestle
Leon E Flosi
Nicolas L Ruta
Sinclair E Bowley
Ivar O Schemmer
Nicolas J Butt
Wickens Y Stockham
Rodrigues N Campain
Jones A Flosi
Johnson G Gaucho
IdCountryDate
1000United Kingdom2024-05-28
1001Germany2024-05-24
1002Spain2024-06-04
1003United Kingdom2024-06-14
1004United Kingdom2024-06-08
1005Canada2024-06-11
1006Argentina2024-06-04
1007Germany2024-06-08
1008Russia2024-06-02
1009United Kingdom2024-05-24
1010Argentina2024-06-08
1011Spain2024-06-01
1012Spain2024-06-13
1013Germany2024-06-18
1014France2024-06-11
1015Japan2024-06-13
1016Argentina2024-05-28
1017Russia2024-06-04
1018Russia2024-06-19
1019Brazil2024-06-09
1020Italy2024-06-12
1021Spain2024-06-21
1022United Kingdom2024-06-15
1023Brazil2024-06-16
1024India2024-06-06
1025India2024-06-05
1026France2024-06-07
1027Canada2024-06-06
1028United Kingdom2024-05-25
1029Spain2024-06-03
1030Argentina2024-05-29
1031Germany2024-05-24
1032Brazil2024-06-15
1033Brazil2024-05-29
1034France2024-06-06
1035United Kingdom2024-05-31
1036Canada2024-06-20
1037Spain2024-06-08
1038Russia2024-06-11
1039Germany2024-06-05
1040Brazil2024-06-12
1041Australia2024-06-21
1042France2024-06-06
1043India2024-05-24
1044India2024-05-29
1045Russia2024-05-30
1046Australia2024-06-20
1047Italy2024-05-29
1048Spain2024-05-31
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Kaitlin S Rim1000Canada2024-06-20
Rodrigues H Oldroyd1001United Kingdom2024-06-01
Morrow S Caldarera1002Japan2024-06-10
Izzy Z Rulapaugh1003Japan2024-05-25
Johnson N Butt1004France2024-06-16
Kaitlin F Kolmetz1005Argentina2024-06-21
David M Doe1006Australia2024-06-12
Jennifer A Doe1007Japan2024-06-20
Greenwood E Foller1008Japan2024-06-17
David A Royster1009Russia2024-05-31
Greenwood L Malet1010France2024-06-01
Chavez B Ostrosky1011Brazil2024-05-28
Munro X Kolmetz1012Brazil2024-06-17
Silvio V Ruta1013India2024-06-12
Alejandro N Caudy1014France2024-06-15
Maisha G Caudy1015France2024-06-13
Kaitlin B Venere1016Japan2024-06-05
Juan Q Stenseth1017India2024-05-26
Mujtaba E Rim1018France2024-05-27
Jeanfrancois S Royster1019Australia2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio V FerenczUnited KingdomIvan Magalhaes NEW
Jennifer M FigeroaRussiaAnna Fali RENEWAL
Misaki H KolmetzAustraliaXuxue Feng QUALIFIED
Jones N ButtUnited KingdomXuxue Feng RENEWAL
Johnson R GillianItalyIoni Bowcher NEGOTIATION
Misaki Q ButtGermanyIvan Magalhaes PROPOSAL
Stacey J MaletBrazilXuxue Feng PROPOSAL
Aika Q CaldareraCanadaBernardo Dominic UNQUALIFIED
Arvin D VocelkaGermanyAnna Fali RENEWAL
Julie M MacleadBrazilIoni Bowcher NEW
Sinclair Y DarakjyItalyElwin Sharvill RENEWAL
Murillo T WieserRussiaAmy Elsner UNQUALIFIED
Maria Z SergiFranceAnna Fali NEGOTIATION
Maisha L WieserArgentinaXuxue Feng UNQUALIFIED
Jefferson M AmigonBrazilIvan Magalhaes NEGOTIATION
Salvatore W WaycottJapanBernardo Dominic UNQUALIFIED
Juan I AmigonSpainIoni Bowcher RENEWAL
Chavez R OstroskyCanadaIoni Bowcher UNQUALIFIED
Aika V CaldareraFranceBernardo Dominic NEGOTIATION
Aika W AlbaresCanadaIoni Bowcher QUALIFIED
David Y RutaRussiaIvan Magalhaes QUALIFIED
Arvin R StockhamJapanBernardo Dominic RENEWAL
Nicolas G KolmetzArgentinaAnna Fali NEGOTIATION
Murillo S RutaFranceAsiya Javayant RENEWAL
Mayumi E RoysterItalyOnyama Limba RENEWAL
Izzy Y BriddickJapanAnna Fali PROPOSAL
Julie Y MarrierGermanyXuxue Feng NEW
Arvin L DoeRussiaAmy Elsner QUALIFIED
Ivar U KuskoRussiaStephen Shaw QUALIFIED
Jefferson M StockhamSpainIvan Magalhaes PROPOSAL
Ricardo S FerenczJapanStephen Shaw PROPOSAL
Silvio G FlosiBrazilXuxue Feng RENEWAL
Murillo M BowleyAustraliaOnyama Limba UNQUALIFIED
Mujtaba F KolmetzFranceIoni Bowcher NEW
Mujtaba E GlickItalyXuxue Feng UNQUALIFIED
Darci R OstroskyIndiaAnna Fali UNQUALIFIED
Wickens C PerinCanadaStephen Shaw PROPOSAL
Alejandro S ChuiRussiaOnyama Limba PROPOSAL
Chavez Y FerenczSpainXuxue Feng UNQUALIFIED
James G TollnerItalyAmy Elsner 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>