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
Nicolas K SchemmerAustraliaIoni Bowcher PROPOSAL
Costa G WaycottBrazilAnna Fali RENEWAL
Darci X WhobreyGermanyStephen Shaw NEGOTIATION
Wickens S InouyeItalyAnna Fali UNQUALIFIED
James K RimBrazilAsiya Javayant NEGOTIATION
Maria Y MaletArgentinaBernardo Dominic NEW
Aditya A RutaBrazilIoni Bowcher NEGOTIATION
Costa S InouyeIndiaIoni Bowcher RENEWAL
Aditya N MaletItalyBernardo Dominic NEW
Tony A NickaRussiaAnna Fali UNQUALIFIED
Ricardo S FerenczGermanyStephen Shaw RENEWAL
Leja A WhobreyRussiaElwin Sharvill NEW
Jeanfrancois C SergiUnited KingdomIoni Bowcher QUALIFIED
Izzy R SaylorsSpainIoni Bowcher RENEWAL
Juan B MarrierBrazilAsiya Javayant NEGOTIATION
Kadeem P DoeItalyOnyama Limba RENEWAL
Arvin E BriddickRussiaIvan Magalhaes PROPOSAL
Kadeem F BriddickArgentinaStephen Shaw NEGOTIATION
Darci T NestleAustraliaAmy Elsner RENEWAL
Darci O CaudyCanadaIoni Bowcher PROPOSAL
Costa N MarrierAustraliaBernardo Dominic UNQUALIFIED
Cody G VocelkaGermanyElwin Sharvill NEW
Munro S CaudySpainIvan Magalhaes QUALIFIED
Tony S FigeroaUnited KingdomAmy Elsner PROPOSAL
Ivar W VocelkaRussiaStephen Shaw NEGOTIATION
Faith U FollerAustraliaIvan Magalhaes RENEWAL
Wickens P WieserCanadaAmy Elsner PROPOSAL
Claire U DarakjyFranceOnyama Limba NEW
Octavia B GlickItalyAnna Fali RENEWAL
Francesco J RutaCanadaAsiya Javayant NEW
Ivar D RoysterFranceAnna Fali NEW
Adams C StensethSpainOnyama Limba PROPOSAL
Aika F MacleadCanadaOnyama Limba NEW
Juan N WaycottAustraliaOnyama Limba RENEWAL
Leon H DilliardFranceAsiya Javayant NEGOTIATION
Costa B MacleadUnited KingdomAsiya Javayant NEW
Ashley K CampainBrazilAnna Fali NEW
Aika V ShinkoItalyIoni Bowcher UNQUALIFIED
Ashley M CampainIndiaAmy Elsner RENEWAL
Tony B FollerBrazilElwin Sharvill UNQUALIFIED
Tony P SergiAustraliaXuxue Feng QUALIFIED
Mujtaba N SlusarskiArgentinaStephen Shaw RENEWAL
Greenwood F RulapaughGermanyXuxue Feng RENEWAL
Aditya F InouyeJapanBernardo Dominic PROPOSAL
Julie M BowleyIndiaStephen Shaw UNQUALIFIED
Silvio W RutaArgentinaAmy Elsner UNQUALIFIED
Juan N FollerJapanIvan Magalhaes NEGOTIATION
Johnson W FigeroaFranceBernardo Dominic QUALIFIED
Deepesh A PerinItalyOnyama Limba PROPOSAL
Kadeem Y MacleadItalyIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio K SchemmerUnited KingdomXuxue Feng RENEWAL
Juan V KolmetzRussiaStephen Shaw PROPOSAL
Costa X MaletItalyIvan Magalhaes RENEWAL
Antonio N KuskoSpainAmy Elsner RENEWAL
Ivar I BriddickFranceIvan Magalhaes NEGOTIATION
Sinclair V OldroydGermanyAnna Fali NEGOTIATION
Nicolas R StockhamRussiaBernardo Dominic RENEWAL
Sinclair E BriddickArgentinaXuxue Feng NEGOTIATION
Isabel R WieserBrazilAnna Fali QUALIFIED
Rodrigues J CampainFranceStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams H CampainAustralia2024-06-03Buckley Miller Wright UNQUALIFIED92Xuxue Feng
1001Wickens L ShinkoGermany2024-06-09Dorl, James J Esq NEGOTIATION44Onyama Limba
1002Mujtaba C BowleyRussia2024-05-23Feiner Bros NEGOTIATION63Stephen Shaw
1003Sinclair B DilliardIndia2024-06-17Morlong Associates PROPOSAL19Onyama Limba
1004Isabel D KuskoGermany2024-06-08Dorl, James J Esq RENEWAL15Xuxue Feng
1005Nicolas A CampainRussia2024-06-13Commercial Press QUALIFIED80Xuxue Feng
1006Aditya X CaldareraUnited Kingdom2024-06-01Commercial Press NEW82Bernardo Dominic
1007Silvio U SergiItaly2024-06-17Morlong Associates UNQUALIFIED44Asiya Javayant
1008Leon N DoeJapan2024-06-12Benton, John B Jr UNQUALIFIED55Xuxue Feng
1009Cody A GauchoFrance2024-05-30King, Christopher A Esq RENEWAL55Stephen Shaw
1010Morrow B VenereIndia2024-06-15Benton, John B Jr NEW85Ivan Magalhaes
1011Adams R IturbideUnited Kingdom2024-06-13Buckley Miller Wright RENEWAL69Asiya Javayant
1012Chavez N MaletSpain2024-05-26Rangoni Of Florence NEW35Asiya Javayant
1013Izzy T OldroydItaly2024-06-19Dorl, James J Esq UNQUALIFIED19Elwin Sharvill
1014Clifford X GarufiCanada2024-05-24Dorl, James J Esq QUALIFIED86Elwin Sharvill
1015Murillo E FollerBrazil2024-05-26Rangoni Of Florence UNQUALIFIED28Elwin Sharvill
1016Jennifer A SchemmerIndia2024-06-06Chanay, Jeffrey A Esq NEW85Anna Fali
1017Jennifer B CaldareraRussia2024-06-09Rangoni Of Florence UNQUALIFIED82Amy Elsner
1018Claire H MaletGermany2024-06-18Rousseaux, Michael Esq NEGOTIATION89Amy Elsner
1019Alejandro G MorascaUnited Kingdom2024-06-09Chemel, James L Cpa PROPOSAL67Stephen Shaw
1020Juan W SergiBrazil2024-05-27Chanay, Jeffrey A Esq PROPOSAL51Amy Elsner
1021Aruna X CaudyAustralia2024-06-20Commercial Press UNQUALIFIED68Xuxue Feng
1022Clifford T GauchoItaly2024-06-02Rangoni Of Florence QUALIFIED7Xuxue Feng
1023Emily S DoeRussia2024-06-11Buckley Miller Wright NEW44Elwin Sharvill
1024Jefferson B OldroydArgentina2024-06-21King, Christopher A Esq RENEWAL11Elwin Sharvill
1025Izzy S MorascaSpain2024-05-23Feiner Bros QUALIFIED31Bernardo Dominic
1026Jennifer V AmigonCanada2024-06-06Truhlar And Truhlar Attys NEW31Stephen Shaw
1027Morrow O FollerGermany2024-06-11Morlong Associates RENEWAL2Bernardo Dominic
1028Misaki W TollnerUnited Kingdom2024-06-11Printing Dimensions QUALIFIED1Xuxue Feng
1029Leja M NestleGermany2024-06-08Feiner Bros UNQUALIFIED71Xuxue Feng
1030Jefferson J MorascaRussia2024-05-25Benton, John B Jr NEW77Amy Elsner
1031Smith U PaprockiFrance2024-05-30Feiner Bros RENEWAL21Onyama Limba
1032Aruna F RulapaughGermany2024-06-03Buckley Miller Wright NEGOTIATION91Bernardo Dominic
1033Maria L CaldareraBrazil2024-06-19Buckley Miller Wright NEGOTIATION76Ivan Magalhaes
1034Ivar R RutaGermany2024-06-03Rangoni Of Florence PROPOSAL62Bernardo Dominic
1035Julie W IturbideJapan2024-06-21Morlong Associates QUALIFIED42Bernardo Dominic
1036Cody Q SlusarskiSpain2024-06-10Feiner Bros RENEWAL47Onyama Limba
1037Silvio M SergiUnited Kingdom2024-06-07Benton, John B Jr RENEWAL13Anna Fali
1038Murillo W BowleyCanada2024-06-06Rangoni Of Florence UNQUALIFIED88Ivan Magalhaes
1039Smith N MacleadJapan2024-06-16Feltz Printing Service PROPOSAL5Onyama Limba
1040Jefferson X InouyeAustralia2024-06-06Buckley Miller Wright NEW33Ivan Magalhaes
1041Izzy S GillianFrance2024-06-08Feiner Bros RENEWAL45Onyama Limba
1042Jefferson I WieserJapan2024-06-11Morlong Associates NEGOTIATION5Xuxue Feng
1043Nicolas X MaletIndia2024-05-29Chemel, James L Cpa QUALIFIED9Ioni Bowcher
1044Clifford L GauchoAustralia2024-06-11Buckley Miller Wright RENEWAL85Stephen Shaw
1045Julie Y SaylorsArgentina2024-05-30Chemel, James L Cpa NEW91Anna Fali
1046Jones Y GlickIndia2024-05-31Benton, John B Jr RENEWAL73Xuxue Feng
1047Aditya P SaylorsItaly2024-06-12Morlong Associates PROPOSAL78Ivan Magalhaes
1048Antonio N SlusarskiSpain2024-05-28Commercial Press PROPOSAL40Elwin Sharvill
1049Julie X MacleadCanada2024-06-02Feltz Printing Service NEW79Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Wickens E GarufiFranceAmy Elsner PROPOSAL
Munro O StensethGermanyXuxue Feng RENEWAL
Maria I SaylorsAustraliaStephen Shaw PROPOSAL
Murillo R GarufiAustraliaAsiya Javayant QUALIFIED
Misaki A AmigonFranceAsiya Javayant PROPOSAL
Adams E OstroskyItalyAnna Fali NEW
Octavia S GlickRussiaXuxue Feng PROPOSAL
Stacey Y CaldareraArgentinaAsiya Javayant NEGOTIATION
Juan I SchemmerRussiaStephen Shaw NEGOTIATION
Maria M DilliardCanadaBernardo Dominic NEGOTIATION
Johnson I BriddickCanadaAnna Fali UNQUALIFIED
Ivar C ShinkoAustraliaAnna Fali QUALIFIED
Clifford N WhobreyJapanIvan Magalhaes NEW
Jeanfrancois S TollnerUnited KingdomIvan Magalhaes RENEWAL
Ivar G NestleAustraliaIvan Magalhaes RENEWAL
Nicolas U NickaFranceIvan Magalhaes NEGOTIATION
Costa U KolmetzCanadaOnyama Limba NEW
Julie Z WieserBrazilOnyama Limba NEGOTIATION
Morrow D NestleAustraliaAsiya Javayant NEW
Jennifer Q FerenczFranceIvan Magalhaes QUALIFIED
Aditya S TollnerArgentinaXuxue Feng PROPOSAL
Nicolas H MaletItalyIoni Bowcher NEW
David X BologniaSpainBernardo Dominic NEGOTIATION
Octavia Y RutaFranceIvan Magalhaes RENEWAL
Leon B CampainItalyElwin Sharvill QUALIFIED
Deepesh P InouyeGermanyIvan Magalhaes RENEWAL
Maria R RutaCanadaAnna Fali NEW
Ricardo W OstroskyAustraliaAnna Fali QUALIFIED
Morrow K MorascaFranceAsiya Javayant PROPOSAL
David K MarrierItalyAnna Fali RENEWAL
Mujtaba V KuskoAustraliaAsiya Javayant NEW
Julie H DoeSpainElwin Sharvill NEGOTIATION
Octavia L NickaCanadaXuxue Feng PROPOSAL
Maisha Q TollnerRussiaOnyama Limba RENEWAL
Rodrigues F PerinJapanAnna Fali QUALIFIED
Alejandro R NestleArgentinaElwin Sharvill QUALIFIED
Claire Z VenereSpainAmy Elsner NEGOTIATION
Julie G PaprockiJapanXuxue Feng UNQUALIFIED
Salvatore Z NestleSpainBernardo Dominic UNQUALIFIED
Octavia J NestleJapanAnna Fali PROPOSAL
Cody C MorascaCanadaAmy Elsner PROPOSAL
Johnson Y StensethSpainIoni Bowcher RENEWAL
Costa Q BriddickCanadaOnyama Limba PROPOSAL
Julie H TollnerFranceXuxue Feng UNQUALIFIED
Smith I VenereCanadaAmy Elsner NEW
Morrow R MorascaFranceIoni Bowcher PROPOSAL
Sinclair O MarrierGermanyAsiya Javayant UNQUALIFIED
Costa R PaprockiRussiaAnna Fali NEW
Darci F CaldareraIndiaXuxue Feng RENEWAL
Jefferson W PerinItalyBernardo Dominic QUALIFIED
Frozen Columns
Name
Munro A Sergi
Morrow N Amigon
Leon B Vocelka
Maria L Campain
Costa W Bowley
Aruna W Bolognia
Mujtaba S Flosi
Misaki E Malet
Munro D Nestle
Jefferson N Albares
Misaki H Malet
Claire Y Chui
Octavia H Slusarski
Nicolas S Marrier
Nicolas P Morasca
Wickens E Ruta
Jones M Morasca
Silvio M Butt
Adams R Ferencz
Izzy W Royster
Jones A Darakjy
Cody P Royster
Sinclair B Ferencz
Emily H Malet
Juan C Campain
Jeanfrancois U Paprocki
Mujtaba G Nestle
Emily W Caudy
David R Caldarera
Emily Y Whobrey
Antonio E Stockham
Leon D Maclead
David B Malet
Ricardo Q Dilliard
Johnson Y Ruta
Kaitlin D Whobrey
Rodrigues U Stockham
Jones U Inouye
Misaki L Darakjy
Faith S Malet
Stacey K Waycott
Alejandro V Saylors
Salvatore Q Ostrosky
Nicolas W Kusko
Maria S Stenseth
Deepesh T Bowley
Tony R Foller
Antonio D Morasca
Aditya E Ostrosky
Kaitlin Z Bowley
IdCountryDate
1000Australia2024-06-14
1001France2024-05-25
1002United Kingdom2024-06-21
1003France2024-06-20
1004France2024-05-31
1005Russia2024-06-20
1006United Kingdom2024-05-27
1007France2024-06-04
1008Spain2024-06-01
1009Brazil2024-05-25
1010India2024-05-24
1011Germany2024-06-19
1012Russia2024-06-01
1013Japan2024-06-17
1014France2024-05-24
1015Japan2024-06-13
1016Russia2024-05-29
1017Germany2024-05-28
1018Canada2024-06-16
1019United Kingdom2024-06-10
1020Russia2024-06-19
1021Australia2024-05-27
1022Spain2024-06-09
1023Brazil2024-06-05
1024Japan2024-06-05
1025Brazil2024-06-12
1026Germany2024-05-26
1027India2024-05-24
1028Canada2024-06-11
1029Australia2024-06-20
1030Italy2024-06-20
1031Australia2024-05-23
1032Australia2024-06-19
1033France2024-06-01
1034Germany2024-06-19
1035Spain2024-06-03
1036Russia2024-06-02
1037Australia2024-06-10
1038France2024-06-01
1039Italy2024-06-16
1040Japan2024-06-02
1041Russia2024-06-07
1042Russia2024-06-16
1043Australia2024-06-12
1044Italy2024-06-09
1045United Kingdom2024-06-09
1046Australia2024-05-25
1047Australia2024-05-27
1048Argentina2024-06-15
1049United Kingdom2024-06-16

