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
Jones X NestleBrazilIvan Magalhaes NEGOTIATION
James O GarufiJapanIoni Bowcher PROPOSAL
Rodrigues L ShinkoItalyOnyama Limba UNQUALIFIED
Ivar N GauchoUnited KingdomXuxue Feng NEW
Wickens D DoeGermanyIvan Magalhaes RENEWAL
Francesco W WaycottIndiaIoni Bowcher UNQUALIFIED
Munro A RulapaughRussiaAnna Fali PROPOSAL
Tony F VocelkaBrazilBernardo Dominic NEGOTIATION
Alejandro P NestleArgentinaXuxue Feng NEGOTIATION
Jefferson H DilliardItalyIoni Bowcher NEW
Juan K DilliardJapanAmy Elsner UNQUALIFIED
Ashley V SaylorsItalyOnyama Limba UNQUALIFIED
Johnson T InouyeGermanyIvan Magalhaes RENEWAL
Nicolas Y ChuiSpainIvan Magalhaes QUALIFIED
Kadeem V WieserGermanyAnna Fali UNQUALIFIED
Mayumi E FollerIndiaOnyama Limba QUALIFIED
Darci S SchemmerAustraliaBernardo Dominic RENEWAL
Deepesh P SaylorsCanadaStephen Shaw RENEWAL
Munro K InouyeAustraliaXuxue Feng NEW
Salvatore Z PoquetteAustraliaStephen Shaw PROPOSAL
Sinclair V CaldareraAustraliaOnyama Limba PROPOSAL
Claire R InouyeRussiaStephen Shaw PROPOSAL
Francesco I FlosiSpainAmy Elsner NEW
Cody V InouyeUnited KingdomElwin Sharvill PROPOSAL
Aruna R ShinkoItalyBernardo Dominic PROPOSAL
Deepesh W NestleGermanyIvan Magalhaes NEGOTIATION
Octavia G WaycottArgentinaElwin Sharvill QUALIFIED
David F CaldareraRussiaXuxue Feng RENEWAL
Ashley F SaylorsGermanyAnna Fali NEGOTIATION
Alejandro G GillianJapanXuxue Feng UNQUALIFIED
Smith R GlickFranceOnyama Limba QUALIFIED
Misaki O IturbideArgentinaElwin Sharvill NEW
Mujtaba Y MorascaFranceOnyama Limba QUALIFIED
Jefferson X RutaGermanyBernardo Dominic QUALIFIED
James L PerinGermanyBernardo Dominic QUALIFIED
Ricardo B FigeroaAustraliaStephen Shaw UNQUALIFIED
Sinclair N VocelkaArgentinaIvan Magalhaes NEGOTIATION
Emily E TollnerFranceElwin Sharvill PROPOSAL
Alejandro W ButtIndiaOnyama Limba PROPOSAL
Clifford D BologniaArgentinaOnyama Limba QUALIFIED
Antonio Z ChuiUnited KingdomIoni Bowcher QUALIFIED
Kaitlin D SergiIndiaStephen Shaw PROPOSAL
Francesco Y NickaJapanElwin Sharvill NEW
Emily Q ButtGermanyElwin Sharvill QUALIFIED
Maria Z CaudyCanadaXuxue Feng PROPOSAL
Octavia T GlickAustraliaBernardo Dominic NEW
Greenwood J DilliardIndiaBernardo Dominic PROPOSAL
Izzy C CampainBrazilOnyama Limba NEW
Alejandro J DilliardArgentinaBernardo Dominic RENEWAL
Munro P OstroskyArgentinaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha D OstroskyFranceOnyama Limba RENEWAL
Mujtaba P CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Sinclair D FigeroaAustraliaStephen Shaw RENEWAL
Jefferson F RutaGermanyAsiya Javayant RENEWAL
Juan Z InouyeBrazilElwin Sharvill QUALIFIED
Munro X StockhamIndiaAnna Fali QUALIFIED
Mujtaba Q PaprockiSpainElwin Sharvill UNQUALIFIED
Claire N FollerIndiaElwin Sharvill RENEWAL
Aditya P MaletAustraliaOnyama Limba PROPOSAL
Cody F RoysterItalyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie N StockhamItaly2024-05-24Feltz Printing Service RENEWAL91Xuxue Feng
1001Julie G RimCanada2024-05-24Chanay, Jeffrey A Esq QUALIFIED82Ioni Bowcher
1002Aditya C RutaJapan2024-06-20Chapman, Ross E Esq NEW54Bernardo Dominic
1003Mayumi Q ButtItaly2024-05-25Chapman, Ross E Esq UNQUALIFIED94Elwin Sharvill
1004Adams Q GlickAustralia2024-06-13Chemel, James L Cpa QUALIFIED65Elwin Sharvill
1005Wickens F SchemmerItaly2024-05-26Benton, John B Jr UNQUALIFIED27Asiya Javayant
1006Julie F WaycottGermany2024-06-10Benton, John B Jr QUALIFIED19Bernardo Dominic
1007Julie R BologniaCanada2024-06-20Benton, John B Jr NEGOTIATION74Stephen Shaw
1008Julie M PaprockiJapan2024-06-06Buckley Miller Wright QUALIFIED6Amy Elsner
1009Maria U FerenczItaly2024-05-30Feiner Bros RENEWAL37Amy Elsner
1010Kadeem M DilliardIndia2024-06-09Truhlar And Truhlar Attys NEW64Amy Elsner
1011Alejandro I MaletFrance2024-06-06Buckley Miller Wright PROPOSAL30Xuxue Feng
1012Johnson H CaudyItaly2024-06-08Buckley Miller Wright UNQUALIFIED85Elwin Sharvill
1013Mayumi E CaudyIndia2024-06-17Commercial Press UNQUALIFIED80Anna Fali
1014Aditya C PoquetteBrazil2024-05-24Printing Dimensions QUALIFIED72Asiya Javayant
1015Murillo B SchemmerJapan2024-06-16Chanay, Jeffrey A Esq PROPOSAL24Onyama Limba
1016Jennifer D GauchoArgentina2024-05-31Rangoni Of Florence UNQUALIFIED7Anna Fali
1017Aruna O ShinkoItaly2024-06-01Truhlar And Truhlar Attys NEGOTIATION12Xuxue Feng
1018Maisha D DoeIndia2024-06-05Chanay, Jeffrey A Esq RENEWAL48Elwin Sharvill
1019Leja G PerinBrazil2024-06-17Commercial Press NEGOTIATION57Anna Fali
1020Emily A RutaIndia2024-06-06Feltz Printing Service PROPOSAL55Elwin Sharvill
1021Izzy V RulapaughJapan2024-06-09Truhlar And Truhlar Attys NEW81Bernardo Dominic
1022Munro P KolmetzSpain2024-06-19Feltz Printing Service NEGOTIATION48Anna Fali
1023Rodrigues S WaycottFrance2024-06-05Morlong Associates QUALIFIED3Bernardo Dominic
1024Deepesh A NestleAustralia2024-05-27Benton, John B Jr NEGOTIATION78Anna Fali
1025Costa R MorascaItaly2024-06-13King, Christopher A Esq PROPOSAL12Bernardo Dominic
1026Stacey O OldroydJapan2024-06-05Benton, John B Jr PROPOSAL58Ivan Magalhaes
1027Salvatore K ChuiGermany2024-06-16Chapman, Ross E Esq RENEWAL62Xuxue Feng
1028Darci V DarakjyItaly2024-06-06Benton, John B Jr RENEWAL95Ioni Bowcher
1029Ricardo R PaprockiGermany2024-06-19Benton, John B Jr PROPOSAL82Anna Fali
1030Misaki Y FlosiAustralia2024-06-08Morlong Associates RENEWAL83Asiya Javayant
1031Claire M DarakjyAustralia2024-05-24Printing Dimensions QUALIFIED44Anna Fali
1032Deepesh M KolmetzFrance2024-06-11Feiner Bros UNQUALIFIED72Ioni Bowcher
1033Wickens Z GlickCanada2024-06-10Feltz Printing Service RENEWAL5Xuxue Feng
1034Octavia S InouyeSpain2024-05-25Feiner Bros PROPOSAL62Stephen Shaw
1035Leon C FollerFrance2024-06-10King, Christopher A Esq RENEWAL0Elwin Sharvill
1036Chavez F WaycottItaly2024-06-06Benton, John B Jr UNQUALIFIED6Asiya Javayant
1037James Z GlickArgentina2024-06-14Commercial Press PROPOSAL48Ioni Bowcher
1038Juan I NestleGermany2024-05-30Feltz Printing Service PROPOSAL9Anna Fali
1039Claire O NickaUnited Kingdom2024-06-17Truhlar And Truhlar Attys QUALIFIED44Ioni Bowcher
1040Kaitlin X GauchoFrance2024-06-06Chapman, Ross E Esq UNQUALIFIED54Bernardo Dominic
1041Aika E OldroydUnited Kingdom2024-06-08Morlong Associates UNQUALIFIED41Bernardo Dominic
1042Arvin J GlickAustralia2024-06-01Chanay, Jeffrey A Esq NEW94Xuxue Feng
1043Cody A PoquetteIndia2024-05-26Chapman, Ross E Esq NEW49Ioni Bowcher
1044Mujtaba B SlusarskiJapan2024-06-12Dorl, James J Esq QUALIFIED18Anna Fali
1045Francesco H WieserBrazil2024-05-23Buckley Miller Wright NEGOTIATION64Stephen Shaw
1046Chavez W BowleyArgentina2024-06-06Benton, John B Jr NEW50Amy Elsner
1047Rodrigues D MaletCanada2024-06-14Benton, John B Jr PROPOSAL84Xuxue Feng
1048Mayumi T ChuiSpain2024-05-28Rangoni Of Florence NEGOTIATION76Amy Elsner
1049Izzy J PoquetteItaly2024-06-12Truhlar And Truhlar Attys NEW82Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Wickens K FigeroaAustraliaIoni Bowcher NEW
Francesco X IturbideJapanAsiya Javayant UNQUALIFIED
Leon F PaprockiItalyElwin Sharvill RENEWAL
Jennifer E MaletCanadaAmy Elsner QUALIFIED
Antonio U RulapaughBrazilElwin Sharvill NEW
Darci H VenereItalyOnyama Limba UNQUALIFIED
Morrow Z BologniaRussiaIoni Bowcher QUALIFIED
Alejandro T MaletBrazilAnna Fali UNQUALIFIED
Jeanfrancois U MaletSpainXuxue Feng NEGOTIATION
Julie R FerenczAustraliaAnna Fali NEW
Mujtaba I BowleyItalyBernardo Dominic UNQUALIFIED
Jeanfrancois A CaudyCanadaIoni Bowcher NEW
Aruna J SergiBrazilIvan Magalhaes QUALIFIED
Mujtaba S MarrierAustraliaIvan Magalhaes UNQUALIFIED
Aruna L InouyeArgentinaAsiya Javayant UNQUALIFIED
Costa D KolmetzFranceAmy Elsner NEGOTIATION
Greenwood C GillianUnited KingdomIoni Bowcher PROPOSAL
Morrow L MacleadBrazilIoni Bowcher NEW
Tony C AlbaresSpainAsiya Javayant NEGOTIATION
Nicolas T PoquetteFranceIoni Bowcher RENEWAL
James V IturbideRussiaXuxue Feng QUALIFIED
Deepesh Y FlosiIndiaAmy Elsner NEW
Claire S StensethIndiaOnyama Limba PROPOSAL
Maisha A ChuiUnited KingdomXuxue Feng NEW
Smith R WaycottBrazilOnyama Limba RENEWAL
Johnson X DarakjyIndiaXuxue Feng NEW
Isabel Y MaletBrazilAnna Fali RENEWAL
Antonio A MorascaJapanStephen Shaw PROPOSAL
Kadeem T PoquetteArgentinaBernardo Dominic QUALIFIED
Leon R PoquetteAustraliaXuxue Feng RENEWAL
Maria U BowleySpainBernardo Dominic RENEWAL
Juan H ButtCanadaOnyama Limba NEW
Kaitlin M ShinkoSpainAnna Fali NEGOTIATION
Kaitlin V NestleCanadaXuxue Feng QUALIFIED
Adams H CaldareraBrazilAsiya Javayant UNQUALIFIED
Murillo K SlusarskiSpainXuxue Feng NEW
Kaitlin O ButtJapanElwin Sharvill PROPOSAL
Greenwood D RoysterBrazilIvan Magalhaes NEGOTIATION
Antonio N SaylorsJapanIoni Bowcher PROPOSAL
Nicolas B OldroydAustraliaAmy Elsner RENEWAL
Leon O BriddickJapanOnyama Limba QUALIFIED
Munro E StockhamRussiaIvan Magalhaes NEGOTIATION
Deepesh A MaletFranceBernardo Dominic NEGOTIATION
David X SaylorsRussiaElwin Sharvill QUALIFIED
Silvio D CaldareraAustraliaIoni Bowcher NEGOTIATION
James A CaudySpainAsiya Javayant NEGOTIATION
Morrow Q PerinFranceElwin Sharvill NEGOTIATION
Morrow H SlusarskiSpainAsiya Javayant NEGOTIATION
Juan W ChuiJapanStephen Shaw NEGOTIATION
Ricardo G WhobreyJapanIvan Magalhaes QUALIFIED
Frozen Columns
Name
Stacey B Flosi
Antonio R Royster
Adams Z Flosi
Mujtaba J Marrier
Smith D Albares
Izzy G Chui
Ricardo D Maclead
Murillo E Tollner
Adams T Waycott
Ricardo V Briddick
Izzy X Stenseth
Ivar P Dilliard
Costa R Rulapaugh
Deepesh B Morasca
Francesco B Dilliard
Aika A Ostrosky
Munro L Campain
Chavez V Nicka
Octavia O Royster
Ricardo K Marrier
Izzy Q Wieser
Smith G Garufi
Wickens B Ostrosky
Aditya M Caudy
Faith H Flosi
Wickens T Chui
Faith B Paprocki
Francesco K Bolognia
Mujtaba I Amigon
Jefferson T Glick
Smith I Iturbide
Chavez S Vocelka
Ashley Y Whobrey
David O Gillian
Cody C Dilliard
Ashley E Briddick
Ivar U Flosi
Morrow B Malet
Tony V Briddick
Mayumi Q Amigon
Salvatore D Sergi
Mujtaba A Royster
Emily N Tollner
Kaitlin R Waycott
Emily S Stockham
Aruna O Ruta
Misaki R Gaucho
Octavia Y Stenseth
Smith K Vocelka
Chavez A Bolognia
IdCountryDate
1000Germany2024-06-13
1001Spain2024-06-21
1002Canada2024-06-07
1003Japan2024-06-16
1004Japan2024-06-21
1005United Kingdom2024-06-02
1006India2024-05-27
1007Russia2024-06-19
1008Russia2024-06-14
1009Spain2024-06-05
1010Australia2024-06-04
1011Canada2024-06-17
1012Canada2024-05-24
1013Germany2024-05-29
1014Russia2024-05-25
1015Germany2024-05-25
1016France2024-05-25
1017France2024-05-24
1018Italy2024-06-10
1019Italy2024-06-18
1020Australia2024-06-14
1021Japan2024-05-24
1022Russia2024-06-10
1023United Kingdom2024-06-13
1024United Kingdom2024-06-06
1025Argentina2024-05-24
1026India2024-06-07
1027Russia2024-05-26
1028Italy2024-06-21
1029Argentina2024-06-08
1030Canada2024-05-25
1031Russia2024-05-27
1032Japan2024-06-01
1033Japan2024-05-31
1034Australia2024-05-31
1035Australia2024-06-17
1036India2024-06-21
1037Canada2024-06-09
1038Spain2024-06-12
1039United Kingdom2024-06-07
1040Germany2024-06-08
1041Russia2024-05-28
1042India2024-05-29
1043Germany2024-06-09
1044France2024-06-16
1045Germany2024-06-04
1046Brazil2024-06-14
1047Italy2024-05-23
1048Canada2024-06-19
1049Russia2024-05-23

