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
Maisha Y ShinkoArgentinaXuxue Feng NEGOTIATION
Misaki U PerinArgentinaOnyama Limba QUALIFIED
Wickens N MacleadSpainIoni Bowcher QUALIFIED
Leon Y RoysterJapanOnyama Limba QUALIFIED
Munro M CaldareraSpainOnyama Limba QUALIFIED
Cody F MacleadItalyElwin Sharvill QUALIFIED
Antonio V NestleUnited KingdomAsiya Javayant NEGOTIATION
Salvatore Q RutaFranceOnyama Limba UNQUALIFIED
Nicolas L SlusarskiAustraliaIvan Magalhaes RENEWAL
Kaitlin A GillianItalyBernardo Dominic RENEWAL
David D DilliardUnited KingdomOnyama Limba UNQUALIFIED
Emily S IturbideJapanXuxue Feng RENEWAL
Nicolas G IturbideIndiaXuxue Feng NEW
Octavia V DilliardJapanAnna Fali QUALIFIED
Juan W SergiIndiaAmy Elsner PROPOSAL
Clifford P FlosiGermanyIvan Magalhaes RENEWAL
Adams L InouyeBrazilStephen Shaw RENEWAL
Nicolas B AmigonItalyAsiya Javayant PROPOSAL
Maria W SlusarskiRussiaAmy Elsner UNQUALIFIED
Julie M MaletGermanyIvan Magalhaes NEGOTIATION
Alejandro X RimJapanElwin Sharvill QUALIFIED
Stacey A StockhamSpainBernardo Dominic NEGOTIATION
Aruna Y FlosiJapanOnyama Limba NEGOTIATION
Murillo L InouyeCanadaOnyama Limba UNQUALIFIED
Misaki D RulapaughCanadaAnna Fali PROPOSAL
Kaitlin J SergiAustraliaAmy Elsner NEW
Ivar Q CaldareraAustraliaAsiya Javayant PROPOSAL
Nicolas L RutaIndiaAnna Fali NEW
David U KolmetzGermanyAsiya Javayant RENEWAL
Ivar Z SchemmerCanadaAsiya Javayant PROPOSAL
Adams F MacleadItalyAmy Elsner NEW
Sinclair F ChuiUnited KingdomAmy Elsner NEGOTIATION
Johnson X FigeroaUnited KingdomAsiya Javayant PROPOSAL
Antonio P VenereAustraliaBernardo Dominic NEW
Darci R WaycottAustraliaAsiya Javayant PROPOSAL
Leja T OstroskySpainAnna Fali RENEWAL
Morrow V NickaRussiaAmy Elsner NEGOTIATION
Kadeem T OstroskySpainXuxue Feng NEW
Rodrigues L MaletUnited KingdomElwin Sharvill RENEWAL
Mujtaba G SaylorsGermanyXuxue Feng UNQUALIFIED
Nicolas P DarakjyUnited KingdomAsiya Javayant NEW
Ivar J DilliardIndiaXuxue Feng NEW
Rodrigues H MorascaItalyAmy Elsner NEGOTIATION
Wickens A InouyeSpainOnyama Limba QUALIFIED
Maria M CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford V OldroydGermanyAnna Fali NEGOTIATION
Stacey S NickaArgentinaIoni Bowcher RENEWAL
Sinclair P DilliardItalyXuxue Feng UNQUALIFIED
Emily S FigeroaAustraliaStephen Shaw UNQUALIFIED
Silvio A MaletArgentinaIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Chavez T GarufiRussiaAmy Elsner NEW
Murillo W IturbideIndiaElwin Sharvill NEGOTIATION
Morrow X ShinkoItalyAnna Fali RENEWAL
Johnson G DilliardIndiaStephen Shaw NEW
Jefferson W GlickFranceOnyama Limba QUALIFIED
Clifford U StockhamCanadaStephen Shaw QUALIFIED
Antonio N SlusarskiSpainAmy Elsner NEW
Jefferson H CaldareraSpainStephen Shaw UNQUALIFIED
Jefferson K FerenczFranceIvan Magalhaes NEGOTIATION
Stacey P SchemmerBrazilAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer E VocelkaFrance2024-06-20Rousseaux, Michael Esq NEGOTIATION52Elwin Sharvill
1001Silvio P PaprockiJapan2024-05-31Chapman, Ross E Esq PROPOSAL13Amy Elsner
1002Chavez H WaycottGermany2024-06-07Rangoni Of Florence UNQUALIFIED33Xuxue Feng
1003Ivar K KolmetzSpain2024-05-27Feltz Printing Service NEW49Amy Elsner
1004Rodrigues Y ChuiUnited Kingdom2024-06-08Printing Dimensions RENEWAL74Onyama Limba
1005Jefferson Z NestleCanada2024-06-21Chemel, James L Cpa PROPOSAL84Xuxue Feng
1006Rodrigues O WhobreyBrazil2024-06-22Rousseaux, Michael Esq RENEWAL59Onyama Limba
1007Smith V MarrierItaly2024-05-30Printing Dimensions PROPOSAL65Asiya Javayant
1008Jefferson R CampainAustralia2024-05-27King, Christopher A Esq QUALIFIED43Anna Fali
1009Juan C BowleyRussia2024-06-06Chapman, Ross E Esq RENEWAL47Amy Elsner
1010Darci N BologniaArgentina2024-05-31Dorl, James J Esq QUALIFIED23Ioni Bowcher
1011Mayumi M BologniaIndia2024-05-27Commercial Press NEGOTIATION86Elwin Sharvill
1012Maisha S DarakjyBrazil2024-05-30Chemel, James L Cpa PROPOSAL85Xuxue Feng
1013Leon O BologniaItaly2024-06-22Feiner Bros RENEWAL7Ioni Bowcher
1014Maisha C MacleadJapan2024-06-09Truhlar And Truhlar Attys NEW19Onyama Limba
1015Silvio S MarrierIndia2024-05-28Feltz Printing Service RENEWAL30Elwin Sharvill
1016Jefferson F ButtItaly2024-06-21Feiner Bros QUALIFIED31Anna Fali
1017Darci Y MacleadRussia2024-06-14Feiner Bros NEW19Elwin Sharvill
1018Juan Y FerenczFrance2024-06-24Morlong Associates RENEWAL31Amy Elsner
1019Nicolas W RoysterJapan2024-06-05Truhlar And Truhlar Attys RENEWAL40Amy Elsner
1020James M BologniaGermany2024-05-29Chanay, Jeffrey A Esq NEW93Elwin Sharvill
1021Sinclair O VocelkaItaly2024-06-08King, Christopher A Esq RENEWAL6Anna Fali
1022Ashley Y VenereArgentina2024-06-12Chemel, James L Cpa UNQUALIFIED4Asiya Javayant
1023Maisha H MacleadItaly2024-05-29Benton, John B Jr RENEWAL13Bernardo Dominic
1024Sinclair C GillianAustralia2024-06-06Chemel, James L Cpa RENEWAL3Bernardo Dominic
1025Greenwood K GarufiFrance2024-06-02Dorl, James J Esq NEGOTIATION25Onyama Limba
1026Murillo M FigeroaGermany2024-06-08Commercial Press NEW32Anna Fali
1027Misaki Z SchemmerBrazil2024-06-14Rangoni Of Florence NEGOTIATION24Stephen Shaw
1028Smith S SaylorsUnited Kingdom2024-06-24Rousseaux, Michael Esq UNQUALIFIED14Bernardo Dominic
1029Aruna Q TollnerIndia2024-06-05Chapman, Ross E Esq NEW87Onyama Limba
1030Adams E OstroskyCanada2024-06-16Rousseaux, Michael Esq UNQUALIFIED64Stephen Shaw
1031Ricardo P DarakjyFrance2024-06-11Printing Dimensions UNQUALIFIED8Ivan Magalhaes
1032Cody A MacleadCanada2024-06-18Commercial Press RENEWAL61Xuxue Feng
1033Mujtaba G MarrierAustralia2024-05-30Chanay, Jeffrey A Esq RENEWAL21Onyama Limba
1034Octavia R SchemmerIndia2024-06-11Chemel, James L Cpa QUALIFIED2Stephen Shaw
1035Izzy O GlickItaly2024-06-05Chapman, Ross E Esq NEGOTIATION84Ivan Magalhaes
1036Jones N VenereArgentina2024-05-29Buckley Miller Wright UNQUALIFIED21Anna Fali
1037Jones A DilliardAustralia2024-06-02Feiner Bros NEW67Anna Fali
1038Munro F FlosiJapan2024-06-13Morlong Associates UNQUALIFIED8Ioni Bowcher
1039Maisha P RoysterBrazil2024-06-12Feltz Printing Service NEGOTIATION82Stephen Shaw
1040Munro H SergiCanada2024-06-08Commercial Press QUALIFIED7Ioni Bowcher
1041Johnson M FlosiBrazil2024-06-01Dorl, James J Esq QUALIFIED67Bernardo Dominic
1042Ivar X MaletArgentina2024-06-03Printing Dimensions RENEWAL46Ivan Magalhaes
1043Aika F TollnerBrazil2024-05-30King, Christopher A Esq QUALIFIED90Xuxue Feng
1044Stacey M FlosiCanada2024-06-20Chanay, Jeffrey A Esq NEGOTIATION91Elwin Sharvill
1045Ivar I IturbideGermany2024-06-15Truhlar And Truhlar Attys RENEWAL53Anna Fali
1046Kaitlin M AlbaresCanada2024-05-31Rangoni Of Florence NEGOTIATION3Ivan Magalhaes
1047Ashley D PerinJapan2024-06-24Printing Dimensions NEW60Xuxue Feng
1048Costa P MaletSpain2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED15Asiya Javayant
1049Adams P DarakjyCanada2024-05-28Chemel, James L Cpa PROPOSAL52Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jones E CampainUnited KingdomElwin Sharvill PROPOSAL
Leon M TollnerGermanyOnyama Limba UNQUALIFIED
Adams G GillianRussiaStephen Shaw UNQUALIFIED
Leon U SchemmerJapanAmy Elsner PROPOSAL
Aika A GauchoIndiaIvan Magalhaes UNQUALIFIED
Ricardo W MorascaRussiaAsiya Javayant NEGOTIATION
Tony O DoeArgentinaAnna Fali PROPOSAL
Kadeem X TollnerBrazilXuxue Feng NEW
Maria T PerinItalyBernardo Dominic RENEWAL
Silvio U KuskoGermanyOnyama Limba PROPOSAL
Aruna H FigeroaArgentinaAsiya Javayant PROPOSAL
Francesco P WieserUnited KingdomAnna Fali PROPOSAL
Alejandro R MorascaUnited KingdomElwin Sharvill NEGOTIATION
Clifford I BriddickBrazilBernardo Dominic NEW
Tony H SergiItalyIvan Magalhaes NEW
Munro P StockhamCanadaXuxue Feng PROPOSAL
Costa I FollerIndiaBernardo Dominic PROPOSAL
Salvatore R MacleadBrazilElwin Sharvill NEGOTIATION
Sinclair Z DoeAustraliaXuxue Feng UNQUALIFIED
Smith S OstroskyFranceStephen Shaw QUALIFIED
Antonio G SergiJapanAsiya Javayant UNQUALIFIED
Johnson D PerinFranceStephen Shaw PROPOSAL
Rodrigues I MaletArgentinaXuxue Feng UNQUALIFIED
Wickens S FigeroaSpainAmy Elsner PROPOSAL
Aditya J CampainAustraliaStephen Shaw NEW
Cody X IturbideItalyAsiya Javayant NEW
David X VocelkaCanadaAnna Fali NEW
James I SlusarskiIndiaAsiya Javayant PROPOSAL
Faith K PaprockiAustraliaAsiya Javayant NEGOTIATION
Jefferson Q BowleyGermanyBernardo Dominic RENEWAL
Leja O DilliardItalyAsiya Javayant UNQUALIFIED
Julie F MacleadFranceAmy Elsner PROPOSAL
Costa Z ChuiCanadaBernardo Dominic RENEWAL
Maria B SaylorsIndiaAnna Fali RENEWAL
Aika I RoysterGermanyOnyama Limba NEW
Antonio M KuskoRussiaAsiya Javayant NEGOTIATION
Aika G MorascaFranceAmy Elsner NEGOTIATION
Cody Q MorascaFranceBernardo Dominic NEGOTIATION
Isabel Z PaprockiUnited KingdomIvan Magalhaes RENEWAL
Julie M RimCanadaIvan Magalhaes UNQUALIFIED
Emily T MorascaIndiaStephen Shaw PROPOSAL
Tony S KuskoItalyOnyama Limba NEW
Jefferson X RimGermanyIvan Magalhaes NEGOTIATION
Julie Q SergiCanadaAsiya Javayant NEGOTIATION
Alejandro A SlusarskiIndiaAnna Fali UNQUALIFIED
Mayumi Q MaletSpainIvan Magalhaes NEW
Morrow F WieserItalyOnyama Limba UNQUALIFIED
Julie H VenereUnited KingdomOnyama Limba PROPOSAL
Greenwood Q SergiUnited KingdomElwin Sharvill NEW
Octavia Y CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Frozen Columns
Name
Johnson G Flosi
Octavia B Garufi
Chavez R Ostrosky
James F Slusarski
Greenwood E Inouye
Francesco U Kolmetz
Mayumi F Flosi
Aika L Rulapaugh
Maisha X Tollner
Aditya E Foller
Greenwood B Flosi
Maria B Rulapaugh
Faith L Bowley
Munro F Whobrey
Ivar X Campain
Maisha Y Bolognia
Emily S Oldroyd
James B Shinko
Tony I Malet
Mayumi Y Bolognia
Mayumi G Ostrosky
Greenwood X Stenseth
Jeanfrancois G Poquette
Adams H Butt
Smith L Sergi
Julie N Nestle
Munro B Sergi
Mayumi R Malet
Maria Y Butt
Clifford E Oldroyd
Deepesh X Albares
Izzy R Garufi
Kaitlin O Morasca
Smith V Whobrey
Jones U Albares
Leja U Stockham
Murillo D Chui
Isabel R Malet
Chavez R Inouye
Stacey I Briddick
Stacey Y Darakjy
Julie R Maclead
Sinclair O Darakjy
Ashley Z Morasca
Isabel Y Campain
Julie X Sergi
Aruna U Bolognia
Deepesh I Malet
Alejandro Y Albares
Leja L Nicka
IdCountryDate
1000Argentina2024-06-06
1001Brazil2024-06-20
1002Japan2024-06-17
1003Italy2024-05-27
1004India2024-06-03
1005Italy2024-06-01
1006United Kingdom2024-05-28
1007Spain2024-06-18
1008Japan2024-06-24
1009Brazil2024-06-24
1010Argentina2024-05-30
1011Argentina2024-06-19
1012Germany2024-06-22
1013India2024-06-24
1014Germany2024-06-21
1015Brazil2024-06-20
1016United Kingdom2024-05-30
1017Argentina2024-06-03
1018France2024-06-06
1019Argentina2024-06-10
1020France2024-06-12
1021Japan2024-06-16
1022United Kingdom2024-05-31
1023Australia2024-05-29
1024Germany2024-06-08
1025Japan2024-06-24
1026France2024-06-12
1027Argentina2024-06-15
1028France2024-06-23
1029France2024-06-21
1030France2024-05-27
1031Germany2024-06-05
1032Australia2024-05-31
1033Germany2024-06-05
1034Canada2024-06-05
1035Russia2024-06-11
1036India2024-06-03
1037Brazil2024-06-06
1038Canada2024-05-26
1039Brazil2024-06-23
1040Canada2024-05-30
1041Australia2024-06-22
1042United Kingdom2024-05-31
1043Argentina2024-06-21
1044France2024-06-12
1045Argentina2024-06-15
1046Brazil2024-06-17
1047Brazil2024-06-19
1048Australia2024-06-23
1049Japan2024-06-19

