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
Clifford H IturbideCanadaIoni Bowcher NEGOTIATION
David D PaprockiJapanBernardo Dominic QUALIFIED
Jefferson G FigeroaSpainAmy Elsner RENEWAL
Maria F MacleadAustraliaAmy Elsner PROPOSAL
Adams L FerenczJapanElwin Sharvill NEGOTIATION
Chavez O MarrierBrazilElwin Sharvill NEW
Aditya Y RutaArgentinaAmy Elsner QUALIFIED
Ricardo W FlosiItalyIvan Magalhaes PROPOSAL
Morrow B SlusarskiAustraliaOnyama Limba RENEWAL
Sinclair S NickaCanadaAnna Fali NEGOTIATION
James M KuskoGermanyAnna Fali NEGOTIATION
Smith I CampainBrazilIvan Magalhaes NEGOTIATION
Darci H ButtRussiaIvan Magalhaes UNQUALIFIED
Leja J FlosiFranceAmy Elsner QUALIFIED
Cody M KuskoJapanXuxue Feng QUALIFIED
Morrow H WaycottItalyStephen Shaw UNQUALIFIED
Nicolas M WaycottGermanyAsiya Javayant QUALIFIED
Tony Z MaletRussiaBernardo Dominic RENEWAL
Octavia J BowleyRussiaBernardo Dominic UNQUALIFIED
Silvio A DilliardUnited KingdomBernardo Dominic RENEWAL
Alejandro J TollnerCanadaStephen Shaw NEGOTIATION
Salvatore Q PoquetteItalyBernardo Dominic NEW
Ashley R FerenczAustraliaOnyama Limba UNQUALIFIED
Leja F NestleSpainXuxue Feng RENEWAL
Sinclair E ShinkoAustraliaIoni Bowcher QUALIFIED
Alejandro Y OldroydRussiaAnna Fali RENEWAL
Smith G NickaUnited KingdomXuxue Feng RENEWAL
Jefferson D MorascaArgentinaAnna Fali RENEWAL
Mujtaba E WhobreyFranceAnna Fali NEGOTIATION
Clifford J TollnerIndiaStephen Shaw NEGOTIATION
Johnson J SchemmerRussiaStephen Shaw UNQUALIFIED
Maria F MacleadJapanIoni Bowcher QUALIFIED
Darci S RoysterIndiaBernardo Dominic UNQUALIFIED
Morrow A GauchoAustraliaStephen Shaw UNQUALIFIED
Faith P TollnerSpainStephen Shaw UNQUALIFIED
Costa J SchemmerUnited KingdomBernardo Dominic NEW
Antonio P FollerArgentinaStephen Shaw QUALIFIED
Francesco O SlusarskiItalyElwin Sharvill NEW
Faith U VocelkaArgentinaAmy Elsner NEW
Aika E SchemmerFranceXuxue Feng NEW
Juan Y MacleadUnited KingdomAsiya Javayant QUALIFIED
Kadeem Y TollnerSpainElwin Sharvill NEGOTIATION
Silvio C KuskoFranceXuxue Feng NEW
Adams X InouyeSpainAnna Fali RENEWAL
Misaki C GillianBrazilIoni Bowcher UNQUALIFIED
Aika S AmigonFranceAmy Elsner NEGOTIATION
Aika G StockhamAustraliaStephen Shaw NEW
Murillo O FlosiSpainXuxue Feng RENEWAL
Aditya W PaprockiCanadaElwin Sharvill UNQUALIFIED
Stacey J AmigonSpainOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith X FlosiAustraliaAnna Fali NEW
Alejandro A MaletSpainIvan Magalhaes RENEWAL
Aika B AmigonArgentinaAmy Elsner PROPOSAL
Smith X ShinkoCanadaElwin Sharvill NEGOTIATION
Claire H RutaGermanyAnna Fali PROPOSAL
Wickens T FlosiAustraliaBernardo Dominic RENEWAL
Jennifer E RutaFranceIoni Bowcher RENEWAL
Ivar X MaletBrazilBernardo Dominic QUALIFIED
Julie A MorascaFranceXuxue Feng UNQUALIFIED
Juan G RutaGermanyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo U GarufiGermany2024-06-19Printing Dimensions NEW59Elwin Sharvill
1001Jeanfrancois M CaudyBrazil2024-06-02Printing Dimensions NEGOTIATION42Ioni Bowcher
1002Jones M VocelkaIndia2024-06-07Feiner Bros NEGOTIATION67Bernardo Dominic
1003Deepesh C MorascaRussia2024-06-06Morlong Associates UNQUALIFIED69Ivan Magalhaes
1004Julie Z KuskoSpain2024-06-19Rousseaux, Michael Esq UNQUALIFIED5Ivan Magalhaes
1005Isabel X RimRussia2024-06-15Chemel, James L Cpa QUALIFIED84Asiya Javayant
1006Emily S PaprockiSpain2024-05-25King, Christopher A Esq NEGOTIATION54Ioni Bowcher
1007Antonio G VenereItaly2024-06-13Benton, John B Jr QUALIFIED94Ivan Magalhaes
1008Maisha I StensethArgentina2024-06-10Commercial Press UNQUALIFIED40Asiya Javayant
1009Darci Y WhobreyGermany2024-06-09Dorl, James J Esq NEW64Anna Fali
1010Emily F OstroskyFrance2024-06-01Dorl, James J Esq PROPOSAL67Anna Fali
1011Jefferson V ButtRussia2024-05-29Feiner Bros PROPOSAL44Anna Fali
1012Silvio P CampainFrance2024-06-03Morlong Associates NEGOTIATION83Bernardo Dominic
1013Ricardo K BriddickFrance2024-06-13Chemel, James L Cpa NEW60Ivan Magalhaes
1014Greenwood Q MaletJapan2024-06-16Truhlar And Truhlar Attys QUALIFIED35Onyama Limba
1015Salvatore H FlosiIndia2024-06-19Commercial Press PROPOSAL86Anna Fali
1016Juan G CaudyArgentina2024-05-30Buckley Miller Wright UNQUALIFIED20Elwin Sharvill
1017Chavez J FigeroaCanada2024-06-03Benton, John B Jr NEGOTIATION22Amy Elsner
1018Ricardo L SergiCanada2024-06-04Commercial Press QUALIFIED18Asiya Javayant
1019Smith K DoeItaly2024-06-14Printing Dimensions RENEWAL82Amy Elsner
1020Salvatore D FerenczIndia2024-06-20Rangoni Of Florence RENEWAL5Ivan Magalhaes
1021Silvio O KolmetzItaly2024-06-04Morlong Associates PROPOSAL90Ioni Bowcher
1022Ricardo O OldroydRussia2024-06-07Commercial Press NEW62Elwin Sharvill
1023Rodrigues T KolmetzFrance2024-06-05Morlong Associates PROPOSAL39Asiya Javayant
1024Johnson B PoquetteGermany2024-06-11Dorl, James J Esq NEGOTIATION47Bernardo Dominic
1025Aruna J MaletGermany2024-06-15Chanay, Jeffrey A Esq PROPOSAL82Xuxue Feng
1026Alejandro N KolmetzGermany2024-06-06Benton, John B Jr QUALIFIED45Xuxue Feng
1027Juan D StockhamUnited Kingdom2024-05-24Feltz Printing Service UNQUALIFIED31Elwin Sharvill
1028Greenwood O OstroskyBrazil2024-06-09Dorl, James J Esq NEGOTIATION59Ivan Magalhaes
1029Antonio Z MacleadItaly2024-06-03Benton, John B Jr PROPOSAL32Asiya Javayant
1030Misaki K RoysterArgentina2024-05-25Rousseaux, Michael Esq RENEWAL12Bernardo Dominic
1031Leon W WieserAustralia2024-06-15Buckley Miller Wright NEW18Asiya Javayant
1032Johnson C SaylorsSpain2024-05-27Rangoni Of Florence QUALIFIED11Elwin Sharvill
1033Leon U RimArgentina2024-06-10Buckley Miller Wright UNQUALIFIED33Xuxue Feng
1034Alejandro H SlusarskiFrance2024-06-01Truhlar And Truhlar Attys NEGOTIATION86Xuxue Feng
1035Costa O IturbideCanada2024-05-28Chapman, Ross E Esq RENEWAL83Ivan Magalhaes
1036Ashley U RoysterFrance2024-06-06Commercial Press PROPOSAL16Bernardo Dominic
1037Smith B OldroydBrazil2024-06-01Buckley Miller Wright NEW82Asiya Javayant
1038Costa B ChuiUnited Kingdom2024-06-18Buckley Miller Wright NEW28Elwin Sharvill
1039Greenwood A PerinArgentina2024-05-27Printing Dimensions QUALIFIED93Onyama Limba
1040Stacey N MaletFrance2024-06-17Feltz Printing Service RENEWAL63Ivan Magalhaes
1041Isabel G RutaItaly2024-06-14Rangoni Of Florence PROPOSAL81Xuxue Feng
1042Julie T WaycottItaly2024-06-11Rousseaux, Michael Esq NEGOTIATION53Ivan Magalhaes
1043Francesco P VenereUnited Kingdom2024-06-17Chapman, Ross E Esq QUALIFIED20Ioni Bowcher
1044Cody G VenereItaly2024-05-29Rousseaux, Michael Esq UNQUALIFIED51Ioni Bowcher
1045Isabel A SlusarskiCanada2024-06-20Buckley Miller Wright PROPOSAL95Ioni Bowcher
1046Jennifer D GauchoBrazil2024-05-24Chanay, Jeffrey A Esq NEW2Stephen Shaw
1047Kaitlin Y ShinkoItaly2024-05-25Morlong Associates PROPOSAL94Asiya Javayant
1048Cody K DilliardBrazil2024-06-12King, Christopher A Esq PROPOSAL40Bernardo Dominic
1049Deepesh P MacleadUnited Kingdom2024-05-30Chemel, James L Cpa PROPOSAL63Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leon B StockhamCanadaAmy Elsner NEGOTIATION
Francesco E WaycottFranceXuxue Feng NEGOTIATION
Aditya K MaletSpainAmy Elsner NEGOTIATION
Deepesh U RoysterFranceIvan Magalhaes RENEWAL
Jones K BologniaAustraliaAsiya Javayant RENEWAL
Costa T AmigonRussiaIoni Bowcher RENEWAL
Aditya M KolmetzCanadaStephen Shaw NEGOTIATION
Mujtaba G CaudyCanadaXuxue Feng RENEWAL
Emily E InouyeBrazilIvan Magalhaes UNQUALIFIED
Adams Z RoysterCanadaElwin Sharvill NEW
Emily W PerinGermanyStephen Shaw NEGOTIATION
Wickens U KuskoRussiaXuxue Feng RENEWAL
Ricardo V RimIndiaIvan Magalhaes NEW
Adams O PerinRussiaAsiya Javayant PROPOSAL
Nicolas L BowleyFranceIvan Magalhaes RENEWAL
Silvio H BowleyIndiaStephen Shaw RENEWAL
Salvatore P RutaRussiaXuxue Feng QUALIFIED
Aruna C WieserItalyIoni Bowcher QUALIFIED
Nicolas Q FerenczGermanyBernardo Dominic RENEWAL
Maisha X SaylorsAustraliaElwin Sharvill NEGOTIATION
Maisha D BowleyCanadaOnyama Limba NEW
Mayumi F VocelkaJapanElwin Sharvill UNQUALIFIED
Aditya D FollerSpainAmy Elsner QUALIFIED
Jennifer M RutaBrazilXuxue Feng QUALIFIED
Julie D MaletIndiaIoni Bowcher PROPOSAL
Stacey D RimFranceAsiya Javayant RENEWAL
Cody N ChuiSpainIoni Bowcher UNQUALIFIED
Leon S NestleArgentinaAnna Fali RENEWAL
Maria R DilliardUnited KingdomAmy Elsner NEGOTIATION
Faith T KuskoArgentinaBernardo Dominic NEW
Darci S MacleadBrazilXuxue Feng NEGOTIATION
Emily J FerenczSpainElwin Sharvill NEW
Mayumi C MacleadArgentinaBernardo Dominic NEW
Leja O MarrierGermanyAmy Elsner NEGOTIATION
Emily P KuskoIndiaAsiya Javayant NEGOTIATION
Ricardo X MaletArgentinaIoni Bowcher NEW
Mayumi N GauchoItalyIoni Bowcher NEGOTIATION
James Z GlickBrazilAnna Fali NEGOTIATION
Johnson Y OldroydUnited KingdomIoni Bowcher NEW
Aika X KuskoCanadaAmy Elsner NEGOTIATION
James P DarakjyIndiaXuxue Feng PROPOSAL
Clifford U GarufiSpainStephen Shaw NEGOTIATION
Nicolas J AlbaresArgentinaBernardo Dominic NEW
Ricardo J MorascaItalyStephen Shaw NEGOTIATION
Maisha G MacleadArgentinaElwin Sharvill NEGOTIATION
Silvio C OldroydCanadaElwin Sharvill PROPOSAL
Darci N SchemmerSpainXuxue Feng PROPOSAL
Aditya W IturbideGermanyAsiya Javayant QUALIFIED
Maisha I VocelkaUnited KingdomStephen Shaw PROPOSAL
Smith H WieserAustraliaStephen Shaw NEW
Frozen Columns
Name
Ivar E Wieser
Murillo N Shinko
Darci O Butt
Chavez R Nestle
Smith O Caudy
Darci Y Amigon
Ivar T Albares
Julie T Kusko
Claire E Whobrey
Deepesh C Sergi
Ashley J Nestle
Emily O Wieser
Claire A Inouye
Costa B Wieser
Jennifer T Maclead
Silvio H Doe
Mayumi E Bolognia
Jeanfrancois B Doe
Jefferson S Ferencz
Claire G Morasca
Johnson P Maclead
Sinclair U Vocelka
Ashley Y Sergi
Chavez R Stockham
Deepesh Q Iturbide
Juan J Stenseth
Faith O Flosi
Aruna M Venere
Izzy C Dilliard
Kadeem V Kolmetz
Emily T Ostrosky
Cody T Rim
Ivar H Kusko
Aika K Garufi
Smith J Amigon
Izzy I Ferencz
Sinclair S Slusarski
Chavez F Rim
Stacey H Wieser
Aruna X Albares
Tony J Ruta
Octavia X Stenseth
Alejandro I Vocelka
Mayumi L Doe
Octavia N Paprocki
Arvin T Glick
Emily I Iturbide
Salvatore H Butt
Francesco V Nicka
Ivar A Malet
IdCountryDate
1000Italy2024-06-20
1001France2024-05-28
1002France2024-05-25
1003Russia2024-06-13
1004Japan2024-05-29
1005Australia2024-06-07
1006Russia2024-05-26
1007Japan2024-05-27
1008Japan2024-05-28
1009Japan2024-05-25
1010Germany2024-06-11
1011Brazil2024-06-12
1012Brazil2024-05-31
1013Japan2024-05-27
1014Argentina2024-06-10
1015Russia2024-06-16
1016United Kingdom2024-06-21
1017United Kingdom2024-05-24
1018Italy2024-06-15
1019Italy2024-05-24
1020Argentina2024-06-03
1021Australia2024-06-01
1022Canada2024-06-13
1023Australia2024-06-12
1024Argentina2024-05-24
1025India2024-06-20
1026Brazil2024-06-17
1027Brazil2024-06-18
1028Canada2024-06-17
1029Argentina2024-06-13
1030Italy2024-06-13
1031India2024-06-13
1032United Kingdom2024-05-26
1033France2024-06-11
1034United Kingdom2024-06-07
1035Russia2024-06-15
1036Australia2024-05-23
1037Brazil2024-05-26
1038Canada2024-05-26
1039Japan2024-06-02
1040Spain2024-06-11
1041Germany2024-06-21
1042France2024-05-29
1043Canada2024-06-16
1044Germany2024-06-13
1045Russia2024-06-14
1046Italy2024-06-15
1047Russia2024-06-17
1048India2024-06-14
1049Russia2024-06-03