On-Demand Data

NameIdCountryDate
Nicolas H Shinko1000Japan2024-05-30
Tony F Butt1001United Kingdom2024-06-08
Cody D Venere1002India2024-05-30
Emily C Caldarera1003Brazil2024-06-02
Alejandro N Amigon1004Canada2024-05-27
Julie I Nestle1005Italy2024-06-05
Kaitlin P Maclead1006Australia2024-06-18
Mayumi N Maclead1007Japan2024-05-31
Leon V Schemmer1008United Kingdom2024-06-01
Claire O Maclead1009Brazil2024-06-17
Ivar T Vocelka1010Spain2024-06-21
Sinclair F Butt1011France2024-06-12
Aika J Albares1012Brazil2024-06-07
Aika H Stockham1013India2024-06-04
Ivar A Briddick1014Germany2024-06-01
Clifford T Vocelka1015Russia2024-06-21
Morrow Y Kusko1016France2024-05-30
Adams H Butt1017Spain2024-05-28
Jefferson U Malet1018Germany2024-06-05
Julie P Waycott1019Argentina2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Q AmigonBrazilAsiya Javayant NEGOTIATION
Salvatore I SchemmerUnited KingdomElwin Sharvill PROPOSAL
Sinclair H GauchoItalyIoni Bowcher QUALIFIED
Greenwood U SaylorsRussiaIoni Bowcher RENEWAL
Jennifer Q RimIndiaBernardo Dominic NEW
Leja D IturbideJapanXuxue Feng RENEWAL
Costa C AlbaresRussiaElwin Sharvill UNQUALIFIED
Greenwood L FigeroaRussiaXuxue Feng QUALIFIED
Ricardo E RoysterFranceStephen Shaw QUALIFIED
Deepesh O RulapaughGermanyIoni Bowcher QUALIFIED
Smith M ButtFranceIvan Magalhaes PROPOSAL
Tony Q RimGermanyAnna Fali NEGOTIATION
Jones N OstroskyRussiaXuxue Feng RENEWAL
Ivar M KolmetzItalyElwin Sharvill RENEWAL
Stacey Z NickaUnited KingdomIoni Bowcher QUALIFIED
Faith J CampainIndiaAsiya Javayant UNQUALIFIED
Kaitlin Z WhobreyBrazilOnyama Limba NEW
Leja B CaudySpainAnna Fali PROPOSAL
Chavez U KolmetzRussiaAnna Fali QUALIFIED
Ivar T ChuiSpainAmy Elsner UNQUALIFIED
Tony F GauchoItalyBernardo Dominic PROPOSAL
Smith M AlbaresItalyBernardo Dominic PROPOSAL
Maisha F RutaCanadaAnna Fali NEGOTIATION
Sinclair B GauchoItalyAnna Fali RENEWAL
Sinclair O MaletUnited KingdomXuxue Feng NEW
Sinclair H WaycottAustraliaAsiya Javayant UNQUALIFIED
Jennifer I CaudyUnited KingdomXuxue Feng NEGOTIATION
Izzy R RulapaughCanadaAsiya Javayant NEW
Tony H MacleadItalyElwin Sharvill NEW
Faith T WieserRussiaIvan Magalhaes RENEWAL
Chavez R OldroydSpainIvan Magalhaes NEW
Claire F WieserIndiaStephen Shaw QUALIFIED
Deepesh N RimGermanyAsiya Javayant NEW
Emily T StockhamSpainIoni Bowcher QUALIFIED
Tony W NickaAustraliaAmy Elsner QUALIFIED
Tony Y DilliardUnited KingdomStephen Shaw PROPOSAL
Mayumi I KolmetzUnited KingdomStephen Shaw NEGOTIATION
Salvatore C AlbaresIndiaAsiya Javayant NEGOTIATION
Salvatore M WieserJapanBernardo Dominic RENEWAL
Emily N StockhamCanadaOnyama Limba UNQUALIFIED

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