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
Johnson S MaletJapanAnna Fali PROPOSAL
Francesco Y FigeroaFranceBernardo Dominic UNQUALIFIED
Misaki I PoquetteIndiaIoni Bowcher QUALIFIED
Julie N MaletAustraliaOnyama Limba PROPOSAL
Kaitlin C FigeroaRussiaIvan Magalhaes UNQUALIFIED
Salvatore C GlickItalyIoni Bowcher NEW
David G BriddickCanadaBernardo Dominic QUALIFIED
Deepesh J OstroskyCanadaIoni Bowcher NEGOTIATION
Silvio P OstroskyJapanAsiya Javayant RENEWAL
David L InouyeItalyIvan Magalhaes UNQUALIFIED
Tony U RoysterBrazilAsiya Javayant PROPOSAL
Jones M FerenczFranceElwin Sharvill NEW
Ashley L StensethBrazilIvan Magalhaes NEW
Nicolas X StockhamBrazilAsiya Javayant PROPOSAL
Isabel U KuskoAustraliaBernardo Dominic RENEWAL
Murillo I PoquetteIndiaXuxue Feng NEW
Leon R RimBrazilBernardo Dominic UNQUALIFIED
James L CampainArgentinaElwin Sharvill NEW
Kadeem J KolmetzItalyBernardo Dominic UNQUALIFIED
Isabel N StensethBrazilAsiya Javayant RENEWAL
Silvio S InouyeGermanyAnna Fali RENEWAL
Kaitlin C InouyeAustraliaBernardo Dominic QUALIFIED
Ricardo V ButtGermanyOnyama Limba PROPOSAL
Darci L AmigonBrazilIoni Bowcher RENEWAL
Jennifer Y WhobreyJapanBernardo Dominic UNQUALIFIED
Juan U GillianGermanyXuxue Feng RENEWAL
Tony L MarrierJapanElwin Sharvill PROPOSAL
Aruna E OstroskyRussiaAmy Elsner RENEWAL
Julie R IturbideFranceOnyama Limba NEGOTIATION
Aditya U DilliardJapanAsiya Javayant UNQUALIFIED
Aditya Y ShinkoGermanyBernardo Dominic PROPOSAL
Ashley T GlickIndiaOnyama Limba UNQUALIFIED
Maria A FigeroaGermanyIvan Magalhaes RENEWAL
Mayumi N CaudyCanadaIoni Bowcher NEGOTIATION
Morrow J SergiAustraliaAsiya Javayant UNQUALIFIED
Silvio H DarakjyUnited KingdomAnna Fali NEGOTIATION
Morrow H InouyeBrazilElwin Sharvill NEW
Ricardo E RulapaughAustraliaBernardo Dominic RENEWAL
Cody S DarakjyArgentinaElwin Sharvill PROPOSAL
Jones A NickaGermanyElwin Sharvill NEGOTIATION
Murillo L MaletJapanAmy Elsner NEGOTIATION
Misaki V VenereJapanAmy Elsner PROPOSAL
Maisha O SaylorsIndiaElwin Sharvill UNQUALIFIED
Clifford S BriddickBrazilElwin Sharvill NEGOTIATION
Murillo P WaycottSpainIvan Magalhaes NEGOTIATION
Julie R GarufiArgentinaIvan Magalhaes NEW
Misaki W WaycottGermanyElwin Sharvill RENEWAL
Stacey E PoquetteGermanyElwin Sharvill QUALIFIED
Izzy C FigeroaJapanXuxue Feng RENEWAL
Tony P ButtArgentinaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire D StockhamArgentinaAsiya Javayant NEW
Clifford T BriddickAustraliaIoni Bowcher NEGOTIATION
Smith N SlusarskiAustraliaAnna Fali UNQUALIFIED
Sinclair S FigeroaCanadaAnna Fali RENEWAL
Mayumi E ShinkoItalyElwin Sharvill NEGOTIATION
Morrow L ShinkoFranceBernardo Dominic NEGOTIATION
Cody P MaletJapanIvan Magalhaes UNQUALIFIED
Salvatore T ShinkoBrazilAmy Elsner NEGOTIATION
Aika O NickaGermanyIvan Magalhaes QUALIFIED
Cody D PaprockiSpainIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci Y WieserBrazil2024-05-07Rangoni Of Florence PROPOSAL33Ioni Bowcher
1001Kadeem R NestleFrance2024-05-12Chanay, Jeffrey A Esq NEW29Bernardo Dominic
1002Emily K RulapaughJapan2024-05-19Truhlar And Truhlar Attys PROPOSAL46Elwin Sharvill
1003Smith H MaletUnited Kingdom2024-05-07Feiner Bros UNQUALIFIED38Asiya Javayant
1004David A BologniaCanada2024-05-01King, Christopher A Esq NEW56Stephen Shaw
1005Nicolas K PaprockiRussia2024-05-26Chanay, Jeffrey A Esq RENEWAL42Ioni Bowcher
1006Darci T WaycottGermany2024-05-22Feltz Printing Service RENEWAL95Elwin Sharvill
1007Octavia T SergiFrance2024-05-02Commercial Press PROPOSAL35Xuxue Feng
1008Silvio V RoysterGermany2024-05-07Buckley Miller Wright PROPOSAL23Onyama Limba
1009Stacey E WaycottUnited Kingdom2024-05-25Chanay, Jeffrey A Esq RENEWAL6Asiya Javayant
1010Juan Z VenereAustralia2024-05-16Morlong Associates UNQUALIFIED1Bernardo Dominic
1011Ashley F DoeSpain2024-05-20Truhlar And Truhlar Attys NEW9Anna Fali
1012Clifford W PerinRussia2024-05-13Feltz Printing Service NEW84Ivan Magalhaes
1013Stacey X StockhamFrance2024-05-21Chapman, Ross E Esq PROPOSAL54Xuxue Feng
1014Jefferson C StockhamBrazil2024-05-02Chapman, Ross E Esq NEW1Elwin Sharvill
1015Octavia N FerenczRussia2024-05-03Chapman, Ross E Esq RENEWAL73Elwin Sharvill
1016Leon G ButtJapan2024-04-29Morlong Associates RENEWAL23Amy Elsner
1017Kaitlin Q GarufiGermany2024-05-10Rousseaux, Michael Esq QUALIFIED26Anna Fali
1018Emily I WieserCanada2024-05-06Feiner Bros UNQUALIFIED51Stephen Shaw
1019Leja K CampainBrazil2024-05-04Feltz Printing Service PROPOSAL7Ivan Magalhaes
1020Aika M VenereJapan2024-05-14Benton, John B Jr QUALIFIED32Amy Elsner
1021Aruna S SlusarskiUnited Kingdom2024-05-06Truhlar And Truhlar Attys QUALIFIED37Amy Elsner
1022Faith J ChuiGermany2024-05-06Rangoni Of Florence QUALIFIED42Stephen Shaw
1023Emily Y CaudyBrazil2024-05-07Printing Dimensions NEW59Onyama Limba
1024Maria Q FerenczJapan2024-05-09Chapman, Ross E Esq UNQUALIFIED45Ivan Magalhaes
1025Isabel W DilliardRussia2024-05-24Chemel, James L Cpa NEGOTIATION3Ioni Bowcher
1026Salvatore N SaylorsGermany2024-05-21Rousseaux, Michael Esq NEGOTIATION74Amy Elsner
1027Deepesh J CaldareraJapan2024-05-11Commercial Press UNQUALIFIED17Ioni Bowcher
1028Johnson N OstroskyFrance2024-04-30Morlong Associates QUALIFIED93Ioni Bowcher
1029Jefferson L PaprockiItaly2024-05-07Benton, John B Jr QUALIFIED29Anna Fali
1030Kaitlin H BologniaUnited Kingdom2024-05-09Benton, John B Jr NEGOTIATION3Stephen Shaw
1031James A ButtItaly2024-05-14Buckley Miller Wright NEW38Ivan Magalhaes
1032Octavia J GauchoCanada2024-05-02Chapman, Ross E Esq NEGOTIATION39Ivan Magalhaes
1033Salvatore E AmigonItaly2024-05-24King, Christopher A Esq RENEWAL42Amy Elsner
1034Alejandro I CaldareraRussia2024-05-17Truhlar And Truhlar Attys QUALIFIED36Xuxue Feng
1035Isabel X MorascaFrance2024-05-16Commercial Press UNQUALIFIED44Ivan Magalhaes
1036Ivar C CaudyGermany2024-05-05Benton, John B Jr PROPOSAL85Stephen Shaw
1037Kadeem J RoysterGermany2024-05-10Chemel, James L Cpa NEW49Ioni Bowcher
1038Aruna E SlusarskiBrazil2024-05-19Truhlar And Truhlar Attys UNQUALIFIED59Amy Elsner
1039Jefferson K MaletBrazil2024-05-04Dorl, James J Esq UNQUALIFIED35Bernardo Dominic
1040Nicolas K NickaArgentina2024-04-28Chemel, James L Cpa QUALIFIED7Amy Elsner
1041Claire R FlosiJapan2024-05-14Feltz Printing Service QUALIFIED62Onyama Limba
1042Emily H FerenczGermany2024-05-03Buckley Miller Wright PROPOSAL31Ioni Bowcher
1043Aditya V RimJapan2024-05-01Feltz Printing Service RENEWAL63Xuxue Feng
1044Ivar K RoysterUnited Kingdom2024-05-01Chemel, James L Cpa UNQUALIFIED60Stephen Shaw
1045Jeanfrancois S BologniaAustralia2024-05-04Rangoni Of Florence NEGOTIATION86Onyama Limba
1046Deepesh W GauchoArgentina2024-04-29Benton, John B Jr NEGOTIATION55Ivan Magalhaes
1047Alejandro N RoysterBrazil2024-05-19Benton, John B Jr NEW32Stephen Shaw
1048Greenwood M DoeJapan2024-05-21Commercial Press PROPOSAL69Elwin Sharvill
1049Chavez I RoysterBrazil2024-05-17Feltz Printing Service RENEWAL57Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey O FerenczFranceAsiya Javayant QUALIFIED
Jennifer V DarakjyArgentinaAmy Elsner NEW
Kaitlin P DarakjyAustraliaAnna Fali RENEWAL
Mujtaba I AlbaresItalyBernardo Dominic RENEWAL
Kadeem X PerinUnited KingdomOnyama Limba UNQUALIFIED
Aika Y ShinkoUnited KingdomAsiya Javayant NEW
Cody W GarufiItalyElwin Sharvill NEW
Salvatore X CaldareraAustraliaBernardo Dominic QUALIFIED
Deepesh W FerenczBrazilBernardo Dominic NEW
Aruna C SchemmerSpainXuxue Feng PROPOSAL
Leon S OldroydRussiaIoni Bowcher RENEWAL
Leja H KolmetzSpainXuxue Feng QUALIFIED
Jones L MaletJapanAmy Elsner NEW
Mujtaba T WhobreyJapanIoni Bowcher PROPOSAL
Nicolas J ShinkoUnited KingdomStephen Shaw QUALIFIED
Chavez C GauchoBrazilAmy Elsner PROPOSAL
Francesco Z GlickGermanyAnna Fali NEW
Claire I IturbideArgentinaElwin Sharvill NEW
Leon A GlickBrazilIoni Bowcher QUALIFIED
Antonio U DoeUnited KingdomBernardo Dominic UNQUALIFIED
Maisha G KuskoFranceIoni Bowcher PROPOSAL
Francesco D SergiArgentinaIoni Bowcher UNQUALIFIED
Greenwood E FollerArgentinaXuxue Feng NEGOTIATION
Antonio G AlbaresSpainAnna Fali NEW
Kaitlin D ShinkoGermanyOnyama Limba NEGOTIATION
Francesco P RutaSpainAsiya Javayant PROPOSAL
Cody E WhobreyJapanOnyama Limba RENEWAL
Chavez X DilliardFranceOnyama Limba NEGOTIATION
Emily Q IturbideRussiaElwin Sharvill RENEWAL
Smith N MacleadArgentinaIoni Bowcher NEW
Mayumi N FigeroaItalyBernardo Dominic QUALIFIED
Aditya P VenereJapanAmy Elsner RENEWAL
Cody P MaletGermanyElwin Sharvill NEGOTIATION
Claire J WhobreyRussiaIoni Bowcher PROPOSAL
Aika G WhobreyGermanyAnna Fali QUALIFIED
Jeanfrancois X SergiJapanOnyama Limba NEW
Aditya Q IturbideItalyXuxue Feng NEW
Rodrigues M KuskoFranceAsiya Javayant NEW
Izzy Y NestleItalyStephen Shaw UNQUALIFIED
Stacey C KuskoItalyAnna Fali RENEWAL
Sinclair L DilliardAustraliaXuxue Feng NEW
Leja L VenereFranceElwin Sharvill RENEWAL
Emily G IturbideItalyElwin Sharvill PROPOSAL
Alejandro L WieserSpainElwin Sharvill QUALIFIED
Aika W RoysterFranceXuxue Feng QUALIFIED
Misaki I SaylorsItalyElwin Sharvill QUALIFIED
Chavez D BriddickCanadaAnna Fali NEW
Stacey F NestleUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois P PaprockiCanadaAsiya Javayant RENEWAL
Wickens Y OstroskyCanadaStephen Shaw QUALIFIED
Frozen Columns
Name
Juan N Slusarski
Isabel Q Stenseth
Jeanfrancois F Wieser
Aruna Y Wieser
Maisha I Foller
Juan D Malet
Francesco P Kolmetz
Jones Y Ferencz
Arvin U Ruta
Cody I Shinko
Mayumi W Bolognia
Misaki Q Caldarera
Ricardo C Caudy
Tony Z Kusko
Leon X Inouye
Johnson F Iturbide
Francesco W Briddick
Costa C Kusko
Munro L Ruta
Jeanfrancois H Perin
Darci X Chui
Leja T Whobrey
Adams A Marrier
Morrow G Briddick
Izzy Q Oldroyd
Isabel S Garufi
Aruna Q Albares
David A Nicka
Salvatore Z Figeroa
Ashley W Saylors
Aditya G Caudy
Jennifer R Gillian
Faith W Ferencz
Leon E Caudy
Sinclair R Caldarera
Sinclair E Caldarera
Darci Q Ruta
Rodrigues I Shinko
Clifford N Morasca
Rodrigues G Venere
Greenwood H Butt
Jefferson L Oldroyd
Jeanfrancois A Wieser
Maisha A Chui
Cody O Stenseth
Misaki C Darakjy
Kaitlin I Ferencz
Julie I Marrier
Morrow F Nicka
Alejandro B Venere
IdCountryDate
1000France2024-05-27
1001Russia2024-05-23
1002Russia2024-05-03
1003Germany2024-05-11
1004Argentina2024-05-13
1005Spain2024-05-18
1006Italy2024-05-20
1007Canada2024-04-28
1008Canada2024-05-26
1009Argentina2024-05-01
1010United Kingdom2024-05-18
1011Argentina2024-05-11
1012Brazil2024-05-19
1013Japan2024-05-02
1014Russia2024-05-05
1015United Kingdom2024-05-21
1016Japan2024-05-22
1017India2024-05-21
1018Australia2024-05-06
1019Spain2024-05-23
1020Italy2024-05-03
1021Russia2024-05-12
1022Spain2024-05-16
1023Japan2024-05-04
1024Argentina2024-05-18
1025India2024-05-21
1026Russia2024-05-14
1027Canada2024-05-03
1028Italy2024-05-06
1029Brazil2024-05-07
1030Australia2024-05-10
1031Australia2024-05-02
1032Brazil2024-05-08
1033Australia2024-05-16
1034Brazil2024-05-15
1035Canada2024-05-17
1036Australia2024-05-11
1037Russia2024-05-09
1038France2024-05-17
1039United Kingdom2024-05-05
1040Germany2024-04-28
1041Spain2024-05-18
1042Germany2024-05-04
1043Australia2024-05-10
1044France2024-05-22
1045Argentina2024-04-28
1046Brazil2024-05-20
1047Spain2024-05-04
1048Italy2024-05-19
1049Brazil2024-05-02

