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
Octavia A CaudyFranceIoni Bowcher QUALIFIED
Emily M GarufiFranceElwin Sharvill RENEWAL
Emily D WaycottUnited KingdomAnna Fali PROPOSAL
Ivar A RulapaughArgentinaOnyama Limba NEW
Julie P OldroydJapanBernardo Dominic QUALIFIED
Leja F WieserCanadaAmy Elsner NEW
Jones C SlusarskiJapanAsiya Javayant UNQUALIFIED
Juan T OldroydBrazilStephen Shaw QUALIFIED
Ivar G StensethAustraliaIoni Bowcher PROPOSAL
Murillo F SchemmerBrazilStephen Shaw UNQUALIFIED
Wickens O ButtFranceAmy Elsner UNQUALIFIED
Mujtaba X OstroskyBrazilElwin Sharvill UNQUALIFIED
Mujtaba T WieserIndiaAnna Fali NEW
Maisha I BowleyGermanyAsiya Javayant UNQUALIFIED
Claire E ChuiRussiaXuxue Feng UNQUALIFIED
Juan O MarrierItalyOnyama Limba NEGOTIATION
Smith Q RimGermanyIvan Magalhaes PROPOSAL
Isabel U BologniaBrazilElwin Sharvill QUALIFIED
Isabel S PerinIndiaAnna Fali NEGOTIATION
Juan S KuskoItalyAsiya Javayant NEW
Wickens J PaprockiRussiaStephen Shaw UNQUALIFIED
Greenwood V InouyeSpainElwin Sharvill NEGOTIATION
Misaki S NestleJapanElwin Sharvill NEW
Mujtaba I SaylorsJapanBernardo Dominic NEGOTIATION
Darci A KuskoBrazilIvan Magalhaes NEW
Francesco V MaletBrazilAnna Fali NEGOTIATION
Darci J CampainBrazilElwin Sharvill PROPOSAL
Maria Z WieserArgentinaIvan Magalhaes PROPOSAL
Johnson O ButtJapanOnyama Limba NEW
Jeanfrancois M RimRussiaElwin Sharvill QUALIFIED
Maria L PerinSpainBernardo Dominic NEW
Octavia U NestleArgentinaXuxue Feng NEW
Faith H RulapaughCanadaXuxue Feng RENEWAL
Johnson S FlosiUnited KingdomStephen Shaw RENEWAL
Kaitlin A VocelkaCanadaBernardo Dominic PROPOSAL
Maisha A DarakjySpainAsiya Javayant QUALIFIED
Stacey H SergiArgentinaBernardo Dominic PROPOSAL
Faith V ChuiIndiaXuxue Feng UNQUALIFIED
Mayumi J DilliardUnited KingdomStephen Shaw PROPOSAL
Alejandro Y VenereGermanyAnna Fali NEW
Johnson G AlbaresFranceElwin Sharvill UNQUALIFIED
Aika M RutaBrazilAnna Fali RENEWAL
Aruna B BologniaSpainIoni Bowcher RENEWAL
Octavia K GauchoSpainBernardo Dominic PROPOSAL
Wickens O DilliardItalyIvan Magalhaes PROPOSAL
Arvin C ShinkoArgentinaIvan Magalhaes RENEWAL
Costa M PoquetteUnited KingdomAnna Fali RENEWAL
Silvio W DarakjyArgentinaAmy Elsner UNQUALIFIED
Jones O MorascaUnited KingdomStephen Shaw NEGOTIATION
Arvin W BriddickRussiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James A SlusarskiUnited KingdomIoni Bowcher NEW
Mujtaba S SchemmerBrazilOnyama Limba NEW
David D DilliardCanadaIoni Bowcher NEW
Stacey V BologniaGermanyAmy Elsner PROPOSAL
Cody J DoeRussiaIoni Bowcher QUALIFIED
Chavez R ButtIndiaIvan Magalhaes NEGOTIATION
Mujtaba S SaylorsIndiaAnna Fali UNQUALIFIED
Maria D GlickCanadaAmy Elsner PROPOSAL
Clifford O MaletCanadaStephen Shaw NEW
Francesco P NickaJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair U GauchoIndia2024-05-24Rousseaux, Michael Esq RENEWAL84Stephen Shaw
1001Greenwood R FigeroaGermany2024-06-10Chanay, Jeffrey A Esq RENEWAL38Xuxue Feng
1002Aika I FlosiBrazil2024-06-18Rousseaux, Michael Esq NEW0Asiya Javayant
1003Silvio Q SaylorsGermany2024-06-10Feltz Printing Service NEW48Anna Fali
1004Rodrigues K CaldareraArgentina2024-06-21Truhlar And Truhlar Attys PROPOSAL41Bernardo Dominic
1005Leon B CaldareraGermany2024-06-20Chanay, Jeffrey A Esq NEW66Amy Elsner
1006Kaitlin S MaletBrazil2024-06-09Chapman, Ross E Esq UNQUALIFIED30Ioni Bowcher
1007Maisha L VocelkaJapan2024-06-03Rangoni Of Florence NEW60Stephen Shaw
1008Faith C NestleBrazil2024-06-13Dorl, James J Esq NEGOTIATION14Anna Fali
1009Wickens X FollerAustralia2024-05-29Feltz Printing Service RENEWAL0Elwin Sharvill
1010Aika T DilliardUnited Kingdom2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED16Elwin Sharvill
1011Misaki W RimGermany2024-06-16Benton, John B Jr PROPOSAL95Amy Elsner
1012Kadeem F MaletJapan2024-05-30Commercial Press UNQUALIFIED94Amy Elsner
1013Tony I VocelkaFrance2024-06-19Chapman, Ross E Esq NEW7Stephen Shaw
1014Claire X GarufiJapan2024-06-11Chanay, Jeffrey A Esq RENEWAL27Ivan Magalhaes
1015Antonio Q GlickBrazil2024-05-29Chapman, Ross E Esq RENEWAL20Stephen Shaw
1016Arvin K KolmetzJapan2024-06-22Chapman, Ross E Esq PROPOSAL44Ioni Bowcher
1017Jennifer U VenereSpain2024-06-02Feiner Bros NEW22Asiya Javayant
1018Adams E TollnerArgentina2024-06-17Morlong Associates PROPOSAL32Elwin Sharvill
1019Morrow Z CampainJapan2024-06-07Benton, John B Jr UNQUALIFIED5Asiya Javayant
1020Maisha D RutaUnited Kingdom2024-06-16King, Christopher A Esq QUALIFIED64Bernardo Dominic
1021Greenwood V OldroydRussia2024-06-14Truhlar And Truhlar Attys NEW97Anna Fali
1022Murillo J CaudyJapan2024-05-29Morlong Associates QUALIFIED49Amy Elsner
1023Leon Z GauchoFrance2024-06-11Printing Dimensions PROPOSAL81Ivan Magalhaes
1024Misaki L OldroydBrazil2024-06-06Benton, John B Jr NEGOTIATION62Ioni Bowcher
1025Aditya W ChuiArgentina2024-05-24Chanay, Jeffrey A Esq PROPOSAL70Asiya Javayant
1026Rodrigues Y WaycottIndia2024-06-16Feltz Printing Service UNQUALIFIED56Bernardo Dominic
1027Emily Q CaudyIndia2024-06-11Feltz Printing Service PROPOSAL18Ivan Magalhaes
1028Leon P DoeArgentina2024-06-16Printing Dimensions PROPOSAL66Ioni Bowcher
1029Mujtaba B GillianBrazil2024-06-21Truhlar And Truhlar Attys NEGOTIATION8Bernardo Dominic
1030Maria L SergiItaly2024-06-22Chemel, James L Cpa NEGOTIATION19Elwin Sharvill
1031Nicolas U FollerUnited Kingdom2024-06-03Chapman, Ross E Esq NEW27Elwin Sharvill
1032Tony M StensethRussia2024-06-15King, Christopher A Esq PROPOSAL16Asiya Javayant
1033Aika G ShinkoGermany2024-05-24Feltz Printing Service QUALIFIED12Asiya Javayant
1034Ivar M FerenczJapan2024-05-28Dorl, James J Esq NEW41Xuxue Feng
1035James S BologniaUnited Kingdom2024-06-11Rangoni Of Florence RENEWAL78Ioni Bowcher
1036Ivar S GlickRussia2024-06-05Benton, John B Jr RENEWAL97Ioni Bowcher
1037Deepesh N WieserAustralia2024-06-03Truhlar And Truhlar Attys UNQUALIFIED48Onyama Limba
1038Maisha B MacleadUnited Kingdom2024-06-15Benton, John B Jr PROPOSAL68Ioni Bowcher
1039Jefferson N BologniaAustralia2024-06-03Feltz Printing Service QUALIFIED44Stephen Shaw
1040Chavez Y RulapaughCanada2024-05-30Chemel, James L Cpa NEGOTIATION41Xuxue Feng
1041Maisha Q BowleyUnited Kingdom2024-05-25Printing Dimensions NEGOTIATION20Stephen Shaw
1042Julie U StensethBrazil2024-06-10Chapman, Ross E Esq NEW99Bernardo Dominic
1043Arvin Q BologniaRussia2024-06-01Rousseaux, Michael Esq PROPOSAL6Xuxue Feng
1044Silvio Y BowleyCanada2024-06-19Feiner Bros PROPOSAL70Ivan Magalhaes
1045Julie T BriddickIndia2024-06-01Morlong Associates UNQUALIFIED68Bernardo Dominic
1046Arvin S VocelkaSpain2024-06-02Chemel, James L Cpa RENEWAL46Bernardo Dominic
1047Kadeem S BologniaSpain2024-06-11Rousseaux, Michael Esq NEGOTIATION40Amy Elsner
1048Deepesh W BowleyUnited Kingdom2024-06-21Commercial Press UNQUALIFIED72Anna Fali
1049Octavia R MaletIndia2024-05-24Chapman, Ross E Esq NEW35Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Costa U DarakjyIndiaAsiya Javayant QUALIFIED
Leon K SaylorsJapanAmy Elsner NEGOTIATION
Murillo E GarufiItalyStephen Shaw PROPOSAL
Maria L FollerCanadaBernardo Dominic RENEWAL
Misaki N DoeUnited KingdomXuxue Feng PROPOSAL
Deepesh D StockhamBrazilBernardo Dominic UNQUALIFIED
Morrow H SchemmerRussiaIoni Bowcher PROPOSAL
Smith P AlbaresItalyAsiya Javayant RENEWAL
Jeanfrancois U RoysterAustraliaBernardo Dominic QUALIFIED
Aruna V PaprockiIndiaIoni Bowcher RENEWAL
Octavia H FerenczSpainXuxue Feng PROPOSAL
Costa S MaletArgentinaIoni Bowcher RENEWAL
Wickens R GlickArgentinaAsiya Javayant QUALIFIED
Aditya N AlbaresBrazilAmy Elsner RENEWAL
Deepesh X WaycottGermanyAsiya Javayant RENEWAL
Jefferson F RulapaughSpainStephen Shaw PROPOSAL
Aika B BriddickRussiaBernardo Dominic NEGOTIATION
Aditya Z AmigonIndiaOnyama Limba NEGOTIATION
Isabel V StockhamRussiaIvan Magalhaes RENEWAL
Mayumi I VenereJapanIvan Magalhaes PROPOSAL
Murillo B FerenczJapanXuxue Feng QUALIFIED
Silvio K SlusarskiRussiaOnyama Limba RENEWAL
Julie Q RoysterJapanIvan Magalhaes QUALIFIED
Faith E InouyeBrazilIvan Magalhaes PROPOSAL
Murillo W FollerGermanyStephen Shaw NEW
Munro I RimRussiaAnna Fali UNQUALIFIED
Murillo M IturbideIndiaOnyama Limba PROPOSAL
Murillo K RulapaughSpainIvan Magalhaes NEW
Juan H FerenczBrazilXuxue Feng PROPOSAL
Jefferson B FollerArgentinaXuxue Feng QUALIFIED
Francesco Z BowleyFranceStephen Shaw RENEWAL
James R PaprockiAustraliaXuxue Feng PROPOSAL
Costa S BriddickFranceXuxue Feng NEW
Maisha I FigeroaAustraliaStephen Shaw RENEWAL
Julie X AlbaresIndiaIvan Magalhaes UNQUALIFIED
Rodrigues N DoeGermanyIvan Magalhaes UNQUALIFIED
Silvio P BriddickRussiaAmy Elsner NEW
Maisha J RulapaughBrazilAnna Fali PROPOSAL
Cody L NestleJapanAnna Fali NEGOTIATION
Silvio X GarufiFranceElwin Sharvill UNQUALIFIED
Munro Q DilliardBrazilIoni Bowcher NEW
Adams U FerenczItalyOnyama Limba QUALIFIED
Leon D MacleadFranceBernardo Dominic QUALIFIED
Aika D BowleyJapanIvan Magalhaes RENEWAL
Tony E OstroskyIndiaBernardo Dominic NEGOTIATION
Ashley W ShinkoCanadaAsiya Javayant PROPOSAL
Clifford R WaycottRussiaElwin Sharvill QUALIFIED
Alejandro O ShinkoIndiaOnyama Limba QUALIFIED
Stacey I PerinItalyBernardo Dominic NEW
Costa M CaudyBrazilIoni Bowcher RENEWAL
Frozen Columns
Name
Morrow Y Bolognia
Emily G Shinko
Jefferson Y Wieser
Kaitlin G Tollner
Smith H Dilliard
Julie V Campain
Aruna M Maclead
Jeanfrancois K Gillian
Alejandro O Whobrey
Octavia A Waycott
Isabel U Ferencz
James F Stenseth
Jones K Oldroyd
Octavia X Gillian
Aika U Malet
Isabel M Tollner
Smith W Poquette
David D Iturbide
Deepesh N Stenseth
Morrow E Briddick
Sinclair C Oldroyd
Costa N Stockham
Jeanfrancois A Doe
Tony Z Glick
Kaitlin E Malet
Alejandro H Gaucho
Mayumi L Wieser
Octavia S Darakjy
Ashley O Albares
James S Shinko
Smith U Royster
Faith Z Wieser
Mayumi Y Poquette
Francesco K Ferencz
Aditya X Doe
Jeanfrancois T Rulapaugh
Smith E Darakjy
Emily Y Gaucho
Leja X Gillian
Munro A Iturbide
Kaitlin J Ruta
Izzy T Figeroa
Maria O Campain
Kaitlin C Butt
Nicolas I Iturbide
Deepesh B Ferencz
Murillo Q Bowley
Juan O Gillian
Faith H Darakjy
Francesco O Campain
IdCountryDate
1000Japan2024-06-16
1001France2024-06-15
1002Canada2024-06-06
1003Japan2024-05-27
1004Germany2024-06-21
1005Australia2024-06-10
1006United Kingdom2024-06-15
1007Brazil2024-06-08
1008India2024-06-02
1009Russia2024-06-05
1010Canada2024-05-28
1011Japan2024-06-01
1012Australia2024-06-10
1013Brazil2024-06-15
1014Brazil2024-06-22
1015United Kingdom2024-06-22
1016France2024-05-27
1017Italy2024-06-05
1018Canada2024-06-12
1019Spain2024-05-26
1020Argentina2024-05-26
1021Germany2024-06-06
1022Japan2024-06-07
1023Germany2024-05-31
1024Spain2024-05-28
1025Japan2024-06-08
1026Russia2024-06-06
1027India2024-05-28
1028France2024-06-19
1029United Kingdom2024-06-11
1030India2024-06-02
1031France2024-06-01
1032United Kingdom2024-06-07
1033Japan2024-06-20
1034Australia2024-06-05
1035Argentina2024-05-25
1036Brazil2024-05-25
1037Australia2024-06-21
1038Germany2024-06-05
1039Canada2024-06-14
1040Australia2024-05-29
1041France2024-05-30
1042India2024-06-10
1043India2024-05-24
1044Japan2024-06-19
1045Japan2024-06-12
1046Spain2024-06-17
1047Germany2024-05-30
1048Germany2024-05-26
1049Russia2024-06-10

