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
Murillo A MaletRussiaIvan Magalhaes UNQUALIFIED
Emily P NestleIndiaAsiya Javayant NEW
Salvatore Q MorascaItalyElwin Sharvill UNQUALIFIED
Tony F BriddickRussiaAmy Elsner UNQUALIFIED
Adams I PaprockiBrazilBernardo Dominic UNQUALIFIED
Francesco A SlusarskiGermanyAnna Fali UNQUALIFIED
Aditya K CaldareraItalyStephen Shaw UNQUALIFIED
Nicolas Y VenereRussiaBernardo Dominic NEW
Mayumi T PerinAustraliaIvan Magalhaes NEW
Smith D BriddickGermanyIoni Bowcher QUALIFIED
Clifford A RutaSpainAnna Fali NEGOTIATION
Juan X DoeRussiaOnyama Limba PROPOSAL
Cody E KolmetzJapanBernardo Dominic UNQUALIFIED
Kaitlin M StensethSpainOnyama Limba NEW
Claire X RoysterFranceIoni Bowcher NEGOTIATION
Deepesh N MacleadBrazilStephen Shaw PROPOSAL
Arvin B MacleadFranceAsiya Javayant RENEWAL
Tony V PerinRussiaIvan Magalhaes PROPOSAL
Rodrigues Q TollnerArgentinaIoni Bowcher PROPOSAL
Adams U SaylorsFranceIoni Bowcher RENEWAL
Rodrigues N MaletArgentinaStephen Shaw PROPOSAL
Stacey L CaudyAustraliaStephen Shaw UNQUALIFIED
Smith E WaycottAustraliaElwin Sharvill RENEWAL
Murillo S KolmetzIndiaIoni Bowcher PROPOSAL
Kaitlin M BologniaAustraliaIoni Bowcher NEW
Clifford L FlosiIndiaElwin Sharvill UNQUALIFIED
Morrow V KuskoIndiaAnna Fali NEW
Jennifer W SlusarskiRussiaAnna Fali QUALIFIED
Aditya A RoysterJapanAsiya Javayant RENEWAL
Chavez Y OldroydJapanElwin Sharvill RENEWAL
Arvin C DoeCanadaOnyama Limba RENEWAL
James W SlusarskiJapanXuxue Feng UNQUALIFIED
Leon K MaletSpainStephen Shaw RENEWAL
Faith Y BowleyCanadaAnna Fali UNQUALIFIED
Darci Z GlickJapanStephen Shaw PROPOSAL
James U SlusarskiJapanIvan Magalhaes UNQUALIFIED
Faith P GarufiGermanyIvan Magalhaes NEGOTIATION
Leon S MaletFranceBernardo Dominic PROPOSAL
Rodrigues C ChuiIndiaAsiya Javayant UNQUALIFIED
Octavia K MarrierBrazilXuxue Feng RENEWAL
Mujtaba Z CaudySpainStephen Shaw PROPOSAL
Aruna V VenereJapanAsiya Javayant QUALIFIED
Adams E SchemmerCanadaIvan Magalhaes PROPOSAL
Silvio S MaletIndiaIoni Bowcher NEGOTIATION
Ivar R OldroydAustraliaAnna Fali NEGOTIATION
Claire B AmigonGermanyAnna Fali NEGOTIATION
Francesco Q WieserArgentinaIvan Magalhaes UNQUALIFIED
James S SaylorsJapanStephen Shaw UNQUALIFIED
Jefferson K SchemmerCanadaAmy Elsner UNQUALIFIED
Antonio J PaprockiAustraliaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin U KolmetzItalyXuxue Feng QUALIFIED
Claire Q GarufiRussiaXuxue Feng NEGOTIATION
Jennifer T GlickBrazilBernardo Dominic PROPOSAL
Maisha M FollerBrazilAnna Fali PROPOSAL
Munro E DilliardFranceIoni Bowcher PROPOSAL
Ricardo E FigeroaSpainAmy Elsner RENEWAL
Claire A MorascaBrazilIoni Bowcher UNQUALIFIED
Leja Z MaletCanadaElwin Sharvill NEW
Aditya B OstroskySpainElwin Sharvill QUALIFIED
Misaki O RutaSpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens T OldroydGermany2024-05-22Benton, John B Jr PROPOSAL90Ivan Magalhaes
1001Stacey X VocelkaSpain2024-06-07Rousseaux, Michael Esq NEGOTIATION40Elwin Sharvill
1002Faith T ButtItaly2024-06-01Buckley Miller Wright UNQUALIFIED19Anna Fali
1003Rodrigues C PoquetteSpain2024-06-13Chapman, Ross E Esq UNQUALIFIED27Asiya Javayant
1004Arvin Q MaletFrance2024-06-02Chanay, Jeffrey A Esq PROPOSAL41Bernardo Dominic
1005Wickens X NickaItaly2024-06-11Buckley Miller Wright RENEWAL11Anna Fali
1006Greenwood W RutaGermany2024-06-13Chanay, Jeffrey A Esq RENEWAL85Stephen Shaw
1007Maisha Y SchemmerItaly2024-06-03Truhlar And Truhlar Attys NEGOTIATION24Xuxue Feng
1008Ivar T OstroskyAustralia2024-06-19Morlong Associates UNQUALIFIED62Ivan Magalhaes
1009Wickens M MorascaAustralia2024-06-01Printing Dimensions NEW23Elwin Sharvill
1010Aika E InouyeSpain2024-05-24Printing Dimensions NEW24Amy Elsner
1011Juan L SergiRussia2024-05-28Printing Dimensions NEW40Anna Fali
1012Kaitlin R FollerUnited Kingdom2024-06-14Rangoni Of Florence NEGOTIATION87Amy Elsner
1013Munro B SaylorsSpain2024-05-22Morlong Associates RENEWAL52Anna Fali
1014Deepesh L FerenczJapan2024-06-06Feiner Bros RENEWAL13Onyama Limba
1015Mayumi K RimJapan2024-06-01King, Christopher A Esq RENEWAL11Asiya Javayant
1016Greenwood A TollnerArgentina2024-06-11Morlong Associates RENEWAL96Anna Fali
1017Tony T SchemmerArgentina2024-05-25Commercial Press NEW88Ioni Bowcher
1018Faith O WaycottIndia2024-06-17Feiner Bros QUALIFIED81Xuxue Feng
1019Maria H BologniaAustralia2024-05-25Buckley Miller Wright QUALIFIED74Bernardo Dominic
1020Ivar H KuskoUnited Kingdom2024-05-25Chapman, Ross E Esq NEW32Asiya Javayant
1021Alejandro Y OldroydCanada2024-06-14Buckley Miller Wright NEW45Anna Fali
1022Octavia S ButtArgentina2024-06-15Rousseaux, Michael Esq QUALIFIED47Elwin Sharvill
1023Maria M RimJapan2024-06-05Printing Dimensions QUALIFIED92Ivan Magalhaes
1024Antonio V KuskoIndia2024-06-01Truhlar And Truhlar Attys NEW62Ioni Bowcher
1025Alejandro Y FerenczSpain2024-06-16Dorl, James J Esq QUALIFIED50Onyama Limba
1026Faith K VocelkaSpain2024-06-09King, Christopher A Esq QUALIFIED27Anna Fali
1027Mayumi O StockhamGermany2024-05-22Chanay, Jeffrey A Esq NEGOTIATION95Asiya Javayant
1028Jones T AmigonAustralia2024-05-24Rousseaux, Michael Esq NEGOTIATION40Amy Elsner
1029Deepesh P SergiGermany2024-06-15Benton, John B Jr QUALIFIED91Ioni Bowcher
1030Silvio G WaycottBrazil2024-06-14Benton, John B Jr NEW0Ioni Bowcher
1031Misaki T InouyeIndia2024-06-10Chapman, Ross E Esq PROPOSAL58Onyama Limba
1032Isabel M MaletAustralia2024-05-25Dorl, James J Esq QUALIFIED9Onyama Limba
1033Stacey K CampainArgentina2024-05-26Buckley Miller Wright PROPOSAL76Onyama Limba
1034Isabel Q FlosiCanada2024-06-11Benton, John B Jr QUALIFIED28Bernardo Dominic
1035Wickens K PoquetteBrazil2024-05-26Chapman, Ross E Esq NEW85Asiya Javayant
1036Jones J InouyeFrance2024-06-16Truhlar And Truhlar Attys NEW65Asiya Javayant
1037Juan P DoeAustralia2024-06-17Commercial Press NEW25Amy Elsner
1038Adams M MacleadFrance2024-06-14Rousseaux, Michael Esq UNQUALIFIED67Amy Elsner
1039Kadeem H CaldareraGermany2024-06-20King, Christopher A Esq RENEWAL48Ioni Bowcher
1040Tony O NickaAustralia2024-05-29Buckley Miller Wright QUALIFIED18Ivan Magalhaes
1041Wickens C MaletUnited Kingdom2024-05-31Benton, John B Jr NEW38Ivan Magalhaes
1042Adams U KolmetzIndia2024-06-16Benton, John B Jr PROPOSAL69Ivan Magalhaes
1043Alejandro A KuskoItaly2024-05-26Truhlar And Truhlar Attys PROPOSAL59Stephen Shaw
1044Darci S RutaIndia2024-06-15Commercial Press RENEWAL26Bernardo Dominic
1045Smith T PaprockiSpain2024-06-14Morlong Associates QUALIFIED38Asiya Javayant
1046Darci Z ShinkoJapan2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED5Stephen Shaw
1047Mayumi H DarakjyGermany2024-06-13Truhlar And Truhlar Attys RENEWAL54Onyama Limba
1048Arvin N IturbideSpain2024-05-25Rousseaux, Michael Esq RENEWAL94Bernardo Dominic
1049Maria J OldroydBrazil2024-06-19Feltz Printing Service QUALIFIED45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria T BowleyRussiaStephen Shaw UNQUALIFIED
Julie P MarrierBrazilIoni Bowcher RENEWAL
Aruna F StensethArgentinaIvan Magalhaes RENEWAL
Arvin K GlickAustraliaAmy Elsner PROPOSAL
Leon J WaycottJapanAnna Fali NEGOTIATION
Jefferson K SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Juan W FlosiBrazilXuxue Feng QUALIFIED
Leon L PaprockiArgentinaBernardo Dominic RENEWAL
Faith T OldroydSpainAsiya Javayant QUALIFIED
Rodrigues E SlusarskiSpainStephen Shaw RENEWAL
Mayumi D AmigonArgentinaIvan Magalhaes QUALIFIED
Mujtaba K ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna Q ChuiIndiaAmy Elsner UNQUALIFIED
Cody U WaycottAustraliaXuxue Feng NEGOTIATION
Maisha Q VenereJapanAmy Elsner NEGOTIATION
Ivar Q MacleadUnited KingdomXuxue Feng NEGOTIATION
Ricardo E AmigonItalyElwin Sharvill UNQUALIFIED
Leon H FerenczCanadaStephen Shaw NEGOTIATION
Izzy P WieserCanadaAmy Elsner QUALIFIED
Costa G IturbideCanadaXuxue Feng UNQUALIFIED
Rodrigues U BowleyUnited KingdomStephen Shaw UNQUALIFIED
Mayumi N SlusarskiRussiaOnyama Limba NEGOTIATION
Jeanfrancois N CaldareraBrazilIoni Bowcher QUALIFIED
Francesco Q ChuiRussiaElwin Sharvill QUALIFIED
Antonio R OstroskyItalyXuxue Feng QUALIFIED
Kaitlin I CaudyAustraliaXuxue Feng NEW
Smith X AlbaresItalyIoni Bowcher QUALIFIED
Morrow H WieserFranceBernardo Dominic QUALIFIED
David G GlickJapanElwin Sharvill NEGOTIATION
Aika M WieserItalyOnyama Limba RENEWAL
Rodrigues E BriddickFranceElwin Sharvill PROPOSAL
Silvio R MarrierArgentinaIvan Magalhaes PROPOSAL
Cody N WieserSpainIvan Magalhaes NEW
Munro N WhobreyIndiaAsiya Javayant NEGOTIATION
Tony N SchemmerBrazilIoni Bowcher NEGOTIATION
Kaitlin D KolmetzArgentinaBernardo Dominic UNQUALIFIED
Mayumi E CampainAustraliaXuxue Feng RENEWAL
Silvio B AmigonBrazilOnyama Limba UNQUALIFIED
Kaitlin R MaletBrazilElwin Sharvill QUALIFIED
Claire L ButtRussiaIoni Bowcher PROPOSAL
Leon A RoysterItalyStephen Shaw NEGOTIATION
Chavez M ShinkoGermanyAnna Fali RENEWAL
Emily A ButtFranceBernardo Dominic NEW
Emily X MacleadAustraliaIvan Magalhaes UNQUALIFIED
Francesco R SaylorsBrazilIvan Magalhaes PROPOSAL
Emily F StockhamUnited KingdomAnna Fali NEGOTIATION
Ivar I GauchoArgentinaElwin Sharvill QUALIFIED
Aika G BriddickIndiaAmy Elsner NEGOTIATION
Chavez F NickaJapanIvan Magalhaes NEW
Deepesh X FigeroaCanadaOnyama Limba RENEWAL
Frozen Columns
Name
Jones L Ferencz
Misaki P Chui
Stacey K Wieser
Costa L Sergi
Faith Y Waycott
Greenwood N Poquette
Darci S Schemmer
Mayumi T Stenseth
Murillo D Briddick
Claire I Perin
Octavia E Foller
Jeanfrancois D Poquette
Greenwood H Amigon
Faith X Garufi
Jennifer X Poquette
Mujtaba W Shinko
Mujtaba O Wieser
Julie D Chui
Mujtaba A Glick
Tony C Perin
Jeanfrancois X Stockham
Leon R Campain
Wickens H Inouye
Jennifer H Wieser
Jeanfrancois L Kusko
Isabel M Malet
Julie C Campain
Maria D Butt
Jeanfrancois G Glick
Jefferson F Briddick
Maisha K Garufi
Ivar W Slusarski
Faith O Vocelka
Mujtaba F Malet
Jeanfrancois O Inouye
Munro H Iturbide
Mayumi X Vocelka
Clifford F Waycott
Octavia M Schemmer
Faith D Stockham
Costa U Kolmetz
Murillo D Gaucho
Ricardo A Campain
Kadeem G Darakjy
Morrow X Royster
Alejandro Q Gillian
Julie F Figeroa
Morrow Y Malet
Rodrigues F Malet
Aditya F Nestle
IdCountryDate
1000India2024-06-09
1001Canada2024-05-23
1002Canada2024-06-09
1003Italy2024-06-12
1004Japan2024-05-22
1005Argentina2024-05-23
1006Italy2024-05-24
1007Australia2024-06-15
1008Italy2024-06-08
1009Australia2024-06-03
1010Argentina2024-06-01
1011Brazil2024-06-02
1012France2024-06-03
1013Italy2024-06-11
1014Canada2024-06-16
1015Spain2024-06-05
1016Canada2024-06-18
1017Japan2024-06-16
1018Germany2024-06-03
1019Canada2024-06-15
1020Japan2024-05-27
1021United Kingdom2024-05-26
1022Australia2024-06-04
1023India2024-06-16
1024India2024-06-06
1025Germany2024-06-20
1026United Kingdom2024-05-24
1027Russia2024-06-07
1028Russia2024-06-19
1029United Kingdom2024-06-07
1030Canada2024-06-16
1031Italy2024-06-18
1032Russia2024-05-23
1033Italy2024-06-17
1034Italy2024-06-10
1035Spain2024-05-25
1036Germany2024-06-14
1037Australia2024-06-11
1038Australia2024-05-27
1039India2024-06-02
1040Brazil2024-06-04
1041Canada2024-06-09
1042Brazil2024-05-22
1043Australia2024-06-08
1044France2024-06-08
1045Canada2024-05-31
1046United Kingdom2024-06-03
1047Canada2024-06-19
1048Australia2024-06-06
1049Australia2024-05-25

