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
Juan O DarakjyArgentinaElwin Sharvill QUALIFIED
Smith J GillianArgentinaXuxue Feng PROPOSAL
David M ShinkoItalyBernardo Dominic PROPOSAL
Wickens W WaycottBrazilBernardo Dominic UNQUALIFIED
Juan F FlosiBrazilOnyama Limba PROPOSAL
Murillo U GillianFranceAmy Elsner NEGOTIATION
Antonio V PaprockiArgentinaIvan Magalhaes NEGOTIATION
Maisha U StensethUnited KingdomXuxue Feng QUALIFIED
Cody E SlusarskiArgentinaXuxue Feng UNQUALIFIED
Munro I CampainCanadaIoni Bowcher NEW
Alejandro E StensethSpainXuxue Feng QUALIFIED
Silvio E WhobreyFranceIvan Magalhaes RENEWAL
James R NestleAustraliaAsiya Javayant QUALIFIED
Faith M MorascaFranceAnna Fali QUALIFIED
Aika W InouyeAustraliaAsiya Javayant UNQUALIFIED
Deepesh G TollnerJapanIvan Magalhaes NEW
Mujtaba I SlusarskiRussiaElwin Sharvill UNQUALIFIED
Clifford X SlusarskiFranceBernardo Dominic PROPOSAL
Rodrigues Q BologniaArgentinaStephen Shaw NEW
Aditya M RulapaughGermanyIvan Magalhaes QUALIFIED
Tony N MaletJapanAmy Elsner NEW
Tony J BologniaUnited KingdomAmy Elsner UNQUALIFIED
Aika J GauchoBrazilOnyama Limba UNQUALIFIED
Maria Y BowleyRussiaOnyama Limba UNQUALIFIED
Arvin Y BologniaFranceElwin Sharvill UNQUALIFIED
Aika A InouyeJapanOnyama Limba QUALIFIED
Ivar J NickaBrazilAmy Elsner NEW
Misaki R OstroskyJapanBernardo Dominic QUALIFIED
Octavia O VocelkaAustraliaAnna Fali PROPOSAL
Wickens J RoysterJapanIvan Magalhaes PROPOSAL
Maria P KolmetzJapanIvan Magalhaes PROPOSAL
Antonio E VocelkaJapanIvan Magalhaes NEGOTIATION
Cody L StockhamSpainAsiya Javayant RENEWAL
Aika O FlosiFranceXuxue Feng QUALIFIED
Kaitlin C FollerAustraliaOnyama Limba UNQUALIFIED
Kaitlin T OstroskyGermanyBernardo Dominic NEW
Misaki W ButtSpainAnna Fali RENEWAL
Costa A BologniaFranceBernardo Dominic UNQUALIFIED
Ricardo V StensethFranceAmy Elsner PROPOSAL
Juan V InouyeBrazilIvan Magalhaes QUALIFIED
Leja U WaycottSpainElwin Sharvill NEGOTIATION
Juan J RimBrazilStephen Shaw NEW
Smith D StensethUnited KingdomBernardo Dominic PROPOSAL
David F RoysterFranceAnna Fali RENEWAL
Nicolas C GauchoBrazilIoni Bowcher NEGOTIATION
Tony N WaycottSpainStephen Shaw NEGOTIATION
Antonio C AlbaresFranceElwin Sharvill PROPOSAL
Mayumi W FollerRussiaStephen Shaw UNQUALIFIED
Rodrigues Z InouyeBrazilStephen Shaw UNQUALIFIED
Kadeem A ChuiFranceIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire V InouyeRussiaXuxue Feng QUALIFIED
Francesco Z SergiArgentinaStephen Shaw PROPOSAL
Smith D BriddickBrazilElwin Sharvill UNQUALIFIED
Silvio N FerenczCanadaIoni Bowcher NEW
Maria H TollnerJapanBernardo Dominic PROPOSAL
Chavez K GauchoGermanyXuxue Feng UNQUALIFIED
Munro I VenereGermanyOnyama Limba NEW
Arvin N RulapaughRussiaAnna Fali NEGOTIATION
Leja P ChuiItalyAsiya Javayant NEGOTIATION
Maria U VenereJapanAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem G OstroskyCanada2024-04-30Chemel, James L Cpa QUALIFIED36Elwin Sharvill
1001Chavez N WaycottArgentina2024-05-08Chemel, James L Cpa NEGOTIATION35Stephen Shaw
1002Sinclair I MarrierUnited Kingdom2024-05-07Benton, John B Jr UNQUALIFIED13Onyama Limba
1003Munro H InouyeAustralia2024-05-06Buckley Miller Wright UNQUALIFIED49Stephen Shaw
1004Jones J MarrierUnited Kingdom2024-05-01Commercial Press QUALIFIED6Ivan Magalhaes
1005Isabel K ShinkoAustralia2024-05-12King, Christopher A Esq NEW19Onyama Limba
1006Arvin P TollnerAustralia2024-05-14Chemel, James L Cpa NEGOTIATION85Ivan Magalhaes
1007Jennifer H KuskoBrazil2024-05-07King, Christopher A Esq RENEWAL44Amy Elsner
1008Isabel A TollnerGermany2024-04-30Benton, John B Jr NEW46Bernardo Dominic
1009Maisha K NestleRussia2024-04-28Commercial Press NEGOTIATION91Stephen Shaw
1010Arvin M VenereJapan2024-05-15Feiner Bros RENEWAL42Ioni Bowcher
1011James B WhobreyGermany2024-05-26Rangoni Of Florence NEW5Xuxue Feng
1012Darci B NestleArgentina2024-05-08Rousseaux, Michael Esq NEW18Asiya Javayant
1013Juan C DoeAustralia2024-05-23Feltz Printing Service UNQUALIFIED60Onyama Limba
1014Alejandro B BowleySpain2024-05-24Rangoni Of Florence NEW70Xuxue Feng
1015Octavia O MorascaAustralia2024-05-15Rangoni Of Florence QUALIFIED35Asiya Javayant
1016Mujtaba A NestleIndia2024-05-09Truhlar And Truhlar Attys UNQUALIFIED29Stephen Shaw
1017Ivar L VocelkaUnited Kingdom2024-04-28King, Christopher A Esq NEGOTIATION94Elwin Sharvill
1018Jeanfrancois Z WhobreyCanada2024-05-19Truhlar And Truhlar Attys QUALIFIED21Ioni Bowcher
1019Misaki N OstroskyItaly2024-05-11Printing Dimensions PROPOSAL2Anna Fali
1020Claire J GarufiUnited Kingdom2024-04-28Benton, John B Jr QUALIFIED54Ivan Magalhaes
1021Mayumi I DilliardIndia2024-05-21Chemel, James L Cpa NEW86Stephen Shaw
1022Octavia B WaycottIndia2024-05-19Chemel, James L Cpa RENEWAL98Asiya Javayant
1023Sinclair N RutaRussia2024-05-23Dorl, James J Esq PROPOSAL34Stephen Shaw
1024Maria I WhobreyIndia2024-05-01Feltz Printing Service RENEWAL1Stephen Shaw
1025Misaki D SaylorsRussia2024-05-26Printing Dimensions NEW23Ivan Magalhaes
1026Claire H BriddickSpain2024-05-14Printing Dimensions PROPOSAL90Asiya Javayant
1027Smith U OldroydCanada2024-04-29Chemel, James L Cpa PROPOSAL91Bernardo Dominic
1028Munro P FollerJapan2024-05-10Buckley Miller Wright NEW75Stephen Shaw
1029Antonio W GillianUnited Kingdom2024-05-13Commercial Press NEW30Xuxue Feng
1030Mujtaba A StensethSpain2024-05-08Dorl, James J Esq PROPOSAL8Xuxue Feng
1031Kadeem I ChuiBrazil2024-05-21Dorl, James J Esq QUALIFIED72Ivan Magalhaes
1032Stacey Q MarrierItaly2024-05-03Rangoni Of Florence RENEWAL96Onyama Limba
1033Jeanfrancois N NickaJapan2024-05-04Printing Dimensions NEGOTIATION3Bernardo Dominic
1034Maria P BologniaGermany2024-05-19Truhlar And Truhlar Attys PROPOSAL47Bernardo Dominic
1035Claire C RutaCanada2024-05-22King, Christopher A Esq RENEWAL55Ivan Magalhaes
1036Jennifer Q FerenczJapan2024-05-22Morlong Associates NEGOTIATION18Bernardo Dominic
1037Adams N AlbaresRussia2024-05-01Morlong Associates QUALIFIED74Elwin Sharvill
1038Greenwood K WhobreyJapan2024-05-06Chanay, Jeffrey A Esq UNQUALIFIED77Amy Elsner
1039Emily F DoeSpain2024-05-10Feiner Bros NEGOTIATION66Anna Fali
1040Rodrigues O DarakjyArgentina2024-05-03Chanay, Jeffrey A Esq QUALIFIED16Elwin Sharvill
1041Stacey A DarakjyRussia2024-05-16Feiner Bros RENEWAL43Ivan Magalhaes
1042Nicolas J CampainRussia2024-05-12King, Christopher A Esq QUALIFIED41Bernardo Dominic
1043Antonio F RoysterAustralia2024-05-05Dorl, James J Esq RENEWAL15Amy Elsner
1044Tony H TollnerItaly2024-04-29King, Christopher A Esq RENEWAL83Ivan Magalhaes
1045Adams Y PerinBrazil2024-05-15Dorl, James J Esq RENEWAL66Xuxue Feng
1046Francesco O GlickJapan2024-05-03Rangoni Of Florence RENEWAL46Ioni Bowcher
1047Antonio X CaudyCanada2024-05-05Printing Dimensions NEGOTIATION84Ioni Bowcher
1048Arvin T StensethItaly2024-05-23Rousseaux, Michael Esq QUALIFIED7Elwin Sharvill
1049David D DarakjyBrazil2024-05-25Truhlar And Truhlar Attys NEW71Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas P FollerArgentinaElwin Sharvill RENEWAL
Emily C WieserGermanyIoni Bowcher UNQUALIFIED
Juan L PerinBrazilIvan Magalhaes QUALIFIED
Maria L DilliardBrazilXuxue Feng NEW
Jennifer Q CaldareraFranceOnyama Limba NEGOTIATION
Maisha P IturbideItalyElwin Sharvill UNQUALIFIED
Cody Y InouyeBrazilXuxue Feng NEGOTIATION
Murillo G KuskoGermanyOnyama Limba QUALIFIED
Juan O RoysterArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois P OldroydIndiaIoni Bowcher UNQUALIFIED
Wickens D GillianItalyAmy Elsner NEGOTIATION
Aditya Q DilliardCanadaOnyama Limba RENEWAL
Morrow L RutaGermanyBernardo Dominic PROPOSAL
Costa V WaycottCanadaAsiya Javayant NEW
Clifford Z OldroydAustraliaXuxue Feng PROPOSAL
Faith T FlosiArgentinaBernardo Dominic UNQUALIFIED
Stacey W OldroydCanadaStephen Shaw NEW
Greenwood F SlusarskiGermanyXuxue Feng NEGOTIATION
Darci L OstroskyArgentinaIoni Bowcher PROPOSAL
Jennifer T FollerItalyAmy Elsner PROPOSAL
Smith B MarrierGermanyAsiya Javayant RENEWAL
Ivar O CaldareraSpainAnna Fali PROPOSAL
Nicolas V CaudyJapanStephen Shaw PROPOSAL
Francesco A PaprockiItalyXuxue Feng PROPOSAL
Leon T SchemmerItalyAmy Elsner UNQUALIFIED
Murillo Z DoeAustraliaStephen Shaw NEGOTIATION
Kaitlin U TollnerGermanyStephen Shaw QUALIFIED
Cody G DilliardBrazilOnyama Limba UNQUALIFIED
Munro B NickaSpainStephen Shaw QUALIFIED
Wickens M FlosiFranceIvan Magalhaes QUALIFIED
Murillo Y RutaUnited KingdomStephen Shaw QUALIFIED
Maisha Y FollerIndiaIvan Magalhaes QUALIFIED
Aika D MacleadSpainAsiya Javayant NEGOTIATION
David Y GarufiFranceIvan Magalhaes QUALIFIED
Francesco P OldroydItalyAmy Elsner NEW
Emily I GauchoArgentinaElwin Sharvill NEW
Leon L RimRussiaStephen Shaw PROPOSAL
David K FollerRussiaBernardo Dominic RENEWAL
Julie Z CampainBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois I VenereIndiaBernardo Dominic UNQUALIFIED
Morrow Q SergiUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois Y BriddickItalyOnyama Limba NEW
Tony N NickaJapanIoni Bowcher UNQUALIFIED
Sinclair L MaletAustraliaStephen Shaw RENEWAL
Alejandro B DoeUnited KingdomAnna Fali PROPOSAL
Tony O RutaCanadaIoni Bowcher NEW
Jeanfrancois V RutaItalyIoni Bowcher UNQUALIFIED
Jones E MarrierAustraliaAmy Elsner PROPOSAL
Johnson S CaudyUnited KingdomElwin Sharvill PROPOSAL
Darci L TollnerGermanyAmy Elsner NEW
Frozen Columns
Name
Tony C Shinko
Ashley F Glick
Murillo H Venere
Salvatore T Campain
Adams P Venere
Antonio G Vocelka
Julie E Doe
Morrow R Bowley
Cody L Gaucho
Aika I Whobrey
Cody E Rim
Cody L Ruta
Misaki H Ferencz
Mayumi N Nestle
Ricardo N Sergi
Ashley C Chui
Aruna D Malet
Claire X Saylors
James S Maclead
Salvatore J Inouye
Greenwood D Campain
Deepesh T Garufi
Emily V Bolognia
Clifford M Gillian
Antonio Q Paprocki
Maria G Dilliard
Greenwood P Foller
Morrow S Bowley
Costa W Inouye
Leja Z Figeroa
Octavia B Briddick
Chavez F Iturbide
Ivar N Whobrey
Juan H Briddick
Claire Y Slusarski
Maria P Stockham
Rodrigues M Saylors
Julie R Butt
Tony P Kolmetz
Jefferson I Bolognia
Clifford U Oldroyd
Jennifer S Whobrey
Isabel K Doe
Misaki F Maclead
Alejandro K Gaucho
Smith R Slusarski
Mujtaba P Briddick
Ivar H Royster
Julie I Kusko
Jefferson I Perin
IdCountryDate
1000Germany2024-04-28
1001Australia2024-05-24
1002Russia2024-05-02
1003Argentina2024-05-25
1004United Kingdom2024-05-08
1005Italy2024-05-04
1006Canada2024-05-17
1007Australia2024-05-01
1008Japan2024-05-12
1009Brazil2024-04-28
1010Argentina2024-05-11
1011United Kingdom2024-05-27
1012Canada2024-05-20
1013India2024-05-27
1014India2024-05-17
1015Canada2024-05-20
1016Argentina2024-05-15
1017Russia2024-05-17
1018Argentina2024-05-10
1019Argentina2024-05-23
1020France2024-05-04
1021India2024-04-28
1022France2024-05-08
1023Italy2024-05-02
1024Australia2024-05-13
1025Spain2024-04-29
1026Brazil2024-05-07
1027Italy2024-04-28
1028Canada2024-05-07
1029Canada2024-05-24
1030Japan2024-05-06
1031Russia2024-05-04
1032Germany2024-05-11
1033Spain2024-05-08
1034Argentina2024-05-25
1035Italy2024-05-13
1036Russia2024-05-25
1037Spain2024-05-24
1038India2024-05-11
1039United Kingdom2024-05-25
1040Italy2024-05-06
1041Australia2024-05-25
1042France2024-05-06
1043Germany2024-05-15
1044Germany2024-05-27
1045Spain2024-05-05
1046Australia2024-05-27
1047France2024-05-23
1048Italy2024-05-12
1049Japan2024-05-17