On-Demand Data

NameIdCountryDate
Ashley M Albares1000France2024-06-14
Johnson F Garufi1001Australia2024-06-09
Maisha H Gillian1002Japan2024-06-15
Aruna N Royster1003Argentina2024-06-14
Maria E Malet1004Canada2024-06-15
Mujtaba J Kusko1005Italy2024-06-03
Maria T Slusarski1006Canada2024-06-03
Ashley P Dilliard1007Spain2024-06-05
Tony I Kolmetz1008Australia2024-06-19
Arvin Q Rim1009Japan2024-05-27
Julie A Albares1010France2024-05-25
Aditya W Bowley1011Argentina2024-06-07
Darci G Whobrey1012Spain2024-05-28
Alejandro H Gaucho1013Germany2024-05-27
Aditya Z Marrier1014Japan2024-05-25
Kadeem G Inouye1015Brazil2024-06-16
Johnson F Garufi1016Argentina2024-05-26
Ashley W Glick1017Argentina2024-06-09
Antonio Y Ruta1018Brazil2024-06-08
David K Albares1019Canada2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo H MaletFranceIoni Bowcher NEW
Jeanfrancois W PoquetteCanadaAmy Elsner UNQUALIFIED
David X PaprockiRussiaIoni Bowcher UNQUALIFIED
Johnson L GauchoUnited KingdomAmy Elsner PROPOSAL
Arvin Y DarakjySpainElwin Sharvill NEGOTIATION
Kaitlin L GlickIndiaXuxue Feng NEW
Tony T OstroskyGermanyOnyama Limba NEW
Chavez Y ChuiIndiaElwin Sharvill RENEWAL
Mujtaba P SchemmerAustraliaAnna Fali UNQUALIFIED
Deepesh J AmigonCanadaOnyama Limba NEGOTIATION
Claire B OldroydJapanOnyama Limba RENEWAL
Johnson Y IturbideFranceBernardo Dominic RENEWAL
Octavia D BriddickGermanyAmy Elsner NEGOTIATION
Cody V AmigonCanadaElwin Sharvill QUALIFIED
Leon J RulapaughItalyStephen Shaw NEGOTIATION
Francesco E SergiAustraliaIoni Bowcher NEW
Antonio X FlosiFranceAnna Fali PROPOSAL
Clifford A MarrierIndiaOnyama Limba PROPOSAL
Isabel F PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Deepesh Q FollerArgentinaIvan Magalhaes QUALIFIED
Leon K MacleadAustraliaAnna Fali UNQUALIFIED
Silvio T DilliardRussiaXuxue Feng PROPOSAL
Izzy X DarakjyJapanElwin Sharvill RENEWAL
Mujtaba L WaycottSpainStephen Shaw QUALIFIED
Antonio G NickaRussiaXuxue Feng NEGOTIATION
Julie J ChuiJapanAnna Fali UNQUALIFIED
Sinclair G DarakjyAustraliaStephen Shaw QUALIFIED
Johnson Q BriddickSpainElwin Sharvill UNQUALIFIED
Julie D DarakjyJapanIoni Bowcher NEGOTIATION
Kaitlin C RoysterUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois P DarakjyUnited KingdomIoni Bowcher PROPOSAL
Kadeem I FigeroaGermanyIvan Magalhaes NEW
Kadeem Z OldroydJapanIoni Bowcher PROPOSAL
Wickens Y IturbideFranceIoni Bowcher UNQUALIFIED
Ivar Q GarufiUnited KingdomElwin Sharvill QUALIFIED
Izzy N ShinkoIndiaIvan Magalhaes RENEWAL
Chavez Z WaycottItalyAnna Fali NEW
Izzy U CampainJapanOnyama Limba PROPOSAL
Aika Z SlusarskiGermanyIvan Magalhaes PROPOSAL
Julie L WaycottGermanyXuxue Feng 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>