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
David S RutaBrazilElwin Sharvill PROPOSAL
Tony N WieserItalyElwin Sharvill UNQUALIFIED
Tony F FerenczSpainAsiya Javayant NEW
Arvin C NickaItalyAnna Fali UNQUALIFIED
Aditya S WaycottArgentinaStephen Shaw NEGOTIATION
Jeanfrancois Y OldroydAustraliaIoni Bowcher NEW
Julie T RimItalyAnna Fali PROPOSAL
Leja A GlickRussiaAmy Elsner NEW
Aika A VenereCanadaAnna Fali PROPOSAL
Octavia J AlbaresFranceIvan Magalhaes RENEWAL
Octavia L GillianArgentinaBernardo Dominic QUALIFIED
Emily W MarrierArgentinaAnna Fali QUALIFIED
Octavia G MaletSpainAmy Elsner QUALIFIED
Nicolas S SlusarskiJapanElwin Sharvill NEGOTIATION
Aika U KolmetzItalyAnna Fali PROPOSAL
Mujtaba M CaldareraArgentinaBernardo Dominic RENEWAL
Maisha D MaletJapanIvan Magalhaes NEW
Greenwood P ChuiUnited KingdomAmy Elsner NEGOTIATION
Munro D SergiFranceIvan Magalhaes NEGOTIATION
Maria N InouyeItalyAmy Elsner RENEWAL
Johnson J InouyeFranceAnna Fali NEW
Stacey H PerinItalyAnna Fali PROPOSAL
Claire O BriddickCanadaAsiya Javayant PROPOSAL
Aruna P MorascaGermanyIoni Bowcher NEGOTIATION
Kadeem H RulapaughArgentinaIoni Bowcher PROPOSAL
Rodrigues X WaycottItalyStephen Shaw PROPOSAL
Leon S MorascaGermanyAnna Fali PROPOSAL
Emily O WhobreyFranceIoni Bowcher RENEWAL
Deepesh K BriddickItalyIvan Magalhaes RENEWAL
Francesco Y GlickIndiaXuxue Feng UNQUALIFIED
Kadeem Q OstroskyArgentinaAmy Elsner RENEWAL
Ashley W RimBrazilAnna Fali RENEWAL
Clifford D RoysterIndiaIvan Magalhaes QUALIFIED
Isabel N CaldareraItalyElwin Sharvill NEGOTIATION
Maisha H VocelkaArgentinaElwin Sharvill QUALIFIED
Murillo R RimBrazilIvan Magalhaes PROPOSAL
Kaitlin T AmigonArgentinaXuxue Feng NEGOTIATION
Kaitlin T GlickUnited KingdomIvan Magalhaes QUALIFIED
Leon G MacleadSpainElwin Sharvill PROPOSAL
Ivar I CampainGermanyXuxue Feng UNQUALIFIED
Kadeem F WhobreyItalyAsiya Javayant RENEWAL
Deepesh X TollnerArgentinaStephen Shaw UNQUALIFIED
Jennifer T SaylorsGermanyAmy Elsner UNQUALIFIED
Ricardo Y IturbideGermanyElwin Sharvill QUALIFIED
Stacey K AmigonItalyElwin Sharvill QUALIFIED
Nicolas Z AlbaresCanadaAnna Fali QUALIFIED
Murillo M NickaAustraliaIvan Magalhaes NEGOTIATION
Antonio B WieserCanadaAnna Fali NEW
Alejandro B BowleyFranceAnna Fali QUALIFIED
Octavia E GlickIndiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja Z SaylorsFranceIoni Bowcher PROPOSAL
Greenwood R GarufiUnited KingdomXuxue Feng NEW
Leja Y StockhamArgentinaOnyama Limba UNQUALIFIED
Francesco I MaletFranceXuxue Feng UNQUALIFIED
Munro M InouyeJapanBernardo Dominic QUALIFIED
Ashley L FlosiCanadaOnyama Limba PROPOSAL
Morrow B NickaJapanStephen Shaw QUALIFIED
Mayumi I AmigonUnited KingdomXuxue Feng QUALIFIED
Cody Q PoquetteJapanStephen Shaw NEGOTIATION
Ivar P FollerItalyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford F KolmetzIndia2025-05-30Chanay, Jeffrey A Esq QUALIFIED32Amy Elsner
1001Izzy G SaylorsUnited Kingdom2025-06-01Chanay, Jeffrey A Esq NEGOTIATION70Asiya Javayant
1002Mayumi Z VenereJapan2025-05-26Morlong Associates RENEWAL76Ivan Magalhaes
1003Clifford I KuskoCanada2025-06-07Rousseaux, Michael Esq UNQUALIFIED31Xuxue Feng
1004Octavia M BowleyUnited Kingdom2025-06-10Benton, John B Jr UNQUALIFIED51Bernardo Dominic
1005Johnson T BriddickJapan2025-05-25Chanay, Jeffrey A Esq QUALIFIED0Amy Elsner
1006Jefferson F MaletJapan2025-06-12Benton, John B Jr NEGOTIATION92Stephen Shaw
1007Juan Y WaycottSpain2025-06-12Rousseaux, Michael Esq PROPOSAL46Ioni Bowcher
1008Sinclair A RoysterCanada2025-06-13Rangoni Of Florence QUALIFIED64Elwin Sharvill
1009Misaki T RoysterRussia2025-05-28King, Christopher A Esq NEGOTIATION85Onyama Limba
1010Isabel D DarakjyCanada2025-06-01Feltz Printing Service PROPOSAL24Amy Elsner
1011Jeanfrancois O MaletJapan2025-05-27Benton, John B Jr UNQUALIFIED73Bernardo Dominic
1012Arvin S BologniaCanada2025-05-18Morlong Associates UNQUALIFIED58Xuxue Feng
1013Silvio E RoysterCanada2025-06-12Rousseaux, Michael Esq UNQUALIFIED88Stephen Shaw
1014Misaki C PaprockiItaly2025-05-31Morlong Associates RENEWAL84Stephen Shaw
1015Claire V NestleAustralia2025-05-23Feiner Bros RENEWAL3Ioni Bowcher
1016Rodrigues B OstroskyIndia2025-05-22Chemel, James L Cpa RENEWAL8Ivan Magalhaes
1017Stacey W FigeroaArgentina2025-05-30Feltz Printing Service QUALIFIED78Anna Fali
1018Johnson C RimRussia2025-05-30Dorl, James J Esq NEW52Asiya Javayant
1019Wickens N PerinUnited Kingdom2025-05-28Dorl, James J Esq NEW12Ioni Bowcher
1020Jones G SlusarskiArgentina2025-06-10Chemel, James L Cpa NEGOTIATION91Ioni Bowcher
1021Kaitlin Y StensethGermany2025-05-19Rousseaux, Michael Esq UNQUALIFIED50Ivan Magalhaes
1022Leja L BriddickAustralia2025-06-02Feltz Printing Service RENEWAL51Anna Fali
1023Costa J PerinFrance2025-06-04Chapman, Ross E Esq QUALIFIED35Ioni Bowcher
1024Maisha P GlickCanada2025-06-03Commercial Press PROPOSAL31Asiya Javayant
1025Cody N GarufiArgentina2025-05-18Rangoni Of Florence PROPOSAL95Onyama Limba
1026Jennifer A AmigonIndia2025-05-26Rousseaux, Michael Esq PROPOSAL70Elwin Sharvill
1027Jennifer E MorascaItaly2025-06-16Truhlar And Truhlar Attys NEGOTIATION18Bernardo Dominic
1028Sinclair T SchemmerRussia2025-06-07King, Christopher A Esq PROPOSAL2Stephen Shaw
1029Salvatore Z ButtRussia2025-06-05Chemel, James L Cpa PROPOSAL34Ivan Magalhaes
1030Mayumi H AlbaresBrazil2025-06-01Morlong Associates RENEWAL4Anna Fali
1031Isabel E StensethGermany2025-05-20Feltz Printing Service PROPOSAL59Stephen Shaw
1032Isabel X KuskoFrance2025-05-25Printing Dimensions RENEWAL85Xuxue Feng
1033Emily H DilliardCanada2025-06-15Benton, John B Jr UNQUALIFIED9Stephen Shaw
1034Francesco M SchemmerIndia2025-05-28Benton, John B Jr QUALIFIED65Xuxue Feng
1035Misaki R GauchoJapan2025-05-21Printing Dimensions QUALIFIED73Asiya Javayant
1036Munro Z VenereFrance2025-06-16King, Christopher A Esq QUALIFIED59Ivan Magalhaes
1037Kadeem U KuskoArgentina2025-06-15Printing Dimensions NEW70Xuxue Feng
1038Octavia C FerenczArgentina2025-05-25Truhlar And Truhlar Attys UNQUALIFIED62Stephen Shaw
1039Silvio D BriddickCanada2025-05-30Chapman, Ross E Esq PROPOSAL31Bernardo Dominic
1040Julie H StockhamIndia2025-06-16Chanay, Jeffrey A Esq NEGOTIATION76Ioni Bowcher
1041Emily Y MacleadRussia2025-05-24Truhlar And Truhlar Attys NEGOTIATION35Asiya Javayant
1042Aditya O InouyeItaly2025-06-12Chemel, James L Cpa NEGOTIATION44Ivan Magalhaes
1043Munro S GarufiAustralia2025-06-02Rousseaux, Michael Esq PROPOSAL91Amy Elsner
1044Nicolas L MaletSpain2025-05-18Chapman, Ross E Esq RENEWAL71Stephen Shaw
1045Maria C MaletRussia2025-05-25Printing Dimensions QUALIFIED65Amy Elsner
1046Mayumi E FigeroaBrazil2025-05-19Printing Dimensions UNQUALIFIED12Anna Fali
1047Tony R MarrierArgentina2025-05-23Commercial Press NEGOTIATION84Ivan Magalhaes
1048Maisha H MacleadJapan2025-05-23Dorl, James J Esq NEGOTIATION14Amy Elsner
1049Emily Q DarakjyArgentina2025-05-30Printing Dimensions NEW79Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Faith Z DilliardUnited KingdomAnna Fali RENEWAL
Maria G SlusarskiItalyElwin Sharvill PROPOSAL
Emily F ChuiBrazilAmy Elsner QUALIFIED
Darci J RoysterJapanIvan Magalhaes NEGOTIATION
Faith R BologniaBrazilBernardo Dominic RENEWAL
Alejandro V MarrierFranceElwin Sharvill NEGOTIATION
James T GauchoUnited KingdomStephen Shaw PROPOSAL
Julie X KolmetzSpainIvan Magalhaes NEGOTIATION
Deepesh P KuskoItalyAnna Fali UNQUALIFIED
Ashley A FollerJapanIoni Bowcher NEW
Misaki Q TollnerIndiaAsiya Javayant QUALIFIED
Murillo T InouyeCanadaAsiya Javayant UNQUALIFIED
Alejandro X PerinSpainXuxue Feng NEW
Misaki S CaudyItalyAmy Elsner RENEWAL
David A StockhamGermanyStephen Shaw UNQUALIFIED
Aditya R ButtUnited KingdomAnna Fali UNQUALIFIED
Chavez K FlosiIndiaAnna Fali PROPOSAL
Alejandro W OldroydGermanyAnna Fali PROPOSAL
Mayumi N ButtBrazilBernardo Dominic RENEWAL
Morrow P DoeCanadaElwin Sharvill UNQUALIFIED
Claire K MorascaAustraliaStephen Shaw RENEWAL
Greenwood N FerenczFranceAnna Fali NEW
Maisha M AmigonBrazilAmy Elsner PROPOSAL
Izzy D FerenczRussiaStephen Shaw UNQUALIFIED
Ivar L SaylorsCanadaElwin Sharvill NEGOTIATION
Silvio S MorascaIndiaXuxue Feng NEGOTIATION
Julie W SaylorsFranceAmy Elsner RENEWAL
Aika E GillianRussiaXuxue Feng NEGOTIATION
Nicolas Q MaletArgentinaXuxue Feng RENEWAL
Leon X PerinItalyStephen Shaw RENEWAL
Jefferson C VenereFranceBernardo Dominic NEW
Emily K VenereBrazilIoni Bowcher NEW
James F VenereArgentinaAmy Elsner UNQUALIFIED
Isabel D OstroskyAustraliaOnyama Limba NEW
Greenwood K ChuiSpainIvan Magalhaes NEGOTIATION
Maria R FollerBrazilIoni Bowcher RENEWAL
Wickens M FerenczFranceAsiya Javayant UNQUALIFIED
Claire L BologniaJapanXuxue Feng QUALIFIED
Murillo T NestleGermanyStephen Shaw QUALIFIED
Ivar D GauchoIndiaBernardo Dominic NEGOTIATION
Stacey Q MorascaGermanyXuxue Feng PROPOSAL
Juan O SchemmerIndiaElwin Sharvill NEW
Munro R WhobreyCanadaIoni Bowcher PROPOSAL
Darci M KuskoGermanyIvan Magalhaes UNQUALIFIED
Wickens I RulapaughArgentinaOnyama Limba NEGOTIATION
Mujtaba P FollerItalyAsiya Javayant RENEWAL
Darci W TollnerUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois P MaletJapanOnyama Limba RENEWAL
Smith U CaldareraIndiaIvan Magalhaes NEGOTIATION
Julie W ButtAustraliaBernardo Dominic PROPOSAL
Frozen Columns
Name
Ivar V Schemmer
Maisha L Gillian
Octavia O Bowley
Isabel U Caldarera
James I Chui
Maria R Gaucho
Ricardo A Caudy
Arvin A Rim
Misaki A Caudy
Aditya V Butt
Isabel A Perin
Octavia B Briddick
Munro V Saylors
Julie B Flosi
Deepesh T Darakjy
Smith U Dilliard
Ricardo W Stenseth
Jennifer N Gaucho
Kadeem B Figeroa
Johnson T Malet
Aika V Foller
Mayumi F Ruta
Claire R Amigon
Silvio P Foller
Ivar T Glick
Adams U Ruta
Silvio I Ruta
Rodrigues S Shinko
Sinclair T Nestle
Julie W Poquette
Mayumi F Amigon
Faith I Nicka
Jennifer L Glick
Nicolas Y Nicka
Aruna K Morasca
Faith N Kusko
Ivar S Dilliard
Aika G Shinko
Stacey S Tollner
David F Paprocki
Stacey V Paprocki
Ricardo M Iturbide
Salvatore M Caldarera
Darci T Wieser
Ivar R Malet
Misaki B Royster
Ashley N Ostrosky
Arvin D Schemmer
Cody U Briddick
Antonio Z Doe
IdCountryDate
1000Germany2025-05-23
1001Italy2025-06-05
1002Spain2025-05-31
1003Spain2025-06-02
1004India2025-06-15
1005Argentina2025-06-10
1006Australia2025-05-20
1007Australia2025-05-24
1008Brazil2025-05-28
1009India2025-05-19
1010Argentina2025-06-09
1011Spain2025-06-05
1012Spain2025-05-31
1013Spain2025-06-09
1014Argentina2025-05-19
1015Canada2025-05-27
1016Germany2025-05-28
1017Canada2025-06-13
1018Russia2025-05-29
1019Spain2025-06-12
1020Canada2025-05-29
1021Japan2025-06-04
1022United Kingdom2025-05-27
1023United Kingdom2025-06-07
1024Germany2025-05-20
1025Russia2025-06-05
1026Italy2025-06-02
1027Australia2025-06-03
1028Canada2025-06-11
1029Canada2025-06-11
1030Canada2025-05-29
1031Australia2025-05-28
1032Spain2025-06-15
1033Russia2025-06-02
1034Germany2025-06-06
1035Australia2025-05-20
1036Japan2025-05-19
1037Brazil2025-06-06
1038Germany2025-05-25
1039Argentina2025-05-23
1040Spain2025-06-11
1041Japan2025-05-26
1042United Kingdom2025-06-15
1043Argentina2025-05-24
1044Argentina2025-06-07
1045Russia2025-05-27
1046Russia2025-05-27
1047Canada2025-06-13
1048India2025-05-25
1049Canada2025-06-05

