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
Kadeem M BologniaSpainAmy Elsner RENEWAL
Maria P KuskoFranceBernardo Dominic RENEWAL
Jefferson P CampainItalyAnna Fali PROPOSAL
Mujtaba Z GlickGermanyElwin Sharvill RENEWAL
Smith J DilliardUnited KingdomStephen Shaw UNQUALIFIED
Maria G SergiJapanXuxue Feng NEW
Mujtaba F WieserArgentinaXuxue Feng QUALIFIED
Faith H DarakjyJapanAmy Elsner RENEWAL
Murillo O RulapaughGermanyStephen Shaw PROPOSAL
Johnson G OstroskyUnited KingdomAsiya Javayant NEW
Stacey Z RulapaughBrazilElwin Sharvill PROPOSAL
Jeanfrancois N RutaItalyIoni Bowcher PROPOSAL
Johnson A CaldareraArgentinaAnna Fali QUALIFIED
Munro T FollerJapanIvan Magalhaes NEGOTIATION
David L NickaSpainXuxue Feng PROPOSAL
Maria P TollnerItalyIvan Magalhaes NEGOTIATION
Claire M RulapaughJapanXuxue Feng RENEWAL
Kadeem L ShinkoBrazilAmy Elsner UNQUALIFIED
Jefferson O StockhamUnited KingdomBernardo Dominic QUALIFIED
David O CampainFranceXuxue Feng QUALIFIED
James K PoquetteSpainIvan Magalhaes PROPOSAL
Adams Y MaletSpainStephen Shaw NEW
Mayumi Z SergiSpainIoni Bowcher NEW
Sinclair Q FigeroaFranceIvan Magalhaes NEW
Wickens N DarakjyRussiaAmy Elsner RENEWAL
Juan E VenereBrazilStephen Shaw QUALIFIED
Julie H NestleAustraliaOnyama Limba UNQUALIFIED
Clifford Q DarakjyArgentinaStephen Shaw PROPOSAL
Maisha P SergiIndiaBernardo Dominic NEGOTIATION
Ashley N PaprockiRussiaAsiya Javayant RENEWAL
Jones X WhobreyIndiaIoni Bowcher QUALIFIED
Wickens Z SlusarskiGermanyOnyama Limba QUALIFIED
Juan K FerenczJapanIoni Bowcher RENEWAL
Costa S MacleadAustraliaAsiya Javayant NEW
Chavez L FerenczAustraliaAnna Fali NEW
Ricardo B CampainAustraliaAsiya Javayant PROPOSAL
Ricardo L OstroskyIndiaIoni Bowcher PROPOSAL
Kadeem N FigeroaAustraliaBernardo Dominic UNQUALIFIED
Clifford J BologniaRussiaElwin Sharvill RENEWAL
Sinclair Y SergiJapanStephen Shaw NEW
Aika E VenereItalyElwin Sharvill NEGOTIATION
Smith Z WieserGermanyXuxue Feng PROPOSAL
Kadeem H DilliardCanadaAnna Fali NEW
James K SchemmerArgentinaIoni Bowcher QUALIFIED
Francesco Z OstroskyUnited KingdomAsiya Javayant RENEWAL
Chavez Q BologniaUnited KingdomOnyama Limba NEW
Salvatore W WhobreyItalyAnna Fali UNQUALIFIED
Mujtaba L NickaCanadaIoni Bowcher UNQUALIFIED
Ivar X GlickRussiaIoni Bowcher RENEWAL
Ricardo D FollerItalyBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo B StockhamCanadaIvan Magalhaes UNQUALIFIED
Jennifer P DoeIndiaAmy Elsner RENEWAL
Wickens W MaletGermanyAnna Fali UNQUALIFIED
Morrow S GlickSpainAmy Elsner NEGOTIATION
Aditya X PerinUnited KingdomAmy Elsner RENEWAL
Octavia X RimBrazilIvan Magalhaes UNQUALIFIED
Aika K InouyeBrazilAnna Fali NEGOTIATION
Alejandro S OldroydGermanyXuxue Feng QUALIFIED
Wickens H SchemmerItalyIoni Bowcher NEW
Maisha K PoquetteFranceXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood T MorascaUnited Kingdom2025-04-19Benton, John B Jr UNQUALIFIED14Anna Fali
1001Munro F FollerRussia2025-04-23Chapman, Ross E Esq QUALIFIED39Asiya Javayant
1002Sinclair J AmigonRussia2025-04-18Dorl, James J Esq UNQUALIFIED20Ioni Bowcher
1003Julie U KuskoUnited Kingdom2025-04-04Chapman, Ross E Esq PROPOSAL51Ioni Bowcher
1004James U NickaItaly2025-04-26Benton, John B Jr QUALIFIED37Ioni Bowcher
1005Tony M IturbideIndia2025-04-10Feltz Printing Service NEW65Elwin Sharvill
1006Antonio A WieserCanada2025-04-07Feiner Bros RENEWAL6Anna Fali
1007Aruna P TollnerRussia2025-04-15Chanay, Jeffrey A Esq NEW96Asiya Javayant
1008Faith Q IturbideArgentina2025-04-08Chemel, James L Cpa NEW22Xuxue Feng
1009Claire A StockhamCanada2025-04-11Feltz Printing Service QUALIFIED17Ivan Magalhaes
1010Deepesh K AlbaresItaly2025-04-27Chanay, Jeffrey A Esq UNQUALIFIED65Bernardo Dominic
1011David Z DoeAustralia2025-04-07Dorl, James J Esq RENEWAL42Stephen Shaw
1012Nicolas U BologniaRussia2025-04-06Chemel, James L Cpa NEGOTIATION92Amy Elsner
1013Mujtaba N GlickArgentina2025-04-08Chapman, Ross E Esq NEW48Ioni Bowcher
1014Costa I MarrierJapan2025-04-16Commercial Press NEW9Stephen Shaw
1015Murillo F GlickJapan2025-04-04Rousseaux, Michael Esq PROPOSAL16Onyama Limba
1016Faith H StockhamItaly2025-04-15Truhlar And Truhlar Attys NEGOTIATION17Elwin Sharvill
1017Faith Y SchemmerUnited Kingdom2025-04-10King, Christopher A Esq RENEWAL60Xuxue Feng
1018Ivar G KuskoGermany2025-04-01Commercial Press RENEWAL56Elwin Sharvill
1019Darci Z NickaCanada2025-04-17Chemel, James L Cpa UNQUALIFIED66Onyama Limba
1020Francesco O BowleyCanada2025-04-17Feltz Printing Service RENEWAL54Anna Fali
1021Salvatore T GlickBrazil2025-04-16Benton, John B Jr NEW18Amy Elsner
1022Stacey J DarakjyBrazil2025-04-09Feiner Bros NEGOTIATION76Asiya Javayant
1023Francesco P PoquetteBrazil2025-04-11Dorl, James J Esq QUALIFIED62Bernardo Dominic
1024Arvin Q NestleFrance2025-04-05Chapman, Ross E Esq UNQUALIFIED74Ioni Bowcher
1025Julie O ChuiIndia2025-04-21Feiner Bros PROPOSAL37Anna Fali
1026Wickens X StensethRussia2025-04-02Dorl, James J Esq PROPOSAL76Ivan Magalhaes
1027Jeanfrancois C SchemmerRussia2025-04-05Rangoni Of Florence PROPOSAL49Bernardo Dominic
1028Rodrigues O BologniaFrance2025-04-29Buckley Miller Wright NEGOTIATION40Ivan Magalhaes
1029Clifford J OldroydFrance2025-04-19Truhlar And Truhlar Attys QUALIFIED37Anna Fali
1030Ashley W OstroskyIndia2025-04-21Buckley Miller Wright NEW64Amy Elsner
1031Maisha H PerinCanada2025-04-18Feiner Bros PROPOSAL70Bernardo Dominic
1032Rodrigues M TollnerUnited Kingdom2025-04-13Chapman, Ross E Esq NEGOTIATION29Xuxue Feng
1033Octavia Q GauchoRussia2025-04-05Buckley Miller Wright UNQUALIFIED42Xuxue Feng
1034Octavia V DoeFrance2025-04-19Rousseaux, Michael Esq PROPOSAL18Xuxue Feng
1035Munro O FollerGermany2025-04-29Chanay, Jeffrey A Esq RENEWAL30Onyama Limba
1036Leon V PoquetteGermany2025-04-06Feltz Printing Service NEW64Ioni Bowcher
1037Faith Y BologniaBrazil2025-04-27Feltz Printing Service PROPOSAL16Xuxue Feng
1038Aditya A CampainSpain2025-04-06Chemel, James L Cpa NEGOTIATION24Asiya Javayant
1039Ivar D MorascaRussia2025-04-17King, Christopher A Esq QUALIFIED35Bernardo Dominic
1040Clifford M FerenczJapan2025-04-03Rangoni Of Florence PROPOSAL76Anna Fali
1041Silvio J TollnerItaly2025-04-05Chemel, James L Cpa RENEWAL70Onyama Limba
1042Tony K VenereFrance2025-04-01Chanay, Jeffrey A Esq NEGOTIATION75Stephen Shaw
1043Wickens O DarakjyItaly2025-04-17Truhlar And Truhlar Attys PROPOSAL12Elwin Sharvill
1044Kadeem L RoysterSpain2025-04-17King, Christopher A Esq NEGOTIATION46Asiya Javayant
1045Mujtaba O RimRussia2025-04-26Truhlar And Truhlar Attys PROPOSAL5Asiya Javayant
1046Wickens T RutaSpain2025-04-28Dorl, James J Esq QUALIFIED59Elwin Sharvill
1047Smith V WaycottAustralia2025-04-05Printing Dimensions UNQUALIFIED78Xuxue Feng
1048Leja N InouyeSpain2025-04-17Rousseaux, Michael Esq QUALIFIED93Bernardo Dominic
1049Smith D SlusarskiJapan2025-04-04Rangoni Of Florence NEGOTIATION72Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mayumi W CaldareraSpainAnna Fali QUALIFIED
Sinclair K GarufiJapanBernardo Dominic QUALIFIED
Leja Q FollerCanadaBernardo Dominic NEW
Isabel O FlosiGermanyXuxue Feng RENEWAL
Francesco X VenereAustraliaElwin Sharvill QUALIFIED
Jeanfrancois T WaycottAustraliaXuxue Feng QUALIFIED
Julie I MaletArgentinaIvan Magalhaes NEGOTIATION
Johnson V MacleadSpainIvan Magalhaes PROPOSAL
Stacey F GillianAustraliaIvan Magalhaes NEGOTIATION
Maria R MacleadJapanElwin Sharvill PROPOSAL
Nicolas S FlosiArgentinaIvan Magalhaes NEW
Darci D IturbideCanadaOnyama Limba PROPOSAL
Silvio Z WaycottRussiaIoni Bowcher RENEWAL
Jennifer I MaletJapanXuxue Feng RENEWAL
Smith J NestleItalyIoni Bowcher NEW
Claire D AmigonItalyIoni Bowcher RENEWAL
Izzy H WhobreyBrazilIvan Magalhaes NEW
Emily Q AmigonCanadaAmy Elsner NEW
Jefferson D IturbideJapanAnna Fali NEW
Jones N VocelkaItalyAnna Fali UNQUALIFIED
Julie V ShinkoJapanElwin Sharvill QUALIFIED
Maria T MacleadAustraliaAsiya Javayant NEGOTIATION
Maria T MorascaGermanyAsiya Javayant NEGOTIATION
Nicolas V AlbaresAustraliaElwin Sharvill PROPOSAL
Mayumi D DoeRussiaIvan Magalhaes PROPOSAL
Maria K MaletJapanElwin Sharvill NEW
Faith Z RoysterJapanXuxue Feng NEGOTIATION
Octavia O NestleSpainIoni Bowcher QUALIFIED
Ashley S GauchoItalyAmy Elsner UNQUALIFIED
Rodrigues C StockhamJapanBernardo Dominic PROPOSAL
Ricardo H VenereArgentinaAnna Fali UNQUALIFIED
Adams S CampainBrazilStephen Shaw RENEWAL
Jones K MacleadGermanyIvan Magalhaes PROPOSAL
Mujtaba I ShinkoUnited KingdomAmy Elsner PROPOSAL
Adams Q PaprockiGermanyAsiya Javayant PROPOSAL
Leja O VenereAustraliaOnyama Limba UNQUALIFIED
Murillo H FigeroaRussiaElwin Sharvill QUALIFIED
Cody M AmigonItalyAnna Fali NEW
Emily Q WieserIndiaStephen Shaw QUALIFIED
Greenwood N SchemmerSpainOnyama Limba RENEWAL
Chavez Z ButtIndiaAnna Fali NEW
Octavia K BowleyRussiaAnna Fali NEW
Costa M CaldareraAustraliaIoni Bowcher QUALIFIED
Claire P MaletSpainElwin Sharvill NEW
Mayumi S MaletAustraliaXuxue Feng PROPOSAL
Wickens S MaletAustraliaAsiya Javayant NEW
Jeanfrancois S CampainItalyElwin Sharvill RENEWAL
Aditya U SlusarskiFranceIoni Bowcher QUALIFIED
Silvio S SchemmerArgentinaStephen Shaw PROPOSAL
David A DarakjyItalyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Costa K Paprocki
David C Malet
Adams H Saylors
Mayumi W Albares
Munro B Bolognia
Rodrigues O Schemmer
Ashley P Caldarera
Jones F Rulapaugh
Ashley W Paprocki
Francesco T Stockham
Alejandro D Briddick
Adams Q Kusko
Murillo D Bowley
David R Campain
Kadeem I Campain
Salvatore P Ferencz
Costa S Slusarski
Octavia S Morasca
Antonio M Doe
Greenwood D Bolognia
Kaitlin G Paprocki
Claire E Bolognia
Jennifer C Doe
Ivar L Malet
Salvatore I Rulapaugh
Julie B Caldarera
Juan D Perin
Salvatore P Paprocki
Faith W Caldarera
Ivar K Bowley
Silvio F Marrier
Johnson I Albares
Sinclair S Whobrey
Silvio R Marrier
Alejandro T Waycott
Kadeem H Royster
Jefferson E Nicka
Salvatore J Doe
Maria K Shinko
Jefferson L Garufi
James Z Inouye
Faith R Stockham
Jefferson X Poquette
Juan S Caudy
Claire K Iturbide
Clifford X Shinko
Jefferson F Whobrey
Isabel V Inouye
Johnson O Chui
Maisha E Maclead
IdCountryDate
1000United Kingdom2025-03-31
1001United Kingdom2025-04-20
1002Canada2025-04-03
1003Russia2025-04-27
1004Spain2025-04-08
1005United Kingdom2025-04-29
1006Japan2025-04-22
1007Japan2025-04-18
1008Argentina2025-04-04
1009France2025-04-20
1010Canada2025-04-15
1011India2025-04-06
1012Russia2025-04-13
1013Spain2025-04-03
1014United Kingdom2025-04-19
1015Argentina2025-04-16
1016Spain2025-04-22
1017United Kingdom2025-04-26
1018Germany2025-04-17
1019United Kingdom2025-04-27
1020Italy2025-04-22
1021Brazil2025-04-23
1022Brazil2025-04-29
1023Japan2025-04-04
1024Italy2025-03-31
1025Australia2025-04-01
1026United Kingdom2025-04-05
1027Italy2025-04-07
1028Australia2025-04-12
1029Italy2025-04-12
1030Canada2025-04-11
1031Japan2025-04-27
1032United Kingdom2025-04-12
1033India2025-04-15
1034France2025-04-11
1035Germany2025-04-17
1036Japan2025-04-29
1037Australia2025-04-16
1038France2025-04-27
1039Canada2025-04-20
1040Japan2025-04-25
1041France2025-04-06
1042India2025-04-10
1043Brazil2025-04-14
1044Spain2025-04-23
1045Italy2025-04-03
1046Germany2025-04-11
1047Japan2025-04-23
1048Argentina2025-04-18
1049France2025-04-22

