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
Ivar K VocelkaFranceAsiya Javayant UNQUALIFIED
Tony H StensethRussiaStephen Shaw NEW
Jefferson A GillianSpainOnyama Limba QUALIFIED
Johnson P RulapaughAustraliaAnna Fali QUALIFIED
Jefferson O GarufiRussiaAnna Fali QUALIFIED
Cody G PaprockiItalyIoni Bowcher PROPOSAL
Izzy H BologniaIndiaElwin Sharvill NEW
Isabel L VocelkaAustraliaStephen Shaw UNQUALIFIED
Julie D PoquetteIndiaAmy Elsner NEW
Wickens S CampainJapanOnyama Limba QUALIFIED
Ricardo Q CaudyCanadaAsiya Javayant QUALIFIED
Emily G RoysterSpainBernardo Dominic UNQUALIFIED
Maisha S AlbaresArgentinaElwin Sharvill QUALIFIED
Costa U GlickIndiaStephen Shaw NEGOTIATION
Misaki K CaldareraUnited KingdomIvan Magalhaes NEW
Morrow E GarufiIndiaXuxue Feng QUALIFIED
Aika G RutaSpainIoni Bowcher NEW
Silvio D SergiAustraliaElwin Sharvill UNQUALIFIED
Francesco J FollerBrazilAmy Elsner PROPOSAL
Sinclair Y SlusarskiItalyElwin Sharvill RENEWAL
Darci J NickaIndiaAnna Fali NEGOTIATION
Leon Y AmigonJapanXuxue Feng UNQUALIFIED
Jeanfrancois J BologniaUnited KingdomStephen Shaw UNQUALIFIED
Leja D BologniaJapanAsiya Javayant NEGOTIATION
Jeanfrancois C InouyeRussiaBernardo Dominic RENEWAL
Misaki D CaldareraIndiaAnna Fali NEGOTIATION
Julie A MaletItalyIvan Magalhaes UNQUALIFIED
Jefferson L CampainCanadaIoni Bowcher PROPOSAL
Darci M RutaCanadaElwin Sharvill NEW
Chavez L NickaJapanBernardo Dominic NEGOTIATION
Tony U IturbideGermanyIoni Bowcher QUALIFIED
Kaitlin I RutaJapanStephen Shaw RENEWAL
Kadeem I SchemmerIndiaStephen Shaw PROPOSAL
Leon W VocelkaBrazilElwin Sharvill PROPOSAL
Deepesh M SlusarskiIndiaIvan Magalhaes NEGOTIATION
Kadeem Z OldroydJapanIoni Bowcher RENEWAL
Clifford I TollnerItalyStephen Shaw NEGOTIATION
Jefferson I GlickSpainAsiya Javayant NEGOTIATION
Jefferson V AmigonJapanBernardo Dominic NEGOTIATION
Greenwood N BowleyUnited KingdomXuxue Feng NEGOTIATION
Silvio T MaletIndiaAmy Elsner RENEWAL
Antonio S SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Tony N MaletGermanyStephen Shaw QUALIFIED
Deepesh J PerinAustraliaIvan Magalhaes QUALIFIED
Mujtaba J WaycottAustraliaOnyama Limba NEGOTIATION
Johnson H OstroskyRussiaAnna Fali QUALIFIED
Mujtaba P MaletIndiaElwin Sharvill NEW
Arvin J MaletGermanyElwin Sharvill PROPOSAL
Chavez H WaycottAustraliaAsiya Javayant PROPOSAL
Octavia J BowleyCanadaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan J BologniaItalyAmy Elsner NEW
Chavez A VenereGermanyAnna Fali UNQUALIFIED
Aruna C FerenczGermanyIoni Bowcher QUALIFIED
Rodrigues D FollerItalyIvan Magalhaes UNQUALIFIED
Wickens N PoquetteSpainIvan Magalhaes UNQUALIFIED
Francesco R OldroydIndiaAsiya Javayant QUALIFIED
Johnson R DoeUnited KingdomIoni Bowcher NEGOTIATION
Deepesh D PoquetteRussiaAsiya Javayant QUALIFIED
Darci K BowleyAustraliaElwin Sharvill NEW
Deepesh A ButtUnited KingdomBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin N FigeroaArgentina2024-05-25Buckley Miller Wright UNQUALIFIED70Xuxue Feng
1001Chavez B CaldareraAustralia2024-05-26Rousseaux, Michael Esq RENEWAL22Stephen Shaw
1002Leja A SaylorsItaly2024-06-21Benton, John B Jr QUALIFIED92Onyama Limba
1003James S FollerCanada2024-05-26Rangoni Of Florence PROPOSAL56Anna Fali
1004Leon Z MorascaJapan2024-05-26Rousseaux, Michael Esq NEGOTIATION53Anna Fali
1005Ricardo H RimUnited Kingdom2024-06-10Chapman, Ross E Esq RENEWAL9Onyama Limba
1006Julie A IturbideItaly2024-05-26Dorl, James J Esq PROPOSAL97Asiya Javayant
1007Aditya W ShinkoBrazil2024-06-17Benton, John B Jr QUALIFIED98Asiya Javayant
1008Munro Q BriddickRussia2024-06-01Feiner Bros PROPOSAL23Anna Fali
1009Greenwood M WieserJapan2024-06-07Feiner Bros PROPOSAL0Stephen Shaw
1010Julie X CaldareraJapan2024-06-18King, Christopher A Esq RENEWAL4Anna Fali
1011Greenwood I WieserFrance2024-05-31Dorl, James J Esq RENEWAL95Amy Elsner
1012Cody I SchemmerIndia2024-06-12Rangoni Of Florence NEW56Elwin Sharvill
1013Kadeem C DoeRussia2024-06-03Buckley Miller Wright NEGOTIATION24Asiya Javayant
1014Salvatore I PerinUnited Kingdom2024-06-16Benton, John B Jr RENEWAL91Elwin Sharvill
1015Murillo T DoeGermany2024-06-02Feiner Bros PROPOSAL50Xuxue Feng
1016James N NestleRussia2024-06-04Rousseaux, Michael Esq QUALIFIED49Asiya Javayant
1017Nicolas W CaldareraBrazil2024-06-18King, Christopher A Esq NEGOTIATION73Xuxue Feng
1018Jefferson M KuskoGermany2024-06-05Commercial Press NEW56Onyama Limba
1019Leon K DilliardUnited Kingdom2024-06-14Buckley Miller Wright RENEWAL15Amy Elsner
1020Adams S FigeroaSpain2024-05-26Printing Dimensions NEGOTIATION15Ioni Bowcher
1021Greenwood K AmigonCanada2024-06-19Dorl, James J Esq PROPOSAL91Anna Fali
1022Francesco Y NestleAustralia2024-06-01Rangoni Of Florence RENEWAL19Xuxue Feng
1023Arvin R OldroydAustralia2024-06-20Benton, John B Jr NEGOTIATION54Ivan Magalhaes
1024Wickens U AmigonItaly2024-05-28Truhlar And Truhlar Attys UNQUALIFIED66Elwin Sharvill
1025Leon G AlbaresRussia2024-06-10King, Christopher A Esq UNQUALIFIED18Ioni Bowcher
1026Costa V WaycottSpain2024-05-31Chemel, James L Cpa QUALIFIED84Ioni Bowcher
1027Kadeem V GarufiFrance2024-06-06Dorl, James J Esq NEGOTIATION21Ivan Magalhaes
1028Mujtaba E OldroydAustralia2024-05-29Chemel, James L Cpa UNQUALIFIED97Ivan Magalhaes
1029David F RutaRussia2024-05-31Morlong Associates NEGOTIATION39Ivan Magalhaes
1030Sinclair W ChuiRussia2024-05-25Dorl, James J Esq NEGOTIATION78Anna Fali
1031Alejandro L InouyeFrance2024-06-12Feltz Printing Service UNQUALIFIED14Ivan Magalhaes
1032Jennifer F FigeroaUnited Kingdom2024-06-13Commercial Press UNQUALIFIED55Ioni Bowcher
1033Claire E VocelkaArgentina2024-06-21Feiner Bros QUALIFIED5Ioni Bowcher
1034Aruna H KuskoItaly2024-05-30Rangoni Of Florence RENEWAL94Onyama Limba
1035Jefferson F WieserItaly2024-06-01Feiner Bros UNQUALIFIED10Bernardo Dominic
1036Juan P NestleJapan2024-05-28Chemel, James L Cpa RENEWAL16Bernardo Dominic
1037Ashley T RoysterGermany2024-06-13Commercial Press PROPOSAL79Asiya Javayant
1038Aruna S FigeroaAustralia2024-06-03Feltz Printing Service RENEWAL17Ivan Magalhaes
1039Antonio I FollerItaly2024-06-21Benton, John B Jr QUALIFIED58Xuxue Feng
1040Juan D FigeroaGermany2024-06-08Commercial Press UNQUALIFIED13Elwin Sharvill
1041Munro L SlusarskiAustralia2024-06-04Rousseaux, Michael Esq UNQUALIFIED19Bernardo Dominic
1042Maria V GauchoRussia2024-06-13Rangoni Of Florence NEGOTIATION85Anna Fali
1043Ricardo A SergiItaly2024-06-18Benton, John B Jr RENEWAL99Bernardo Dominic
1044Clifford S BologniaCanada2024-06-05Feltz Printing Service NEW64Asiya Javayant
1045Wickens Y ChuiFrance2024-06-09Printing Dimensions NEGOTIATION92Ioni Bowcher
1046Johnson O TollnerAustralia2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED18Anna Fali
1047Alejandro S SlusarskiItaly2024-06-20Rousseaux, Michael Esq UNQUALIFIED26Xuxue Feng
1048Leja R StockhamAustralia2024-06-21Rangoni Of Florence NEW97Asiya Javayant
1049Leja O PaprockiJapan2024-06-01Truhlar And Truhlar Attys QUALIFIED56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Adams I RutaRussiaBernardo Dominic UNQUALIFIED
Faith H AmigonUnited KingdomXuxue Feng RENEWAL
Alejandro K CaudyRussiaOnyama Limba NEGOTIATION
Ashley Q WhobreyUnited KingdomAnna Fali PROPOSAL
Juan G MorascaBrazilAnna Fali UNQUALIFIED
Ivar M DoeSpainIoni Bowcher UNQUALIFIED
Cody D TollnerAustraliaIoni Bowcher NEW
Cody L WhobreyArgentinaAmy Elsner UNQUALIFIED
Ivar M MarrierIndiaXuxue Feng PROPOSAL
Ashley E FerenczCanadaAmy Elsner UNQUALIFIED
Misaki G DarakjyGermanyAsiya Javayant QUALIFIED
Tony P FlosiBrazilAmy Elsner NEGOTIATION
Darci O FerenczIndiaIvan Magalhaes UNQUALIFIED
Arvin U BologniaGermanyAsiya Javayant QUALIFIED
Kaitlin D GillianSpainAsiya Javayant QUALIFIED
Clifford P GauchoItalyIvan Magalhaes NEW
Jennifer Z CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood P FollerArgentinaElwin Sharvill UNQUALIFIED
Rodrigues Y OldroydBrazilAnna Fali QUALIFIED
Rodrigues K SlusarskiRussiaStephen Shaw RENEWAL
Tony R FigeroaAustraliaXuxue Feng PROPOSAL
Isabel H MorascaItalyXuxue Feng NEW
Sinclair B NestleRussiaIoni Bowcher PROPOSAL
Isabel Z CaldareraFranceAmy Elsner NEGOTIATION
Greenwood Z KolmetzRussiaAmy Elsner QUALIFIED
Greenwood A CaldareraJapanAsiya Javayant PROPOSAL
Ashley A GillianGermanyOnyama Limba PROPOSAL
Jefferson N StockhamRussiaAsiya Javayant QUALIFIED
Octavia C GlickItalyStephen Shaw PROPOSAL
Julie P WieserUnited KingdomAmy Elsner PROPOSAL
Aditya F PoquetteFranceIvan Magalhaes RENEWAL
Aika U MacleadGermanyStephen Shaw QUALIFIED
Juan H NestleIndiaStephen Shaw PROPOSAL
Claire E FlosiItalyIoni Bowcher PROPOSAL
Octavia F BriddickBrazilIoni Bowcher UNQUALIFIED
Deepesh L SergiJapanBernardo Dominic NEW
Deepesh L InouyeBrazilAmy Elsner NEGOTIATION
Jeanfrancois H MarrierArgentinaAsiya Javayant PROPOSAL
Salvatore F GarufiIndiaElwin Sharvill QUALIFIED
Maria N PoquetteSpainElwin Sharvill RENEWAL
Murillo V AlbaresIndiaStephen Shaw QUALIFIED
Sinclair B BologniaArgentinaIoni Bowcher UNQUALIFIED
Maisha F MarrierBrazilElwin Sharvill PROPOSAL
Jeanfrancois X CaudyGermanyStephen Shaw UNQUALIFIED
Claire M SergiJapanAnna Fali UNQUALIFIED
Cody J FlosiUnited KingdomAnna Fali NEGOTIATION
Francesco V MarrierCanadaXuxue Feng RENEWAL
Ashley U MacleadGermanyIvan Magalhaes NEGOTIATION
Nicolas G CampainGermanyAnna Fali RENEWAL
Claire L InouyeJapanAsiya Javayant QUALIFIED
Frozen Columns
Name
Alejandro I Kolmetz
Costa P Garufi
Aditya N Morasca
Izzy K Stockham
Darci T Perin
Tony W Iturbide
Alejandro K Nestle
Juan J Caldarera
Maria I Foller
Adams W Slusarski
Octavia X Dilliard
Munro H Stenseth
Faith E Ostrosky
Stacey V Stenseth
Julie V Saylors
Morrow L Briddick
Julie H Paprocki
Stacey J Poquette
Misaki I Tollner
Kaitlin A Stockham
Jones B Glick
Mayumi N Foller
Claire M Sergi
James O Vocelka
Maisha H Ferencz
Kadeem B Darakjy
Arvin Q Doe
James K Royster
Ricardo K Poquette
Rodrigues L Sergi
Mujtaba M Rulapaugh
Ricardo X Gillian
Jefferson Z Malet
Izzy J Schemmer
Faith A Malet
Jones H Wieser
Izzy I Caudy
Francesco X Venere
Stacey G Oldroyd
Leon D Stockham
Clifford B Butt
Ricardo K Stenseth
Munro S Nestle
Wickens S Albares
Deepesh I Perin
Jones I Darakjy
Francesco S Albares
Francesco K Darakjy
Leon G Perin
Francesco Q Bolognia
IdCountryDate
1000India2024-06-03
1001India2024-06-19
1002Canada2024-06-08
1003United Kingdom2024-06-15
1004India2024-06-15
1005Germany2024-06-08
1006Brazil2024-06-13
1007France2024-05-29
1008Canada2024-06-19
1009Japan2024-06-12
1010Canada2024-05-26
1011Spain2024-06-17
1012France2024-06-18
1013Germany2024-06-17
1014United Kingdom2024-06-02
1015Brazil2024-06-05
1016Argentina2024-06-15
1017Japan2024-06-05
1018Australia2024-05-27
1019United Kingdom2024-06-14
1020Spain2024-06-11
1021Canada2024-05-26
1022France2024-05-31
1023Argentina2024-05-30
1024Italy2024-06-05
1025India2024-06-20
1026Canada2024-05-29
1027India2024-06-19
1028Germany2024-06-10
1029India2024-05-27
1030Australia2024-06-16
1031India2024-05-26
1032Australia2024-06-02
1033France2024-06-01
1034Canada2024-05-31
1035Australia2024-05-31
1036Spain2024-06-13
1037Australia2024-05-29
1038Canada2024-05-28
1039Russia2024-06-09
1040Spain2024-06-02
1041Germany2024-05-23
1042Germany2024-06-09
1043Italy2024-06-12
1044Italy2024-06-12
1045Argentina2024-06-07
1046Germany2024-05-27
1047Russia2024-06-20
1048Australia2024-05-28
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Aika I Chui1000Argentina2024-06-20
Silvio U Briddick1001Russia2024-05-27
Arvin L Inouye1002Japan2024-06-04
Octavia S Gillian1003Australia2024-06-08
Costa Y Whobrey1004Italy2024-05-29
Johnson T Gaucho1005France2024-06-02
David P Perin1006Germany2024-06-19
Octavia K Sergi1007Canada2024-06-12
Cody S Venere1008Russia2024-06-09
Isabel E Bolognia1009Germany2024-05-27
Murillo J Caldarera1010India2024-06-09
Ricardo G Venere1011France2024-05-31
Adams Z Vocelka1012Australia2024-05-31
Isabel V Rulapaugh1013Russia2024-06-16
Stacey Q Shinko1014Argentina2024-06-01
Sinclair P Royster1015Argentina2024-06-11
Aika U Saylors1016Russia2024-05-28
Jones S Inouye1017Japan2024-05-31
Wickens R Kusko1018Argentina2024-05-27
Faith K Oldroyd1019Australia2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith W CaldareraFranceBernardo Dominic RENEWAL
Salvatore N MarrierCanadaIoni Bowcher UNQUALIFIED
Leon Y NestleBrazilAsiya Javayant RENEWAL
Rodrigues M NickaCanadaBernardo Dominic UNQUALIFIED
Adams V MaletCanadaElwin Sharvill RENEWAL
Leja T CaldareraUnited KingdomAmy Elsner NEW
Octavia Z PerinArgentinaIoni Bowcher RENEWAL
Aruna E KuskoRussiaIoni Bowcher NEGOTIATION
Aditya L FollerBrazilAsiya Javayant PROPOSAL
Costa J BowleyBrazilIvan Magalhaes PROPOSAL
Adams W CampainIndiaIvan Magalhaes PROPOSAL
Darci X ButtSpainIoni Bowcher NEGOTIATION
Jones U CampainSpainAnna Fali NEGOTIATION
Greenwood F SlusarskiGermanyAmy Elsner RENEWAL
Arvin S FlosiItalyAsiya Javayant QUALIFIED
Greenwood K InouyeUnited KingdomElwin Sharvill NEGOTIATION
Jennifer H GlickRussiaStephen Shaw NEW
Adams N NickaArgentinaElwin Sharvill UNQUALIFIED
Aditya V MaletFranceElwin Sharvill PROPOSAL
Clifford R CaldareraIndiaIoni Bowcher QUALIFIED
Darci M StensethCanadaAnna Fali UNQUALIFIED
Emily V FollerItalyElwin Sharvill NEW
Smith J BowleyAustraliaElwin Sharvill RENEWAL
Johnson Q DarakjyBrazilOnyama Limba PROPOSAL
Claire C WaycottIndiaXuxue Feng NEGOTIATION
Adams R BowleyFranceOnyama Limba QUALIFIED
Izzy O GarufiGermanyStephen Shaw NEW
Cody I RimItalyAsiya Javayant NEW
Jefferson U DilliardJapanIoni Bowcher PROPOSAL
Costa H GarufiSpainIvan Magalhaes QUALIFIED
Antonio A MacleadArgentinaXuxue Feng UNQUALIFIED
Mujtaba O SlusarskiBrazilIoni Bowcher NEGOTIATION
Sinclair T FollerRussiaXuxue Feng NEW
Misaki D MaletBrazilStephen Shaw NEW
Claire U MarrierRussiaStephen Shaw QUALIFIED
Leja W FlosiRussiaAnna Fali QUALIFIED
Ricardo N MorascaAustraliaXuxue Feng QUALIFIED
Leja D FigeroaArgentinaAmy Elsner UNQUALIFIED
Cody S OldroydAustraliaXuxue Feng RENEWAL
Silvio D MarrierBrazilAmy Elsner NEW

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