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 H RimIndiaStephen Shaw QUALIFIED
Misaki G RoysterUnited KingdomAmy Elsner NEGOTIATION
Claire Z RutaSpainBernardo Dominic QUALIFIED
Chavez Z MarrierCanadaStephen Shaw NEGOTIATION
Emily V FlosiGermanyIvan Magalhaes QUALIFIED
Kadeem G MorascaItalyIoni Bowcher NEW
Aruna B KolmetzSpainBernardo Dominic UNQUALIFIED
Octavia X VenereItalyXuxue Feng RENEWAL
Arvin H DoeItalyAmy Elsner NEGOTIATION
Tony L RutaCanadaElwin Sharvill UNQUALIFIED
Claire B StockhamJapanIvan Magalhaes PROPOSAL
Emily C RulapaughJapanIoni Bowcher QUALIFIED
Murillo F FollerGermanyAsiya Javayant UNQUALIFIED
Darci R DarakjyAustraliaBernardo Dominic UNQUALIFIED
Juan L MorascaFranceXuxue Feng PROPOSAL
Faith M FerenczJapanBernardo Dominic NEGOTIATION
Maisha X IturbideArgentinaOnyama Limba NEGOTIATION
Mayumi B ChuiItalyAsiya Javayant NEW
Smith Q VocelkaRussiaXuxue Feng QUALIFIED
Johnson J WieserCanadaAnna Fali RENEWAL
Nicolas Y CaudyBrazilOnyama Limba NEGOTIATION
Stacey H StensethGermanyIoni Bowcher NEGOTIATION
Deepesh U PaprockiItalyIoni Bowcher NEW
Morrow G WhobreyIndiaIvan Magalhaes RENEWAL
Clifford J NickaSpainIoni Bowcher NEGOTIATION
Isabel X AmigonFranceStephen Shaw NEGOTIATION
Johnson C MacleadArgentinaXuxue Feng UNQUALIFIED
Kaitlin X GlickUnited KingdomOnyama Limba NEW
Jones P FerenczUnited KingdomAmy Elsner PROPOSAL
Darci M RimItalyIvan Magalhaes UNQUALIFIED
Wickens U InouyeCanadaStephen Shaw NEGOTIATION
Emily Q MorascaCanadaAsiya Javayant PROPOSAL
Johnson R PerinUnited KingdomXuxue Feng RENEWAL
Juan T InouyeSpainAmy Elsner QUALIFIED
Silvio F NestleBrazilIoni Bowcher PROPOSAL
Alejandro Q FollerBrazilBernardo Dominic NEW
Nicolas O GlickCanadaElwin Sharvill RENEWAL
Nicolas I RoysterAustraliaXuxue Feng NEW
Adams S ChuiSpainAmy Elsner UNQUALIFIED
Ashley M FlosiRussiaBernardo Dominic RENEWAL
Stacey W WieserGermanyElwin Sharvill QUALIFIED
Leon C InouyeFranceXuxue Feng NEGOTIATION
Mujtaba S FerenczFranceIoni Bowcher NEGOTIATION
Julie D NickaUnited KingdomOnyama Limba NEW
Ashley E DoeRussiaElwin Sharvill NEW
Salvatore L AlbaresArgentinaIvan Magalhaes PROPOSAL
Greenwood Q StockhamUnited KingdomIvan Magalhaes PROPOSAL
Chavez D RutaFranceOnyama Limba NEW
Jennifer D PoquetteCanadaStephen Shaw NEW
Clifford E GlickBrazilStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha U IturbideArgentinaXuxue Feng NEW
Emily E AmigonGermanyAmy Elsner NEGOTIATION
Juan G GlickAustraliaAsiya Javayant RENEWAL
Tony S RoysterArgentinaStephen Shaw NEGOTIATION
Leon B OstroskyAustraliaIoni Bowcher QUALIFIED
Adams L StockhamCanadaBernardo Dominic NEW
Misaki W CaldareraIndiaOnyama Limba QUALIFIED
Izzy P SergiSpainXuxue Feng QUALIFIED
Misaki A RutaArgentinaStephen Shaw QUALIFIED
Leon C InouyeCanadaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David W SlusarskiCanada2024-06-10Rangoni Of Florence RENEWAL45Elwin Sharvill
1001Octavia C BologniaItaly2024-06-12Printing Dimensions QUALIFIED39Asiya Javayant
1002Aditya X AlbaresBrazil2024-06-18Rangoni Of Florence UNQUALIFIED81Elwin Sharvill
1003Costa I ChuiSpain2024-05-24Printing Dimensions NEGOTIATION86Onyama Limba
1004Jennifer B PaprockiCanada2024-05-26Commercial Press PROPOSAL26Ioni Bowcher
1005Murillo X OstroskyJapan2024-06-04Rousseaux, Michael Esq QUALIFIED38Stephen Shaw
1006Ricardo W WhobreyUnited Kingdom2024-06-14Truhlar And Truhlar Attys UNQUALIFIED36Xuxue Feng
1007Silvio U KolmetzCanada2024-06-17Buckley Miller Wright QUALIFIED86Ivan Magalhaes
1008Leja K GarufiIndia2024-05-21Truhlar And Truhlar Attys QUALIFIED54Amy Elsner
1009Ricardo P BriddickBrazil2024-06-02Chapman, Ross E Esq NEW43Onyama Limba
1010Arvin W KuskoGermany2024-06-10Feiner Bros PROPOSAL81Onyama Limba
1011Rodrigues K SchemmerIndia2024-06-16Printing Dimensions UNQUALIFIED54Anna Fali
1012Ashley E SergiSpain2024-05-25Chanay, Jeffrey A Esq NEW57Asiya Javayant
1013Arvin K BologniaAustralia2024-05-20Chemel, James L Cpa QUALIFIED63Asiya Javayant
1014Aditya Z RulapaughFrance2024-05-21Printing Dimensions RENEWAL22Ivan Magalhaes
1015Clifford W OldroydCanada2024-05-29Feiner Bros NEGOTIATION52Amy Elsner
1016Aruna J MarrierFrance2024-05-27Chemel, James L Cpa NEW99Ivan Magalhaes
1017Darci S CaldareraGermany2024-06-14Rousseaux, Michael Esq UNQUALIFIED57Elwin Sharvill
1018Faith L KolmetzArgentina2024-06-11Commercial Press PROPOSAL14Elwin Sharvill
1019Ricardo W SergiRussia2024-05-26Printing Dimensions PROPOSAL92Onyama Limba
1020Smith S WhobreyBrazil2024-05-20Chanay, Jeffrey A Esq NEW93Stephen Shaw
1021Jeanfrancois H RutaRussia2024-06-10Morlong Associates NEW47Asiya Javayant
1022Izzy Y StockhamFrance2024-06-14Chemel, James L Cpa RENEWAL64Xuxue Feng
1023Morrow C DarakjySpain2024-05-25Benton, John B Jr QUALIFIED88Ivan Magalhaes
1024Costa P VenereUnited Kingdom2024-06-02King, Christopher A Esq PROPOSAL15Onyama Limba
1025Aditya R IturbideUnited Kingdom2024-05-31Commercial Press RENEWAL24Onyama Limba
1026Alejandro I SlusarskiBrazil2024-06-16Feiner Bros UNQUALIFIED1Ivan Magalhaes
1027Francesco J MarrierItaly2024-06-12Dorl, James J Esq UNQUALIFIED17Xuxue Feng
1028James E FollerArgentina2024-06-03Chemel, James L Cpa UNQUALIFIED57Ivan Magalhaes
1029Adams Z VocelkaAustralia2024-06-03Feltz Printing Service PROPOSAL15Asiya Javayant
1030Emily O SchemmerGermany2024-05-20Chapman, Ross E Esq NEW45Xuxue Feng
1031Mujtaba N WieserCanada2024-06-11Benton, John B Jr NEW47Xuxue Feng
1032Wickens G DilliardBrazil2024-06-09Rousseaux, Michael Esq NEW60Amy Elsner
1033David B CaudyIndia2024-06-09King, Christopher A Esq QUALIFIED96Ivan Magalhaes
1034Francesco C IturbideRussia2024-06-08Benton, John B Jr NEW38Xuxue Feng
1035Julie B SlusarskiUnited Kingdom2024-05-24Chanay, Jeffrey A Esq RENEWAL69Anna Fali
1036Juan N AlbaresAustralia2024-06-17Morlong Associates NEW68Ioni Bowcher
1037Maisha S DilliardArgentina2024-06-13Printing Dimensions QUALIFIED37Ivan Magalhaes
1038Ricardo Z CaudyJapan2024-05-28Chapman, Ross E Esq QUALIFIED42Bernardo Dominic
1039Misaki J GauchoCanada2024-06-17Chapman, Ross E Esq PROPOSAL23Xuxue Feng
1040Antonio Y IturbideSpain2024-05-27Morlong Associates RENEWAL39Amy Elsner
1041Ashley I FollerFrance2024-06-12Commercial Press NEW46Amy Elsner
1042Sinclair C WaycottIndia2024-06-07Buckley Miller Wright PROPOSAL86Onyama Limba
1043Salvatore O VocelkaCanada2024-06-02Truhlar And Truhlar Attys NEGOTIATION40Anna Fali
1044Murillo P NestleUnited Kingdom2024-06-13Feiner Bros NEGOTIATION61Onyama Limba
1045Nicolas Q MaletUnited Kingdom2024-05-23Commercial Press NEGOTIATION42Bernardo Dominic
1046Rodrigues V InouyeCanada2024-06-10Chanay, Jeffrey A Esq PROPOSAL40Amy Elsner
1047Costa E AmigonItaly2024-05-23Rangoni Of Florence QUALIFIED6Stephen Shaw
1048Salvatore Q BriddickIndia2024-06-07Feiner Bros NEW86Onyama Limba
1049Murillo S GillianUnited Kingdom2024-06-14Benton, John B Jr NEW69Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Octavia G GlickIndiaIvan Magalhaes QUALIFIED
Johnson G FlosiItalyAmy Elsner RENEWAL
Mujtaba C MarrierItalyXuxue Feng QUALIFIED
Antonio C PerinJapanAsiya Javayant UNQUALIFIED
Aika W GlickGermanyAnna Fali PROPOSAL
Silvio Q NestleGermanyElwin Sharvill UNQUALIFIED
Aruna W AlbaresAustraliaStephen Shaw NEW
Emily Z WaycottArgentinaIoni Bowcher RENEWAL
Alejandro B StensethAustraliaBernardo Dominic UNQUALIFIED
Deepesh P OstroskyRussiaIoni Bowcher UNQUALIFIED
Morrow W KolmetzBrazilAsiya Javayant NEW
Darci J CaudyCanadaAmy Elsner PROPOSAL
Cody C MaletBrazilAmy Elsner RENEWAL
Julie J OldroydArgentinaElwin Sharvill UNQUALIFIED
Alejandro Y MaletCanadaXuxue Feng UNQUALIFIED
Antonio S SergiCanadaIvan Magalhaes NEW
Alejandro I WaycottAustraliaAmy Elsner NEGOTIATION
Leja V VenereFranceBernardo Dominic PROPOSAL
Maria R OldroydRussiaAnna Fali QUALIFIED
Jones G InouyeAustraliaXuxue Feng QUALIFIED
James W SaylorsCanadaXuxue Feng UNQUALIFIED
Salvatore I KolmetzRussiaAmy Elsner PROPOSAL
Stacey S AlbaresFranceIvan Magalhaes NEW
Mayumi D DilliardGermanyStephen Shaw RENEWAL
Ivar E SchemmerSpainBernardo Dominic QUALIFIED
James L BologniaFranceXuxue Feng QUALIFIED
Mujtaba R FerenczFranceXuxue Feng NEGOTIATION
Clifford W GlickItalyElwin Sharvill NEGOTIATION
Maria M FerenczArgentinaElwin Sharvill RENEWAL
Leon D PerinIndiaXuxue Feng QUALIFIED
Francesco W CaldareraRussiaOnyama Limba NEGOTIATION
Adams F AmigonBrazilIvan Magalhaes QUALIFIED
Julie E WhobreyIndiaOnyama Limba UNQUALIFIED
Aika K StensethBrazilAnna Fali QUALIFIED
Faith K PaprockiCanadaAnna Fali PROPOSAL
Johnson B FigeroaSpainXuxue Feng PROPOSAL
Claire F FollerJapanBernardo Dominic RENEWAL
Ashley B VenereItalyAmy Elsner NEW
Antonio Z CaldareraItalyOnyama Limba NEGOTIATION
Ashley G FigeroaSpainXuxue Feng NEW
Morrow Z OstroskyRussiaElwin Sharvill QUALIFIED
Murillo R FigeroaJapanIvan Magalhaes NEGOTIATION
Jeanfrancois M MaletGermanyOnyama Limba NEW
Nicolas J TollnerRussiaAnna Fali RENEWAL
Juan E WaycottJapanIvan Magalhaes NEW
Julie L ShinkoRussiaAnna Fali NEW
Alejandro U RimRussiaAsiya Javayant UNQUALIFIED
Mayumi B GlickItalyXuxue Feng UNQUALIFIED
Cody L DilliardItalyBernardo Dominic NEGOTIATION
Cody N VenereSpainAnna Fali NEW
Frozen Columns
Name
Smith J Poquette
James Z Stenseth
Francesco L Ruta
Wickens R Rim
Nicolas U Stockham
Jefferson C Vocelka
Darci G Gaucho
Ivar C Wieser
Izzy D Nestle
Arvin F Gillian
Wickens W Maclead
Maria H Rim
Jennifer P Chui
Maisha N Rulapaugh
Rodrigues W Waycott
Johnson F Whobrey
Aruna M Chui
Leja A Darakjy
Wickens O Foller
Octavia O Nicka
Maisha G Nicka
Aruna Q Doe
Salvatore H Kusko
Francesco F Stenseth
Kadeem X Darakjy
James H Nestle
Greenwood R Inouye
Munro Q Saylors
Claire Q Briddick
Kaitlin C Glick
Jefferson I Ferencz
Faith Z Gaucho
Antonio W Caldarera
Maisha K Inouye
Nicolas C Gaucho
Misaki W Doe
Tony T Ruta
Morrow G Chui
Aditya K Schemmer
Aruna L Slusarski
Arvin B Darakjy
Sinclair K Doe
Adams E Caldarera
Izzy T Waycott
Costa L Gaucho
Faith C Kolmetz
Isabel C Shinko
Deepesh B Slusarski
Stacey H Stockham
Emily S Slusarski
IdCountryDate
1000France2024-05-27
1001Germany2024-06-06
1002Brazil2024-05-23
1003Canada2024-06-06
1004Brazil2024-06-04
1005France2024-06-02
1006Germany2024-05-21
1007Spain2024-06-02
1008Spain2024-05-31
1009Russia2024-06-05
1010Germany2024-05-23
1011France2024-06-10
1012Brazil2024-06-03
1013Italy2024-06-08
1014Germany2024-06-04
1015Spain2024-05-25
1016Italy2024-06-14
1017India2024-05-20
1018Australia2024-06-01
1019Australia2024-06-18
1020Japan2024-05-29
1021Italy2024-06-01
1022France2024-06-03
1023Canada2024-06-14
1024France2024-06-17
1025Russia2024-06-17
1026Australia2024-05-30
1027Germany2024-06-14
1028Japan2024-06-04
1029Canada2024-06-17
1030United Kingdom2024-05-31
1031Argentina2024-05-28
1032Brazil2024-05-26
1033Russia2024-06-08
1034United Kingdom2024-06-09
1035France2024-06-09
1036Argentina2024-06-11
1037India2024-05-20
1038Russia2024-06-09
1039Australia2024-05-24
1040Japan2024-06-02
1041Spain2024-05-27
1042Spain2024-06-12
1043Canada2024-06-05
1044Brazil2024-06-14
1045United Kingdom2024-06-11
1046Australia2024-06-04
1047Brazil2024-05-23
1048India2024-05-22
1049Argentina2024-06-15