On-Demand Data

NameIdCountryDate
Octavia E Amigon1000Canada2025-04-23
James H Gaucho1001Australia2025-04-08
Greenwood T Campain1002Canada2025-04-21
Rodrigues E Rim1003India2025-04-28
Darci M Saylors1004India2025-04-05
Arvin Y Ruta1005Russia2025-04-20
Arvin V Ruta1006Canada2025-04-28
James N Slusarski1007Argentina2025-04-02
Wickens K Caudy1008France2025-03-31
Murillo Z Figeroa1009Argentina2025-04-26
Rodrigues J Saylors1010India2025-04-25
Smith H Venere1011Germany2025-04-04
David B Rim1012Japan2025-04-02
Alejandro J Dilliard1013Germany2025-04-07
Kadeem G Oldroyd1014Japan2025-04-18
Misaki H Nestle1015United Kingdom2025-04-01
Darci B Tollner1016Australia2025-04-28
Mujtaba R Royster1017Argentina2025-04-13
Kadeem T Amigon1018Australia2025-04-03
Tony U Stenseth1019United Kingdom2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin J SlusarskiRussiaAnna Fali UNQUALIFIED
Kadeem G CaldareraRussiaOnyama Limba RENEWAL
Emily U WaycottIndiaIvan Magalhaes UNQUALIFIED
Arvin O SlusarskiRussiaStephen Shaw QUALIFIED
Munro Q SchemmerCanadaIoni Bowcher RENEWAL
Leja Z FerenczJapanIoni Bowcher NEGOTIATION
Nicolas F FlosiArgentinaAmy Elsner NEW
Jefferson M MacleadFranceBernardo Dominic QUALIFIED
Wickens H OldroydGermanyOnyama Limba PROPOSAL
Ashley I IturbideCanadaAnna Fali NEGOTIATION
Claire B PerinIndiaXuxue Feng UNQUALIFIED
Greenwood I MorascaAustraliaOnyama Limba NEGOTIATION
Maria I FigeroaSpainAsiya Javayant RENEWAL
Misaki E SlusarskiBrazilAsiya Javayant NEW
Leon V BowleyCanadaAmy Elsner RENEWAL
Antonio Q AlbaresArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois X SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Ashley X AlbaresFranceOnyama Limba UNQUALIFIED
Adams N StensethSpainBernardo Dominic NEGOTIATION
Silvio P StockhamUnited KingdomOnyama Limba PROPOSAL
Stacey Z InouyeRussiaAsiya Javayant NEGOTIATION
Wickens C ButtBrazilAmy Elsner QUALIFIED
Silvio O StensethUnited KingdomAnna Fali UNQUALIFIED
Jennifer I WhobreyItalyAsiya Javayant PROPOSAL
Jefferson J VocelkaBrazilElwin Sharvill NEGOTIATION
Ivar V NickaJapanStephen Shaw PROPOSAL
Clifford G GarufiFranceAmy Elsner NEW
Maisha L WieserIndiaAsiya Javayant RENEWAL
Costa Q KolmetzJapanElwin Sharvill NEGOTIATION
Adams F KolmetzRussiaStephen Shaw NEGOTIATION
Salvatore U MacleadAustraliaStephen Shaw RENEWAL
Aruna B NestleJapanXuxue Feng QUALIFIED
Isabel O OstroskySpainIvan Magalhaes QUALIFIED
Darci A FerenczJapanIoni Bowcher NEGOTIATION
Rodrigues B SaylorsCanadaElwin Sharvill NEGOTIATION
Mayumi L GauchoGermanyXuxue Feng QUALIFIED
Morrow Y StockhamIndiaStephen Shaw QUALIFIED
Faith N OstroskyFranceAsiya Javayant UNQUALIFIED
Johnson P PerinUnited KingdomAmy Elsner RENEWAL
Deepesh B AmigonGermanyIoni Bowcher NEGOTIATION

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