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
Ricardo F OstroskyItalyAsiya Javayant NEW
Morrow V MorascaSpainAsiya Javayant PROPOSAL
Julie N SergiArgentinaAnna Fali QUALIFIED
Jennifer H DoeUnited KingdomOnyama Limba NEW
Cody K RutaSpainBernardo Dominic NEW
James E WieserArgentinaAsiya Javayant QUALIFIED
David J OldroydUnited KingdomOnyama Limba NEGOTIATION
Kaitlin J ChuiIndiaAmy Elsner NEGOTIATION
Jones Q NestleIndiaOnyama Limba NEGOTIATION
Ricardo Y DarakjySpainIvan Magalhaes NEW
Sinclair D WaycottItalyBernardo Dominic NEGOTIATION
Munro I FigeroaAustraliaElwin Sharvill NEGOTIATION
Leja O ChuiItalyAsiya Javayant QUALIFIED
Sinclair L RimJapanXuxue Feng UNQUALIFIED
Wickens O StockhamAustraliaIvan Magalhaes PROPOSAL
Adams H BologniaItalyElwin Sharvill RENEWAL
Antonio Y GarufiAustraliaOnyama Limba PROPOSAL
Aditya Z IturbideGermanyOnyama Limba NEW
Deepesh Z FerenczGermanyIoni Bowcher QUALIFIED
Ricardo F KolmetzAustraliaAsiya Javayant QUALIFIED
Maria X PerinFranceAsiya Javayant NEGOTIATION
Leja G GillianArgentinaIvan Magalhaes RENEWAL
Aika R RimSpainAsiya Javayant UNQUALIFIED
Deepesh F PaprockiCanadaIvan Magalhaes NEGOTIATION
Francesco O PoquetteJapanIvan Magalhaes PROPOSAL
Jennifer Z FlosiCanadaIoni Bowcher NEW
Chavez T RoysterJapanAnna Fali NEW
Julie N SchemmerBrazilIvan Magalhaes NEGOTIATION
Sinclair S DarakjyJapanIvan Magalhaes PROPOSAL
Kaitlin J RutaArgentinaAsiya Javayant PROPOSAL
Ivar B SchemmerFranceStephen Shaw PROPOSAL
David F BowleyIndiaOnyama Limba NEGOTIATION
Cody X ShinkoBrazilAmy Elsner UNQUALIFIED
Maisha D GillianRussiaOnyama Limba QUALIFIED
Leon H GauchoFranceAnna Fali NEW
Murillo L FigeroaItalyStephen Shaw QUALIFIED
Arvin R RimCanadaOnyama Limba QUALIFIED
Rodrigues F PoquetteBrazilOnyama Limba RENEWAL
Costa P MacleadCanadaIvan Magalhaes NEW
Aditya R FigeroaCanadaAsiya Javayant UNQUALIFIED
Leja A AlbaresSpainIvan Magalhaes QUALIFIED
Salvatore Y SchemmerItalyAmy Elsner QUALIFIED
Smith H SaylorsBrazilAnna Fali UNQUALIFIED
Leon Y SchemmerRussiaBernardo Dominic QUALIFIED
Maisha F MacleadItalyXuxue Feng PROPOSAL
Leon W GillianArgentinaBernardo Dominic PROPOSAL
Adams N FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Francesco F MacleadGermanyBernardo Dominic RENEWAL
Clifford E OstroskyRussiaAsiya Javayant NEGOTIATION
Cody X KolmetzArgentinaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo Q PerinAustraliaAsiya Javayant QUALIFIED
Antonio S ChuiIndiaAmy Elsner NEGOTIATION
Darci M KuskoAustraliaXuxue Feng PROPOSAL
James M SaylorsArgentinaIoni Bowcher UNQUALIFIED
Octavia J RimUnited KingdomAsiya Javayant RENEWAL
Ashley Z AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Silvio F VocelkaJapanElwin Sharvill UNQUALIFIED
Stacey T GillianJapanIoni Bowcher PROPOSAL
Jeanfrancois D WaycottRussiaOnyama Limba PROPOSAL
Rodrigues B MorascaAustraliaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna M FlosiCanada2024-05-26Rangoni Of Florence RENEWAL87Stephen Shaw
1001Murillo G ShinkoBrazil2024-06-13Chemel, James L Cpa NEW31Elwin Sharvill
1002Leja C GlickItaly2024-05-16Rousseaux, Michael Esq RENEWAL90Elwin Sharvill
1003Julie T MaletRussia2024-05-26Buckley Miller Wright PROPOSAL19Ivan Magalhaes
1004Silvio D InouyeBrazil2024-06-04Chemel, James L Cpa NEW69Stephen Shaw
1005Sinclair E ChuiGermany2024-06-02Rangoni Of Florence PROPOSAL45Bernardo Dominic
1006Wickens V PoquetteBrazil2024-05-17Printing Dimensions QUALIFIED36Anna Fali
1007Stacey X MarrierGermany2024-06-03Rousseaux, Michael Esq UNQUALIFIED29Ivan Magalhaes
1008Morrow S VenereRussia2024-05-23Benton, John B Jr NEW99Ioni Bowcher
1009Juan G ButtGermany2024-05-31Morlong Associates PROPOSAL57Amy Elsner
1010Kadeem C BriddickUnited Kingdom2024-06-03King, Christopher A Esq UNQUALIFIED67Xuxue Feng
1011Aruna M GauchoSpain2024-05-21Rousseaux, Michael Esq NEGOTIATION16Ioni Bowcher
1012Tony B FigeroaCanada2024-06-13Commercial Press RENEWAL71Onyama Limba
1013Salvatore D DarakjyGermany2024-06-12Morlong Associates NEW78Ioni Bowcher
1014Mujtaba Y WaycottBrazil2024-05-29Morlong Associates QUALIFIED23Stephen Shaw
1015Aruna S ChuiBrazil2024-06-08Chapman, Ross E Esq RENEWAL69Elwin Sharvill
1016Munro Z GlickSpain2024-06-13King, Christopher A Esq UNQUALIFIED85Anna Fali
1017Kaitlin D SaylorsItaly2024-05-29Chanay, Jeffrey A Esq QUALIFIED67Xuxue Feng
1018Mayumi S RulapaughBrazil2024-05-28Printing Dimensions RENEWAL45Ioni Bowcher
1019Alejandro E MorascaItaly2024-06-04Truhlar And Truhlar Attys NEGOTIATION73Amy Elsner
1020Costa W NestleJapan2024-06-09Rousseaux, Michael Esq NEGOTIATION70Bernardo Dominic
1021Emily E BologniaIndia2024-05-30Morlong Associates QUALIFIED16Elwin Sharvill
1022Salvatore T KolmetzBrazil2024-06-02Benton, John B Jr QUALIFIED18Amy Elsner
1023Claire N GillianItaly2024-06-13Chapman, Ross E Esq RENEWAL41Onyama Limba
1024Chavez T RutaJapan2024-05-16King, Christopher A Esq UNQUALIFIED96Stephen Shaw
1025Faith H AmigonFrance2024-06-07Chemel, James L Cpa QUALIFIED9Onyama Limba
1026Kaitlin Q ShinkoJapan2024-05-21Buckley Miller Wright NEGOTIATION75Onyama Limba
1027Kadeem H CaldareraFrance2024-06-01King, Christopher A Esq NEW65Ivan Magalhaes
1028Ivar O FlosiGermany2024-06-09Benton, John B Jr QUALIFIED57Asiya Javayant
1029Jeanfrancois L CampainArgentina2024-05-25Printing Dimensions QUALIFIED63Bernardo Dominic
1030Greenwood O SchemmerRussia2024-06-13Benton, John B Jr QUALIFIED96Ioni Bowcher
1031Clifford F VenereArgentina2024-05-20Truhlar And Truhlar Attys PROPOSAL94Bernardo Dominic
1032Ashley M IturbideUnited Kingdom2024-05-18Chemel, James L Cpa UNQUALIFIED5Ioni Bowcher
1033Jefferson V WaycottItaly2024-06-12Benton, John B Jr UNQUALIFIED58Onyama Limba
1034Aruna B FlosiAustralia2024-05-26Truhlar And Truhlar Attys NEW26Elwin Sharvill
1035Darci Z BowleySpain2024-06-11Rangoni Of Florence UNQUALIFIED42Asiya Javayant
1036Costa Z StockhamSpain2024-05-31Morlong Associates NEGOTIATION18Ioni Bowcher
1037Aruna F GarufiFrance2024-06-01Truhlar And Truhlar Attys NEGOTIATION5Amy Elsner
1038Jeanfrancois D WhobreySpain2024-05-28Printing Dimensions PROPOSAL79Stephen Shaw
1039Ivar H ShinkoRussia2024-05-17Rangoni Of Florence RENEWAL36Amy Elsner
1040Kaitlin L RoysterFrance2024-05-29Printing Dimensions PROPOSAL23Xuxue Feng
1041Faith R RutaFrance2024-06-02Chemel, James L Cpa NEGOTIATION14Elwin Sharvill
1042Stacey C PaprockiArgentina2024-06-04Feltz Printing Service UNQUALIFIED23Bernardo Dominic
1043Leon W AlbaresRussia2024-05-18King, Christopher A Esq PROPOSAL51Bernardo Dominic
1044Juan H OstroskyRussia2024-05-18Truhlar And Truhlar Attys NEGOTIATION21Xuxue Feng
1045Octavia X SaylorsAustralia2024-05-25Morlong Associates UNQUALIFIED3Elwin Sharvill
1046Aruna K SergiJapan2024-06-14Truhlar And Truhlar Attys NEGOTIATION28Stephen Shaw
1047Octavia V BowleySpain2024-06-02Feltz Printing Service RENEWAL61Bernardo Dominic
1048Emily V VenereAustralia2024-05-21Rangoni Of Florence QUALIFIED69Ivan Magalhaes
1049Darci A DilliardCanada2024-06-11Benton, John B Jr NEW32Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar O CaudyCanadaIvan Magalhaes UNQUALIFIED
Julie S DilliardBrazilIvan Magalhaes PROPOSAL
Aditya A ChuiUnited KingdomOnyama Limba UNQUALIFIED
Deepesh W PerinCanadaStephen Shaw UNQUALIFIED
Leja T CaudyArgentinaIvan Magalhaes NEW
Rodrigues E DilliardGermanyAnna Fali NEGOTIATION
Tony X FlosiBrazilXuxue Feng UNQUALIFIED
Greenwood M MorascaBrazilAsiya Javayant UNQUALIFIED
Kaitlin F KuskoArgentinaAnna Fali QUALIFIED
Munro T OldroydCanadaAnna Fali NEGOTIATION
James G NestleItalyXuxue Feng NEGOTIATION
Antonio S VenereRussiaStephen Shaw RENEWAL
Wickens V GlickArgentinaIoni Bowcher PROPOSAL
Smith Y InouyeGermanyXuxue Feng NEW
Rodrigues L GarufiBrazilOnyama Limba UNQUALIFIED
Rodrigues M BowleySpainAmy Elsner RENEWAL
Johnson Q GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel M WaycottAustraliaIvan Magalhaes NEGOTIATION
Isabel S GillianCanadaOnyama Limba NEW
Johnson T StockhamBrazilBernardo Dominic NEW
Isabel B BowleySpainIoni Bowcher NEGOTIATION
Claire I GarufiFranceAnna Fali RENEWAL
David Y FollerArgentinaAmy Elsner QUALIFIED
Morrow U IturbideSpainIoni Bowcher NEGOTIATION
Mayumi A RimAustraliaElwin Sharvill NEGOTIATION
Tony P ButtArgentinaIvan Magalhaes RENEWAL
Julie H OstroskyArgentinaAsiya Javayant PROPOSAL
Claire R RutaAustraliaStephen Shaw QUALIFIED
Aruna X GarufiSpainAnna Fali PROPOSAL
Salvatore M MacleadAustraliaIvan Magalhaes RENEWAL
Munro M MaletRussiaElwin Sharvill PROPOSAL
Nicolas H WaycottSpainOnyama Limba NEGOTIATION
Claire J MaletItalyAsiya Javayant QUALIFIED
Isabel K MaletItalyStephen Shaw PROPOSAL
David M SchemmerAustraliaAmy Elsner NEW
Arvin I ShinkoRussiaIvan Magalhaes PROPOSAL
David G PerinAustraliaElwin Sharvill PROPOSAL
Isabel V SchemmerFranceElwin Sharvill RENEWAL
Aika J ShinkoAustraliaAmy Elsner NEW
Nicolas L OldroydCanadaOnyama Limba NEGOTIATION
Maria R ButtIndiaOnyama Limba RENEWAL
Octavia R PaprockiItalyBernardo Dominic QUALIFIED
Mujtaba V KolmetzItalyElwin Sharvill NEGOTIATION
Ashley C AlbaresCanadaIvan Magalhaes RENEWAL
Rodrigues H OstroskyUnited KingdomOnyama Limba PROPOSAL
Misaki Y VocelkaCanadaStephen Shaw NEGOTIATION
Munro R MaletBrazilAnna Fali NEW
Darci A RimCanadaOnyama Limba UNQUALIFIED
Nicolas W CampainJapanAmy Elsner UNQUALIFIED
Greenwood F PaprockiJapanStephen Shaw NEGOTIATION
Frozen Columns
Name
Adams C Ferencz
Alejandro N Ferencz
Ricardo N Briddick
Maria L Iturbide
Arvin O Garufi
Aruna R Sergi
Cody E Bolognia
Salvatore W Stenseth
Murillo S Caldarera
Munro W Shinko
Izzy J Ruta
David O Oldroyd
Tony F Gillian
David D Butt
Mayumi Z Briddick
Jones A Bolognia
Julie A Venere
Wickens K Venere
James I Slusarski
Sinclair G Shinko
Claire E Amigon
Kaitlin V Oldroyd
Salvatore P Gaucho
Arvin P Figeroa
Jones X Inouye
Juan W Oldroyd
Deepesh G Malet
Deepesh M Flosi
Costa W Marrier
Mujtaba W Iturbide
Maisha V Oldroyd
Costa Q Inouye
Smith Z Morasca
Morrow V Sergi
Costa A Ferencz
Tony N Shinko
Rodrigues K Inouye
Mujtaba L Oldroyd
David A Dilliard
Greenwood P Waycott
Mujtaba T Morasca
Jennifer O Malet
Misaki P Garufi
David H Saylors
Deepesh B Kusko
Stacey M Malet
Octavia D Inouye
Maisha X Doe
Antonio I Wieser
Maria G Campain
IdCountryDate
1000Brazil2024-05-23
1001Canada2024-05-26
1002Spain2024-06-12
1003India2024-05-17
1004Spain2024-06-02
1005Spain2024-06-03
1006France2024-06-06
1007Italy2024-05-20
1008Russia2024-05-20
1009United Kingdom2024-05-24
1010France2024-06-08
1011India2024-06-04
1012United Kingdom2024-06-10
1013Italy2024-05-25
1014France2024-05-31
1015Germany2024-06-13
1016Australia2024-06-11
1017Italy2024-06-11
1018Brazil2024-05-24
1019Spain2024-06-01
1020Italy2024-06-13
1021Italy2024-05-22
1022Japan2024-05-20
1023France2024-06-08
1024Australia2024-06-04
1025Italy2024-05-27
1026Japan2024-05-17
1027France2024-06-07
1028India2024-06-01
1029Italy2024-05-25
1030Brazil2024-06-05
1031United Kingdom2024-05-20
1032Japan2024-05-23
1033Germany2024-06-09
1034Brazil2024-05-23
1035India2024-05-21
1036Brazil2024-06-14
1037France2024-05-20
1038Canada2024-06-13
1039Australia2024-05-19
1040France2024-05-27
1041Brazil2024-06-06
1042Germany2024-05-30
1043Argentina2024-05-24
1044Japan2024-06-08
1045Russia2024-06-10
1046Germany2024-06-02
1047Japan2024-06-07
1048Argentina2024-05-16
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Salvatore P Campain1000United Kingdom2024-05-16
Deepesh A Shinko1001Spain2024-06-14
Adams K Whobrey1002Russia2024-05-17
Arvin I Slusarski1003Russia2024-05-26
Claire F Saylors1004United Kingdom2024-06-06
Aika T Doe1005Italy2024-06-14
Tony C Kusko1006Canada2024-05-30
Mayumi Z Sergi1007France2024-05-30
Julie G Marrier1008Germany2024-05-17
Maria F Garufi1009Japan2024-06-11
Leja R Bolognia1010France2024-05-21
Jones M Albares1011United Kingdom2024-06-11
Rodrigues Q Caldarera1012France2024-05-16
Wickens D Gillian1013Canada2024-06-10
Emily P Amigon1014France2024-06-04
Morrow T Sergi1015Germany2024-06-04
Stacey S Garufi1016Russia2024-06-03
Nicolas M Amigon1017Spain2024-05-28
Nicolas B Garufi1018France2024-05-25
Jennifer K Campain1019France2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa P VocelkaGermanyElwin Sharvill NEGOTIATION
Mayumi J MarrierFranceBernardo Dominic PROPOSAL
Cody I NestleSpainAmy Elsner NEGOTIATION
Aika I BriddickIndiaIvan Magalhaes RENEWAL
Jones I GarufiJapanIvan Magalhaes UNQUALIFIED
Smith Q MarrierCanadaStephen Shaw NEGOTIATION
Adams B WieserSpainAnna Fali PROPOSAL
James D DarakjyIndiaElwin Sharvill RENEWAL
Greenwood T MorascaRussiaXuxue Feng NEGOTIATION
Smith K VenereRussiaIoni Bowcher NEGOTIATION
Arvin M NestleAustraliaIvan Magalhaes QUALIFIED
Juan D VenereIndiaOnyama Limba RENEWAL
Johnson U MaletUnited KingdomAmy Elsner UNQUALIFIED
Tony T DoeArgentinaAnna Fali UNQUALIFIED
Sinclair D NickaJapanElwin Sharvill QUALIFIED
Silvio Q DilliardArgentinaAsiya Javayant RENEWAL
Chavez L CaldareraArgentinaIvan Magalhaes NEW
Tony L CaudyUnited KingdomOnyama Limba QUALIFIED
Julie J MarrierAustraliaIvan Magalhaes NEW
Smith Q DilliardAustraliaXuxue Feng PROPOSAL
Octavia M DilliardRussiaAmy Elsner PROPOSAL
Arvin P IturbideItalyIoni Bowcher RENEWAL
Octavia R PaprockiCanadaElwin Sharvill UNQUALIFIED
James B MacleadRussiaIoni Bowcher NEW
Murillo D BriddickAustraliaAnna Fali QUALIFIED
Greenwood Q FlosiCanadaAnna Fali RENEWAL
Salvatore T RulapaughRussiaBernardo Dominic UNQUALIFIED
Antonio O RutaSpainElwin Sharvill RENEWAL
Juan J FlosiJapanIoni Bowcher UNQUALIFIED
Faith V MaletIndiaOnyama Limba NEW
Jefferson P KolmetzArgentinaAnna Fali UNQUALIFIED
Salvatore Q StensethJapanIvan Magalhaes NEW
Misaki T PoquetteJapanAmy Elsner RENEWAL
Ivar V DoeSpainAnna Fali RENEWAL
Julie O DoeFranceAmy Elsner NEW
Leon R WieserItalyBernardo Dominic PROPOSAL
Faith D TollnerIndiaIoni Bowcher PROPOSAL
Johnson Q ButtItalyAnna Fali NEW
Munro X VocelkaGermanyIoni Bowcher NEW
Clifford E PaprockiJapanAmy Elsner 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>