On-Demand Data

NameIdCountryDate
Kadeem J Venere1000France2024-05-11
Emily M Rulapaugh1001Brazil2024-04-30
Wickens Z Nestle1002Germany2024-05-25
Kadeem G Ruta1003Brazil2024-04-28
Jefferson F Waycott1004India2024-05-11
Antonio V Kolmetz1005France2024-05-03
Izzy D Perin1006Japan2024-04-30
Mujtaba G Tollner1007Brazil2024-05-01
Rodrigues S Nicka1008Japan2024-05-13
Claire V Sergi1009Canada2024-05-15
Smith D Ruta1010Australia2024-04-29
David A Glick1011Brazil2024-05-04
Jefferson G Sergi1012Russia2024-05-07
Jennifer Q Albares1013Argentina2024-05-08
Claire U Gillian1014India2024-05-16
Johnson S Foller1015France2024-05-12
Antonio M Ferencz1016Italy2024-05-09
Izzy C Waycott1017India2024-05-20
David A Malet1018Japan2024-05-15
Wickens G Tollner1019Russia2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood I BologniaIndiaOnyama Limba NEW
Maria A GarufiJapanAmy Elsner NEW
Costa L NickaIndiaElwin Sharvill UNQUALIFIED
Salvatore C TollnerArgentinaIvan Magalhaes UNQUALIFIED
Antonio K WaycottJapanBernardo Dominic PROPOSAL
David S IturbideRussiaIvan Magalhaes UNQUALIFIED
David Z GlickBrazilAnna Fali NEGOTIATION
Isabel C MorascaBrazilIoni Bowcher PROPOSAL
Maria R PoquetteUnited KingdomStephen Shaw PROPOSAL
Deepesh O RimAustraliaElwin Sharvill QUALIFIED
Maria H WieserRussiaIvan Magalhaes UNQUALIFIED
Izzy S RulapaughAustraliaIvan Magalhaes PROPOSAL
Maisha V WhobreyGermanyOnyama Limba RENEWAL
Mayumi M FollerFranceElwin Sharvill QUALIFIED
Stacey X StensethSpainElwin Sharvill PROPOSAL
Stacey N GlickFranceIoni Bowcher NEGOTIATION
James Q ChuiAustraliaOnyama Limba NEGOTIATION
David U WaycottIndiaAnna Fali NEGOTIATION
Jennifer L WaycottFranceIvan Magalhaes PROPOSAL
Jones J PerinArgentinaElwin Sharvill PROPOSAL
Juan L BologniaJapanAsiya Javayant QUALIFIED
Leja X AlbaresJapanAsiya Javayant NEW
Adams Q VocelkaItalyAmy Elsner RENEWAL
Leja T CampainCanadaAmy Elsner UNQUALIFIED
Ivar J KolmetzFranceIoni Bowcher QUALIFIED
David U FollerArgentinaStephen Shaw UNQUALIFIED
Nicolas F PaprockiSpainBernardo Dominic UNQUALIFIED
Murillo D GarufiJapanOnyama Limba QUALIFIED
Francesco Q SlusarskiRussiaAsiya Javayant RENEWAL
Ashley M OstroskyAustraliaElwin Sharvill QUALIFIED
Clifford E ChuiSpainAmy Elsner NEW
James B FlosiUnited KingdomAmy Elsner RENEWAL
Greenwood P CaldareraItalyAsiya Javayant PROPOSAL
Ashley O DoeCanadaBernardo Dominic RENEWAL
Morrow V PaprockiIndiaIvan Magalhaes UNQUALIFIED
Antonio Z BologniaRussiaAmy Elsner QUALIFIED
Jeanfrancois E StockhamArgentinaAnna Fali NEGOTIATION
Aditya E FlosiSpainBernardo Dominic PROPOSAL
Greenwood P CaudyIndiaIvan Magalhaes PROPOSAL
Octavia Y GauchoGermanyIvan Magalhaes 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>