On-Demand Data

NameIdCountryDate
James D Figeroa1000Brazil2024-05-25
Arvin C Gillian1001Germany2024-06-20
Maisha G Amigon1002Japan2024-06-08
Stacey B Albares1003Spain2024-06-20
Greenwood S Garufi1004Australia2024-06-17
Antonio J Amigon1005United Kingdom2024-06-16
Adams K Briddick1006Germany2024-06-20
Misaki A Waycott1007Russia2024-06-17
Leja F Venere1008Russia2024-05-28
Julie Q Briddick1009France2024-05-29
Cody X Malet1010Australia2024-06-08
Deepesh R Dilliard1011United Kingdom2024-05-30
James W Kolmetz1012Germany2024-06-08
Smith O Rim1013United Kingdom2024-06-12
Ivar E Perin1014Australia2024-05-29
Rodrigues M Bowley1015Canada2024-06-03
Tony V Inouye1016Argentina2024-06-05
Isabel K Poquette1017Australia2024-06-19
Claire R Oldroyd1018United Kingdom2024-06-17
Emily O Bowley1019Canada2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin T MaletUnited KingdomBernardo Dominic RENEWAL
Misaki Q PoquetteItalyXuxue Feng NEGOTIATION
Stacey W DilliardJapanIvan Magalhaes PROPOSAL
Arvin B FerenczAustraliaStephen Shaw RENEWAL
Antonio Y CaudyFranceAnna Fali UNQUALIFIED
Misaki W WieserAustraliaElwin Sharvill PROPOSAL
David J WhobreyUnited KingdomAmy Elsner RENEWAL
Kaitlin L BologniaAustraliaIvan Magalhaes PROPOSAL
Juan Y VenereArgentinaAmy Elsner PROPOSAL
Jennifer B WhobreyFranceIvan Magalhaes NEGOTIATION
Salvatore P PaprockiAustraliaOnyama Limba RENEWAL
Isabel T FigeroaUnited KingdomIoni Bowcher QUALIFIED
Adams G ButtBrazilBernardo Dominic RENEWAL
Darci E NickaArgentinaAnna Fali UNQUALIFIED
Jefferson I GlickBrazilAnna Fali QUALIFIED
Deepesh F PerinGermanyBernardo Dominic PROPOSAL
Maria C DoeAustraliaIoni Bowcher NEW
Faith W DoeGermanyOnyama Limba UNQUALIFIED
Cody V RimItalyAnna Fali RENEWAL
Maisha H FlosiIndiaOnyama Limba PROPOSAL
Isabel C ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Clifford C KolmetzBrazilStephen Shaw NEW
Mayumi F NickaBrazilOnyama Limba RENEWAL
Silvio N BriddickUnited KingdomBernardo Dominic RENEWAL
Rodrigues D GarufiAustraliaOnyama Limba RENEWAL
Claire A RoysterBrazilIoni Bowcher RENEWAL
Claire H MorascaSpainAmy Elsner RENEWAL
Sinclair H VenereRussiaAnna Fali NEW
Nicolas G AlbaresSpainAmy Elsner RENEWAL
Isabel Z NestleSpainOnyama Limba NEW
Claire A FigeroaCanadaAmy Elsner PROPOSAL
Francesco W RutaRussiaAmy Elsner UNQUALIFIED
Salvatore Q DilliardSpainBernardo Dominic RENEWAL
Alejandro Y FollerFranceAnna Fali PROPOSAL
Leon F InouyeArgentinaAsiya Javayant PROPOSAL
Chavez B VenereJapanOnyama Limba RENEWAL
Ashley N OstroskyFranceAsiya Javayant PROPOSAL
Munro N DarakjyCanadaOnyama Limba UNQUALIFIED
Maisha R WhobreyRussiaElwin Sharvill NEGOTIATION
Aruna S GauchoItalyStephen Shaw 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>