On-Demand Data

NameIdCountryDate
Johnson U Briddick1000Japan2024-06-18
James M Ostrosky1001India2024-06-08
Ashley W Iturbide1002Russia2024-06-01
Ricardo K Malet1003Spain2024-06-12
Smith D Paprocki1004Japan2024-06-08
Isabel B Ruta1005Italy2024-06-03
Mayumi Z Rim1006India2024-05-25
Munro P Caldarera1007Germany2024-06-04
Izzy O Slusarski1008France2024-05-30
Ricardo U Nestle1009Russia2024-06-03
James T Nestle1010Germany2024-06-05
Cody C Gaucho1011Australia2024-06-10
Ricardo T Shinko1012Argentina2024-06-03
Deepesh Y Doe1013India2024-06-17
Isabel J Malet1014Germany2024-06-05
David D Oldroyd1015Argentina2024-06-17
Adams X Glick1016Canada2024-06-15
Maisha S Shinko1017Russia2024-06-15
Octavia M Maclead1018Spain2024-05-21
Darci F Glick1019Italy2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith Y AlbaresRussiaIoni Bowcher UNQUALIFIED
Faith K MacleadCanadaXuxue Feng NEW
Maisha D DilliardBrazilElwin Sharvill QUALIFIED
Morrow F FollerSpainAnna Fali RENEWAL
Ivar H SchemmerIndiaIoni Bowcher PROPOSAL
Sinclair F InouyeGermanyOnyama Limba NEGOTIATION
Jeanfrancois X FigeroaGermanyAnna Fali UNQUALIFIED
David E CampainBrazilXuxue Feng RENEWAL
Jones I CaldareraBrazilStephen Shaw NEGOTIATION
Deepesh Z BologniaAustraliaIvan Magalhaes QUALIFIED
Antonio G BriddickArgentinaOnyama Limba QUALIFIED
Jefferson M FlosiBrazilElwin Sharvill QUALIFIED
Aditya K WhobreySpainStephen Shaw QUALIFIED
Morrow Y VocelkaArgentinaStephen Shaw PROPOSAL
Adams V StockhamFranceXuxue Feng QUALIFIED
Jones N PoquetteAustraliaOnyama Limba NEGOTIATION
Mujtaba V GarufiIndiaIoni Bowcher RENEWAL
Julie Q SaylorsGermanyXuxue Feng UNQUALIFIED
Mayumi N PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Arvin L RoysterUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba J RutaArgentinaAsiya Javayant UNQUALIFIED
Octavia L CaudyIndiaIvan Magalhaes NEW
Maisha P BowleyUnited KingdomAsiya Javayant RENEWAL
Munro Y DoeRussiaIvan Magalhaes NEW
Alejandro B ButtArgentinaAsiya Javayant QUALIFIED
Jeanfrancois J CaldareraFranceBernardo Dominic NEW
Deepesh O FollerSpainIoni Bowcher NEW
Stacey D OstroskySpainXuxue Feng NEGOTIATION
Arvin I KolmetzRussiaAmy Elsner UNQUALIFIED
Aditya K PaprockiFranceAmy Elsner PROPOSAL
Tony R SchemmerIndiaAmy Elsner NEW
Murillo X RimArgentinaAsiya Javayant NEW
Adams I MarrierUnited KingdomAnna Fali NEGOTIATION
Costa U OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Julie D PerinFranceElwin Sharvill RENEWAL
Antonio N RutaIndiaBernardo Dominic PROPOSAL
Tony T DoeAustraliaAmy Elsner NEW
Tony E SlusarskiArgentinaOnyama Limba QUALIFIED
Jefferson F MarrierRussiaElwin Sharvill NEGOTIATION
Aditya Y SlusarskiRussiaXuxue Feng 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>