On-Demand Data

NameIdCountryDate
Leja V Malet1000Australia2024-05-28
Julie O Darakjy1001United Kingdom2024-05-31
Alejandro S Sergi1002Italy2024-06-18
Clifford R Doe1003Brazil2024-06-02
Francesco C Rulapaugh1004Russia2024-06-15
Julie B Bolognia1005Germany2024-06-14
Aditya O Albares1006United Kingdom2024-05-23
Ivar J Ferencz1007India2024-06-17
Costa R Malet1008Argentina2024-06-12
Nicolas J Marrier1009Spain2024-06-03
Maisha T Stockham1010Argentina2024-06-17
Salvatore X Inouye1011Russia2024-05-24
Aika K Royster1012Argentina2024-06-13
Clifford J Sergi1013France2024-06-21
Smith O Dilliard1014Australia2024-06-20
James P Kusko1015Russia2024-05-30
Aruna H Rim1016Spain2024-06-17
James J Caldarera1017Spain2024-06-09
Nicolas E Stenseth1018Germany2024-06-03
Jeanfrancois L Nestle1019France2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja W DarakjyFranceAmy Elsner PROPOSAL
Tony O SergiAustraliaElwin Sharvill UNQUALIFIED
Maria E DoeAustraliaElwin Sharvill UNQUALIFIED
Darci L MaletArgentinaAnna Fali UNQUALIFIED
Sinclair U KolmetzUnited KingdomOnyama Limba NEW
Leon H ShinkoArgentinaOnyama Limba PROPOSAL
Ashley D WhobreyGermanyAsiya Javayant RENEWAL
Jones B VocelkaCanadaBernardo Dominic PROPOSAL
Octavia V KolmetzFranceBernardo Dominic PROPOSAL
Leon G GlickSpainAnna Fali NEGOTIATION
Costa R SergiAustraliaBernardo Dominic UNQUALIFIED
Silvio H SlusarskiItalyIvan Magalhaes RENEWAL
David A NestleBrazilStephen Shaw NEW
Stacey X GillianGermanyOnyama Limba RENEWAL
Francesco F InouyeCanadaAsiya Javayant RENEWAL
Salvatore B RoysterUnited KingdomAnna Fali NEW
Adams S ShinkoRussiaOnyama Limba NEGOTIATION
Jefferson S RulapaughIndiaOnyama Limba NEGOTIATION
Arvin L GarufiRussiaStephen Shaw UNQUALIFIED
Salvatore L WaycottAustraliaIvan Magalhaes PROPOSAL
Antonio K NickaFranceElwin Sharvill PROPOSAL
Munro Z BologniaItalyIvan Magalhaes PROPOSAL
Aditya B RutaRussiaAnna Fali RENEWAL
Darci M IturbideIndiaOnyama Limba RENEWAL
Munro U InouyeArgentinaOnyama Limba QUALIFIED
Emily I SaylorsItalyBernardo Dominic PROPOSAL
Costa U FerenczSpainAnna Fali UNQUALIFIED
Alejandro U DarakjyBrazilBernardo Dominic UNQUALIFIED
Tony U TollnerSpainElwin Sharvill NEGOTIATION
Antonio I GarufiGermanyAmy Elsner NEW
Johnson D OldroydFranceOnyama Limba UNQUALIFIED
Cody F RoysterCanadaIoni Bowcher RENEWAL
Chavez D CaudyIndiaAnna Fali UNQUALIFIED
Jones W GarufiUnited KingdomStephen Shaw NEGOTIATION
Juan R VenereUnited KingdomXuxue Feng QUALIFIED
Arvin S AlbaresUnited KingdomXuxue Feng NEW
Morrow C SchemmerJapanOnyama Limba RENEWAL
Izzy A GauchoCanadaXuxue Feng QUALIFIED
Chavez J WhobreyAustraliaStephen Shaw NEGOTIATION
Leja C ButtArgentinaAsiya Javayant QUALIFIED

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