On-Demand Data

NameIdCountryDate
Tony S Gaucho1000Argentina2024-06-13
Aika R Oldroyd1001Canada2024-06-22
James S Rim1002Russia2024-05-30
Arvin S Ferencz1003Canada2024-06-22
Alejandro K Rulapaugh1004India2024-05-30
Juan V Darakjy1005Italy2024-06-22
Maria W Oldroyd1006Spain2024-06-16
Ashley O Iturbide1007Japan2024-05-27
Aruna K Schemmer1008Brazil2024-06-24
Salvatore C Kusko1009Japan2024-05-30
Johnson P Inouye1010Argentina2024-06-18
Stacey C Malet1011Canada2024-06-16
Jennifer Q Venere1012United Kingdom2024-05-29
Smith Y Caldarera1013Italy2024-06-11
Darci B Gillian1014Japan2024-06-12
Misaki J Ferencz1015Australia2024-05-27
Cody V Oldroyd1016Japan2024-06-15
Jones O Dilliard1017France2024-06-03
Smith Y Perin1018France2024-06-21
Alejandro N Schemmer1019Brazil2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith B RoysterAustraliaIvan Magalhaes RENEWAL
Silvio A GlickFranceAsiya Javayant QUALIFIED
Misaki I WaycottBrazilAsiya Javayant NEGOTIATION
Clifford H DilliardFranceIvan Magalhaes NEW
Misaki O VenereGermanyAnna Fali RENEWAL
Mayumi T KolmetzItalyIvan Magalhaes PROPOSAL
Jennifer I AlbaresCanadaElwin Sharvill PROPOSAL
James U NestleRussiaAmy Elsner UNQUALIFIED
Smith O CaudyCanadaAnna Fali NEGOTIATION
Jones X MacleadFranceOnyama Limba NEW
Sinclair P DilliardFranceAmy Elsner PROPOSAL
Faith O CaldareraAustraliaBernardo Dominic RENEWAL
Tony R KolmetzJapanIoni Bowcher UNQUALIFIED
Aditya V CaudyGermanyStephen Shaw UNQUALIFIED
Costa C GillianSpainBernardo Dominic RENEWAL
Silvio K MaletUnited KingdomAsiya Javayant RENEWAL
Kaitlin Y PoquetteIndiaElwin Sharvill QUALIFIED
Kadeem S SchemmerBrazilIoni Bowcher QUALIFIED
Greenwood N InouyeSpainIoni Bowcher UNQUALIFIED
Mujtaba E BologniaSpainBernardo Dominic UNQUALIFIED
Deepesh M GauchoCanadaIvan Magalhaes QUALIFIED
Kaitlin D GlickRussiaStephen Shaw UNQUALIFIED
Misaki Y RutaItalyAsiya Javayant PROPOSAL
Nicolas M RoysterJapanElwin Sharvill UNQUALIFIED
Mujtaba O KuskoCanadaXuxue Feng NEGOTIATION
Maria K KuskoGermanyBernardo Dominic UNQUALIFIED
Johnson M BologniaIndiaAsiya Javayant PROPOSAL
James O AmigonItalyOnyama Limba QUALIFIED
Salvatore P KolmetzRussiaIoni Bowcher NEGOTIATION
Cody V MacleadIndiaElwin Sharvill RENEWAL
Jones O SaylorsRussiaIvan Magalhaes RENEWAL
Cody I MaletFranceIoni Bowcher QUALIFIED
Murillo L GlickCanadaIoni Bowcher UNQUALIFIED
Emily P IturbideBrazilAsiya Javayant NEW
Mayumi H SaylorsArgentinaBernardo Dominic UNQUALIFIED
Claire L ButtBrazilOnyama Limba UNQUALIFIED
Kadeem B OldroydUnited KingdomIoni Bowcher NEGOTIATION
Isabel X RulapaughGermanyXuxue Feng NEGOTIATION
Nicolas C SergiSpainAmy Elsner QUALIFIED
Chavez X RoysterFranceAmy 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>