On-Demand Data

NameIdCountryDate
Costa G Inouye1000Germany2024-06-03
Juan O Bowley1001Japan2024-06-09
Nicolas T Bowley1002India2024-06-12
Juan Z Amigon1003Australia2024-06-06
Morrow N Iturbide1004Japan2024-06-15
Murillo R Royster1005Australia2024-06-02
Faith F Butt1006India2024-06-01
Jefferson Q Bowley1007Germany2024-05-25
Octavia Y Maclead1008Italy2024-06-04
Mujtaba N Slusarski1009United Kingdom2024-06-08
Jeanfrancois E Iturbide1010Italy2024-06-11
Leon T Nicka1011France2024-05-30
Leja B Flosi1012Japan2024-06-16
David G Stockham1013India2024-06-14
Tony Y Bolognia1014France2024-06-05
Emily G Foller1015Italy2024-06-19
Arvin S Chui1016Brazil2024-06-10
Aika D Bolognia1017Russia2024-06-12
Izzy L Nestle1018Japan2024-05-28
Greenwood F Caudy1019India2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey X AmigonUnited KingdomElwin Sharvill PROPOSAL
Sinclair F DarakjyItalyAsiya Javayant QUALIFIED
Jefferson M VenereJapanAnna Fali NEW
Chavez S MarrierSpainIvan Magalhaes NEW
James H GlickCanadaBernardo Dominic NEGOTIATION
Aditya G NickaRussiaXuxue Feng RENEWAL
Ricardo T GillianItalyOnyama Limba UNQUALIFIED
Jefferson Z CampainJapanElwin Sharvill QUALIFIED
Jefferson N AlbaresAustraliaAmy Elsner NEW
Jennifer B VocelkaFranceBernardo Dominic NEGOTIATION
Aika W VenereFranceXuxue Feng NEGOTIATION
Leon M GauchoSpainStephen Shaw NEGOTIATION
Adams K InouyeUnited KingdomBernardo Dominic NEW
Jennifer V SaylorsIndiaStephen Shaw NEW
Salvatore P IturbideBrazilAnna Fali NEW
Cody I DoeIndiaStephen Shaw QUALIFIED
Jennifer K RoysterUnited KingdomBernardo Dominic NEGOTIATION
Alejandro N NickaArgentinaIvan Magalhaes RENEWAL
Misaki A ChuiRussiaIvan Magalhaes PROPOSAL
Julie V MorascaSpainIvan Magalhaes NEGOTIATION
Aika U FlosiRussiaAmy Elsner PROPOSAL
Octavia I IturbideCanadaIvan Magalhaes RENEWAL
Emily Q CaudyBrazilAsiya Javayant UNQUALIFIED
Nicolas F AlbaresFranceIoni Bowcher QUALIFIED
Adams U StockhamGermanyIvan Magalhaes QUALIFIED
Morrow Q ChuiItalyIvan Magalhaes RENEWAL
Maria A AmigonIndiaBernardo Dominic QUALIFIED
James P MaletJapanAmy Elsner NEGOTIATION
Rodrigues I RulapaughBrazilAnna Fali NEW
Leja T VocelkaItalyIvan Magalhaes UNQUALIFIED
Julie R NickaCanadaIoni Bowcher NEW
Jeanfrancois J PaprockiIndiaXuxue Feng PROPOSAL
Jones N InouyeIndiaIvan Magalhaes RENEWAL
Maria B TollnerAustraliaXuxue Feng QUALIFIED
Izzy P DoeItalyAsiya Javayant QUALIFIED
Greenwood Q IturbideAustraliaAnna Fali QUALIFIED
Maisha T TollnerItalyAsiya Javayant PROPOSAL
Juan V KolmetzFranceAnna Fali PROPOSAL
Rodrigues J OstroskyBrazilStephen Shaw UNQUALIFIED
Mayumi Y WieserBrazilElwin Sharvill 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>