On-Demand Data

NameIdCountryDate
Antonio Q Butt1000India2024-05-07
Adams F Caudy1001United Kingdom2024-05-24
Adams Z Rulapaugh1002Italy2024-05-21
Isabel C Rim1003Russia2024-05-24
Maisha I Bowley1004Argentina2024-04-29
Nicolas C Venere1005Brazil2024-05-10
Cody D Malet1006Spain2024-05-27
Munro E Rulapaugh1007Germany2024-05-21
Deepesh S Garufi1008United Kingdom2024-05-03
Smith Q Perin1009Italy2024-05-11
David Y Waycott1010Brazil2024-05-05
Chavez M Darakjy1011Argentina2024-05-04
Deepesh U Ferencz1012Germany2024-05-07
Maria I Amigon1013Spain2024-05-11
Mujtaba X Paprocki1014Brazil2024-05-03
Cody S Albares1015Russia2024-05-06
Deepesh L Whobrey1016Japan2024-05-06
Ivar J Rim1017Italy2024-05-12
Sinclair Y Slusarski1018Russia2024-05-16
Morrow I Albares1019Argentina2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo Y NestleRussiaAsiya Javayant UNQUALIFIED
Alejandro B WieserSpainStephen Shaw PROPOSAL
Morrow O WieserUnited KingdomBernardo Dominic UNQUALIFIED
Julie N FollerArgentinaElwin Sharvill NEW
Aruna F KolmetzAustraliaElwin Sharvill PROPOSAL
Isabel Z MaletGermanyAnna Fali UNQUALIFIED
Jennifer H RulapaughCanadaBernardo Dominic RENEWAL
Aika T OldroydCanadaIvan Magalhaes QUALIFIED
Francesco C PerinJapanIvan Magalhaes RENEWAL
Deepesh N SaylorsRussiaAnna Fali RENEWAL
Munro J OldroydArgentinaXuxue Feng RENEWAL
Salvatore S FlosiArgentinaIvan Magalhaes NEW
Emily I MaletSpainIoni Bowcher PROPOSAL
Jeanfrancois Z TollnerCanadaBernardo Dominic PROPOSAL
Mujtaba Q StensethIndiaAsiya Javayant UNQUALIFIED
Jones O BologniaRussiaAmy Elsner NEGOTIATION
Maisha B BologniaArgentinaIvan Magalhaes RENEWAL
Francesco Y CaldareraRussiaElwin Sharvill QUALIFIED
Leja V BowleyJapanAnna Fali NEW
Kadeem W FollerCanadaAmy Elsner QUALIFIED
Ricardo R RimJapanBernardo Dominic QUALIFIED
Arvin J MorascaGermanyIoni Bowcher QUALIFIED
Claire A GauchoCanadaIoni Bowcher NEGOTIATION
Nicolas E AmigonCanadaXuxue Feng RENEWAL
Francesco A FlosiArgentinaOnyama Limba QUALIFIED
David E RulapaughUnited KingdomBernardo Dominic PROPOSAL
David O DarakjyGermanyAnna Fali UNQUALIFIED
Francesco H InouyeRussiaXuxue Feng PROPOSAL
Deepesh O SaylorsSpainStephen Shaw UNQUALIFIED
Ashley K IturbideBrazilIvan Magalhaes PROPOSAL
Nicolas M StensethSpainAmy Elsner UNQUALIFIED
Misaki D SergiJapanIoni Bowcher PROPOSAL
Wickens Y MaletBrazilElwin Sharvill UNQUALIFIED
Salvatore S MaletJapanAsiya Javayant NEW
Maria I RulapaughAustraliaIoni Bowcher UNQUALIFIED
Chavez C GlickCanadaAsiya Javayant NEGOTIATION
Sinclair N RulapaughAustraliaXuxue Feng NEW
James J NickaSpainBernardo Dominic NEW
Alejandro E FollerItalyAsiya Javayant UNQUALIFIED
Claire D PerinAustraliaBernardo Dominic PROPOSAL

<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>