On-Demand Data

NameIdCountryDate
James A Perin1000Canada2025-05-31
Emily N Butt1001Brazil2025-05-19
Claire F Bolognia1002Australia2025-06-15
Leja W Iturbide1003Canada2025-05-30
Misaki B Caudy1004India2025-05-28
Isabel C Caldarera1005Russia2025-06-15
Juan Y Iturbide1006Russia2025-06-08
Julie U Ostrosky1007Spain2025-05-30
Leja Z Ruta1008Australia2025-05-28
Aruna D Venere1009India2025-06-12
Greenwood S Chui1010Argentina2025-06-13
Leon F Dilliard1011Italy2025-05-30
Faith W Iturbide1012Argentina2025-06-12
Francesco F Campain1013United Kingdom2025-05-25
Chavez H Kusko1014Germany2025-05-25
Emily I Malet1015United Kingdom2025-06-03
Leja I Caldarera1016Japan2025-05-25
Wickens V Malet1017Argentina2025-05-28
Mujtaba Q Chui1018Italy2025-06-03
James B Stenseth1019Brazil2025-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow O TollnerCanadaStephen Shaw RENEWAL
Jefferson R PerinArgentinaIvan Magalhaes NEW
Jennifer I NickaArgentinaAmy Elsner QUALIFIED
Nicolas J PoquetteBrazilStephen Shaw RENEWAL
Emily X OldroydAustraliaElwin Sharvill UNQUALIFIED
Silvio I MaletRussiaIvan Magalhaes RENEWAL
Arvin L RutaFranceIoni Bowcher UNQUALIFIED
Cody K SaylorsIndiaAnna Fali RENEWAL
Kadeem D RutaCanadaIoni Bowcher NEGOTIATION
Costa O RimGermanyXuxue Feng NEGOTIATION
Misaki B SergiArgentinaAnna Fali UNQUALIFIED
Juan R SaylorsArgentinaIoni Bowcher NEW
Ashley E ChuiGermanyXuxue Feng PROPOSAL
Aditya N WaycottUnited KingdomAsiya Javayant RENEWAL
Munro H BriddickJapanAsiya Javayant NEW
Greenwood Z CaudyGermanyAsiya Javayant NEW
Smith E CaldareraUnited KingdomIoni Bowcher RENEWAL
Mujtaba S SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Nicolas S IturbideUnited KingdomBernardo Dominic NEW
Octavia E SchemmerCanadaOnyama Limba PROPOSAL
Johnson C BologniaAustraliaAnna Fali UNQUALIFIED
Francesco P OstroskyJapanXuxue Feng NEW
Sinclair Q RimFranceStephen Shaw RENEWAL
Nicolas W IturbideUnited KingdomElwin Sharvill QUALIFIED
Salvatore L DoeCanadaStephen Shaw NEGOTIATION
Julie V PaprockiRussiaIvan Magalhaes NEW
Alejandro P VenereCanadaStephen Shaw NEW
Chavez E DarakjyIndiaIvan Magalhaes QUALIFIED
Misaki M RulapaughUnited KingdomXuxue Feng RENEWAL
Antonio D SchemmerUnited KingdomXuxue Feng NEGOTIATION
Clifford P WaycottItalyAmy Elsner UNQUALIFIED
Ivar N GlickArgentinaBernardo Dominic RENEWAL
Adams R SchemmerBrazilStephen Shaw QUALIFIED
Morrow V StensethCanadaAsiya Javayant UNQUALIFIED
Maisha R IturbideAustraliaElwin Sharvill RENEWAL
Ashley J KuskoItalyStephen Shaw RENEWAL
Ricardo T AmigonSpainAnna Fali NEW
James P DarakjyArgentinaAsiya Javayant UNQUALIFIED
Rodrigues E FigeroaItalyOnyama Limba NEW
Wickens Y DoeRussiaAmy Elsner QUALIFIED

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