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
Octavia S CaldareraJapanElwin Sharvill NEW
Claire W DoeGermanyAnna Fali UNQUALIFIED
Jeanfrancois B InouyeFranceIvan Magalhaes PROPOSAL
Silvio D GarufiArgentinaAsiya Javayant NEGOTIATION
Ricardo G MorascaGermanyStephen Shaw RENEWAL
Jeanfrancois E CaldareraCanadaAmy Elsner NEGOTIATION
Jefferson L TollnerBrazilAnna Fali NEW
Leon K BriddickArgentinaAsiya Javayant PROPOSAL
Kaitlin A CaudyCanadaStephen Shaw QUALIFIED
Ivar Y TollnerIndiaElwin Sharvill NEW
Izzy J StockhamCanadaAnna Fali UNQUALIFIED
Claire X DilliardGermanyBernardo Dominic PROPOSAL
Munro U SergiGermanyIvan Magalhaes PROPOSAL
Faith Y FerenczItalyIoni Bowcher RENEWAL
Greenwood X PerinItalyBernardo Dominic NEW
Juan V StockhamBrazilOnyama Limba QUALIFIED
Jeanfrancois O PoquetteItalyIvan Magalhaes UNQUALIFIED
Faith D DarakjyRussiaOnyama Limba RENEWAL
Munro S KolmetzSpainBernardo Dominic NEGOTIATION
Munro Q BriddickBrazilXuxue Feng PROPOSAL
Murillo M BologniaArgentinaAmy Elsner NEGOTIATION
Aruna P FerenczFranceIoni Bowcher NEW
Murillo N GillianBrazilAsiya Javayant UNQUALIFIED
Salvatore O TollnerFranceIvan Magalhaes NEW
Wickens S PoquetteCanadaOnyama Limba QUALIFIED
Munro Z MaletAustraliaIoni Bowcher PROPOSAL
Leon Y VocelkaSpainStephen Shaw NEW
Izzy L SergiBrazilAmy Elsner RENEWAL
Alejandro B MarrierGermanyAnna Fali RENEWAL
Isabel N SergiJapanAmy Elsner NEGOTIATION
Francesco M AmigonBrazilIvan Magalhaes UNQUALIFIED
Costa V PoquetteBrazilElwin Sharvill NEGOTIATION
Smith Z RutaRussiaAnna Fali RENEWAL
Jennifer Q WaycottArgentinaBernardo Dominic RENEWAL
Jennifer Q FlosiAustraliaXuxue Feng QUALIFIED
Claire E DoeBrazilAnna Fali UNQUALIFIED
Salvatore N CaudyItalyStephen Shaw NEGOTIATION
Cody Y SlusarskiItalyOnyama Limba PROPOSAL
Aruna B OstroskyArgentinaAnna Fali RENEWAL
Leja O PoquetteUnited KingdomBernardo Dominic RENEWAL
David W SergiCanadaIvan Magalhaes NEGOTIATION
Ashley V MacleadAustraliaAmy Elsner PROPOSAL
Maria U DoeBrazilIoni Bowcher RENEWAL
Maria I SlusarskiArgentinaOnyama Limba QUALIFIED
Chavez G NestleGermanyBernardo Dominic PROPOSAL
Ivar I SlusarskiUnited KingdomOnyama Limba RENEWAL
Clifford W ChuiSpainOnyama Limba UNQUALIFIED
Ashley G BologniaGermanyOnyama Limba PROPOSAL
Leon R KuskoUnited KingdomIvan Magalhaes RENEWAL
James M MorascaJapanStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones H RoysterGermanyXuxue Feng RENEWAL
Emily V RoysterBrazilAnna Fali PROPOSAL
Stacey M OstroskyFranceAsiya Javayant RENEWAL
Izzy C GlickAustraliaXuxue Feng NEGOTIATION
Alejandro R MaletItalyOnyama Limba PROPOSAL
James N MorascaBrazilAnna Fali RENEWAL
Mujtaba V FigeroaAustraliaIoni Bowcher UNQUALIFIED
Antonio P MarrierBrazilAmy Elsner NEGOTIATION
Misaki M KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar W DoeIndiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba F FigeroaRussia2024-05-24Truhlar And Truhlar Attys QUALIFIED2Elwin Sharvill
1001Morrow R FigeroaRussia2024-06-09King, Christopher A Esq UNQUALIFIED54Ioni Bowcher
1002Maria G RutaSpain2024-06-17Feltz Printing Service UNQUALIFIED80Ivan Magalhaes
1003Kaitlin N VocelkaIndia2024-06-20Chapman, Ross E Esq NEW94Amy Elsner
1004Chavez X AlbaresFrance2024-06-11Buckley Miller Wright UNQUALIFIED14Xuxue Feng
1005Jones S FerenczAustralia2024-05-31Dorl, James J Esq PROPOSAL90Asiya Javayant
1006Ricardo T TollnerIndia2024-06-10Rousseaux, Michael Esq QUALIFIED86Asiya Javayant
1007Francesco C InouyeIndia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED64Anna Fali
1008Chavez B WieserGermany2024-06-07Chapman, Ross E Esq RENEWAL0Amy Elsner
1009Rodrigues T GarufiUnited Kingdom2024-06-12Dorl, James J Esq NEW5Ivan Magalhaes
1010Maria R RutaBrazil2024-05-22Chemel, James L Cpa PROPOSAL95Elwin Sharvill
1011Izzy T GauchoJapan2024-05-26Benton, John B Jr NEW24Anna Fali
1012Silvio Q NickaItaly2024-06-07Feiner Bros RENEWAL54Ivan Magalhaes
1013Ricardo N OstroskyArgentina2024-05-29Feiner Bros RENEWAL78Onyama Limba
1014Aditya J SergiArgentina2024-06-18Commercial Press UNQUALIFIED61Ioni Bowcher
1015Munro G AlbaresIndia2024-05-29Feiner Bros NEW43Amy Elsner
1016Nicolas L KuskoIndia2024-05-28Chapman, Ross E Esq NEGOTIATION65Ioni Bowcher
1017Kadeem O CaldareraRussia2024-06-02Dorl, James J Esq NEGOTIATION94Ioni Bowcher
1018David G FlosiAustralia2024-06-20Truhlar And Truhlar Attys PROPOSAL0Xuxue Feng
1019James V StockhamSpain2024-06-02Dorl, James J Esq UNQUALIFIED24Asiya Javayant
1020Izzy B WaycottUnited Kingdom2024-06-12Truhlar And Truhlar Attys QUALIFIED84Xuxue Feng
1021Mujtaba W SaylorsFrance2024-05-25King, Christopher A Esq PROPOSAL55Bernardo Dominic
1022Darci E VocelkaAustralia2024-05-29Chemel, James L Cpa NEGOTIATION54Xuxue Feng
1023Rodrigues V BologniaGermany2024-06-08Benton, John B Jr UNQUALIFIED43Stephen Shaw
1024Ashley N StensethIndia2024-05-22Feiner Bros NEGOTIATION23Anna Fali
1025Jennifer B PaprockiFrance2024-06-13Commercial Press RENEWAL23Bernardo Dominic
1026Rodrigues P VenereArgentina2024-06-12Truhlar And Truhlar Attys NEW76Ivan Magalhaes
1027Clifford W GarufiCanada2024-06-04Benton, John B Jr UNQUALIFIED56Xuxue Feng
1028Ashley B NestleSpain2024-05-24Chapman, Ross E Esq RENEWAL25Elwin Sharvill
1029Jennifer A MacleadSpain2024-05-27Chanay, Jeffrey A Esq RENEWAL10Stephen Shaw
1030Jeanfrancois M BologniaIndia2024-06-16Benton, John B Jr PROPOSAL38Bernardo Dominic
1031Juan Z SchemmerCanada2024-06-09Morlong Associates NEW36Amy Elsner
1032Aruna F AmigonIndia2024-06-09Morlong Associates RENEWAL29Bernardo Dominic
1033Arvin V GlickArgentina2024-06-18Rangoni Of Florence NEGOTIATION41Stephen Shaw
1034Smith V DoeIndia2024-05-22Feiner Bros PROPOSAL16Asiya Javayant
1035Kadeem I BriddickGermany2024-05-23Commercial Press NEW83Bernardo Dominic
1036Aditya T MorascaCanada2024-06-20Printing Dimensions NEGOTIATION83Asiya Javayant
1037Leja A NickaAustralia2024-06-07Buckley Miller Wright UNQUALIFIED82Anna Fali
1038Cody Z VocelkaSpain2024-06-17King, Christopher A Esq QUALIFIED51Ioni Bowcher
1039Julie T ShinkoSpain2024-05-22Dorl, James J Esq PROPOSAL39Asiya Javayant
1040Francesco I SchemmerRussia2024-05-24Truhlar And Truhlar Attys NEGOTIATION93Asiya Javayant
1041Emily Y PerinItaly2024-05-22Chanay, Jeffrey A Esq PROPOSAL71Ioni Bowcher
1042Octavia F SchemmerFrance2024-06-09Rangoni Of Florence NEGOTIATION58Stephen Shaw
1043Deepesh M PerinRussia2024-05-29Rousseaux, Michael Esq PROPOSAL22Amy Elsner
1044Tony T FlosiBrazil2024-06-15Benton, John B Jr UNQUALIFIED31Elwin Sharvill
1045Silvio S AmigonJapan2024-06-02Rangoni Of Florence NEGOTIATION57Stephen Shaw
1046Deepesh Z SergiFrance2024-06-18Commercial Press UNQUALIFIED82Onyama Limba
1047Costa I ShinkoBrazil2024-06-08Commercial Press UNQUALIFIED67Stephen Shaw
1048Misaki U SlusarskiBrazil2024-06-10Chemel, James L Cpa RENEWAL44Bernardo Dominic
1049Nicolas B BowleyCanada2024-06-19Morlong Associates PROPOSAL20Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues S CaudyUnited KingdomAnna Fali QUALIFIED
Munro V SlusarskiIndiaOnyama Limba UNQUALIFIED
Deepesh B StensethArgentinaIvan Magalhaes RENEWAL
Silvio N BowleySpainAnna Fali QUALIFIED
Costa P DilliardJapanXuxue Feng QUALIFIED
Isabel D GillianJapanAmy Elsner NEGOTIATION
Mujtaba V DilliardIndiaIvan Magalhaes RENEWAL
Aika A FerenczItalyAmy Elsner PROPOSAL
Kaitlin X PoquetteFranceXuxue Feng NEGOTIATION
Tony L StensethItalyBernardo Dominic PROPOSAL
Mujtaba P ButtCanadaElwin Sharvill UNQUALIFIED
Emily F IturbideFranceStephen Shaw NEW
Julie N GlickJapanAmy Elsner NEW
David X CampainSpainOnyama Limba NEW
Murillo R MaletArgentinaIvan Magalhaes NEW
Darci R MacleadBrazilIvan Magalhaes NEGOTIATION
Deepesh K BriddickUnited KingdomAnna Fali QUALIFIED
Salvatore I DarakjyCanadaIvan Magalhaes RENEWAL
Claire Y BriddickGermanyElwin Sharvill PROPOSAL
Adams I SaylorsItalyBernardo Dominic PROPOSAL
Stacey Y DilliardGermanyElwin Sharvill PROPOSAL
Stacey L StockhamUnited KingdomElwin Sharvill NEW
Isabel R ButtRussiaAmy Elsner NEW
Wickens M CaudyAustraliaIoni Bowcher UNQUALIFIED
Jones S KuskoItalyAsiya Javayant RENEWAL
Rodrigues N PerinBrazilAmy Elsner PROPOSAL
Octavia F BriddickUnited KingdomElwin Sharvill NEGOTIATION
Morrow B WaycottFranceXuxue Feng NEW
Antonio U SaylorsAustraliaAmy Elsner QUALIFIED
Clifford D PaprockiRussiaStephen Shaw QUALIFIED
Johnson M MarrierFranceBernardo Dominic RENEWAL
Izzy H GarufiIndiaAnna Fali QUALIFIED
Antonio J SlusarskiAustraliaStephen Shaw RENEWAL
Mujtaba O VocelkaUnited KingdomOnyama Limba NEW
Kadeem J MaletUnited KingdomAsiya Javayant PROPOSAL
Jefferson D TollnerBrazilElwin Sharvill NEW
Greenwood P ButtJapanAmy Elsner NEGOTIATION
Jones A NestleIndiaElwin Sharvill PROPOSAL
Mayumi H GlickJapanStephen Shaw NEW
Leja H GlickCanadaAmy Elsner NEW
Julie G GillianUnited KingdomElwin Sharvill RENEWAL
Aika E InouyeFranceStephen Shaw NEGOTIATION
Jeanfrancois U GillianFranceOnyama Limba NEGOTIATION
Izzy U NestleCanadaStephen Shaw NEW
Adams F WaycottArgentinaOnyama Limba RENEWAL
Leon O VenereSpainAnna Fali RENEWAL
Chavez Z MorascaJapanAsiya Javayant PROPOSAL
Adams Y BologniaJapanOnyama Limba PROPOSAL
Arvin D GlickJapanOnyama Limba RENEWAL
Costa I WhobreyUnited KingdomAsiya Javayant QUALIFIED
Frozen Columns
Name
Kaitlin L Chui
Ashley J Saylors
Nicolas I Rulapaugh
Salvatore F Kusko
Stacey G Garufi
Tony Z Stenseth
Morrow S Malet
Adams G Ferencz
Chavez O Dilliard
Stacey S Schemmer
Maisha V Morasca
Kadeem V Kolmetz
Kadeem E Iturbide
Jeanfrancois Y Stockham
Jefferson J Flosi
Isabel D Kusko
Chavez C Wieser
Smith D Caudy
Claire V Tollner
Jennifer E Rulapaugh
Morrow O Figeroa
Sinclair X Royster
Izzy T Shinko
Deepesh I Paprocki
Misaki E Malet
Adams B Stenseth
Ashley A Royster
Cody Z Dilliard
Misaki Z Rim
Isabel F Darakjy
James N Sergi
Johnson V Sergi
Izzy N Marrier
Aditya Z Inouye
Maisha G Tollner
Maisha S Ruta
Julie N Flosi
Adams P Whobrey
Aruna I Inouye
Jefferson J Stockham
Darci V Caudy
Cody E Butt
Leon L Garufi
Misaki Y Ostrosky
Nicolas J Tollner
Wickens S Maclead
Salvatore P Foller
Silvio A Bolognia
Mujtaba V Malet
Antonio P Tollner
IdCountryDate
1000India2024-05-22
1001India2024-06-04
1002Russia2024-05-24
1003Spain2024-06-13
1004United Kingdom2024-06-07
1005Germany2024-06-17
1006United Kingdom2024-06-09
1007Italy2024-06-03
1008Canada2024-05-29
1009Canada2024-06-11
1010Germany2024-06-19
1011Japan2024-05-28
1012Russia2024-06-14
1013Germany2024-06-03
1014Spain2024-06-04
1015United Kingdom2024-05-28
1016Australia2024-05-31
1017Germany2024-06-01
1018Russia2024-05-22
1019Canada2024-05-26
1020France2024-05-28
1021Russia2024-06-04
1022France2024-06-05
1023Russia2024-05-25
1024Italy2024-05-23
1025France2024-05-28
1026Argentina2024-06-01
1027Canada2024-06-16
1028Canada2024-05-30
1029Argentina2024-06-11
1030Argentina2024-06-18
1031Russia2024-06-06
1032India2024-06-01
1033Argentina2024-05-25
1034Argentina2024-06-05
1035Japan2024-06-10
1036Italy2024-05-27
1037United Kingdom2024-06-15
1038France2024-05-22
1039Germany2024-06-13
1040India2024-06-20
1041France2024-06-11
1042Japan2024-06-03
1043India2024-06-13
1044Japan2024-06-09
1045United Kingdom2024-06-02
1046India2024-06-02
1047Brazil2024-06-18
1048Russia2024-06-14
1049Australia2024-06-15

On-Demand Data

NameIdCountryDate
Munro T Malet1000United Kingdom2024-05-26
Kaitlin G Amigon1001India2024-06-06
Jeanfrancois Z Waycott1002Brazil2024-06-16
Izzy C Wieser1003Brazil2024-06-06
Maria B Bowley1004India2024-06-03
Leon W Ferencz1005Canada2024-06-14
Julie B Albares1006United Kingdom2024-06-07
Izzy H Butt1007Argentina2024-06-12
Antonio S Whobrey1008France2024-05-31
Ivar O Marrier1009Germany2024-06-17
Jones T Ferencz1010Spain2024-06-06
Leon X Tollner1011Italy2024-06-09
Kadeem T Saylors1012France2024-06-13
Misaki R Slusarski1013Spain2024-06-13
Arvin E Venere1014Brazil2024-06-02
Stacey A Gaucho1015Australia2024-06-14
Tony T Saylors1016India2024-05-29
Nicolas T Marrier1017Japan2024-06-02
Chavez H Gillian1018United Kingdom2024-06-17
Mayumi E Venere1019Germany2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David E WaycottCanadaAmy Elsner NEGOTIATION
Smith R SergiItalyIoni Bowcher NEGOTIATION
Clifford C NickaFranceXuxue Feng QUALIFIED
James D CaudyFranceElwin Sharvill NEGOTIATION
Wickens W WieserArgentinaIoni Bowcher RENEWAL
Leon I DilliardIndiaStephen Shaw NEGOTIATION
Murillo E PoquetteUnited KingdomElwin Sharvill NEW
Izzy I RimCanadaAsiya Javayant UNQUALIFIED
Stacey M RulapaughIndiaOnyama Limba NEGOTIATION
Rodrigues V SergiUnited KingdomAnna Fali NEGOTIATION
Kaitlin W WaycottAustraliaElwin Sharvill RENEWAL
Ricardo V MorascaCanadaAnna Fali NEGOTIATION
Aditya A PoquetteIndiaXuxue Feng RENEWAL
Izzy T WhobreyRussiaXuxue Feng NEGOTIATION
Clifford O FerenczAustraliaIoni Bowcher NEGOTIATION
Jefferson U KuskoJapanOnyama Limba QUALIFIED
Costa W DoeRussiaBernardo Dominic UNQUALIFIED
Costa L WhobreyJapanAnna Fali UNQUALIFIED
Misaki U WieserCanadaElwin Sharvill QUALIFIED
Munro O MorascaCanadaBernardo Dominic PROPOSAL
Adams G VenereFranceStephen Shaw PROPOSAL
Ivar V BowleyBrazilBernardo Dominic NEW
Adams D GillianGermanyStephen Shaw NEGOTIATION
Tony O DoeArgentinaBernardo Dominic RENEWAL
Mujtaba G GlickFranceAsiya Javayant NEGOTIATION
Maisha P WieserRussiaIvan Magalhaes QUALIFIED
Stacey H FigeroaItalyElwin Sharvill NEGOTIATION
Kaitlin H FollerSpainAmy Elsner PROPOSAL
Greenwood B CaudyGermanyOnyama Limba UNQUALIFIED
Morrow O IturbideAustraliaIoni Bowcher NEGOTIATION
Jones U GauchoAustraliaBernardo Dominic RENEWAL
Kadeem G BriddickIndiaAmy Elsner RENEWAL
Silvio H FerenczRussiaAnna Fali NEGOTIATION
Kadeem Q StensethArgentinaBernardo Dominic NEW
Isabel X BologniaAustraliaIvan Magalhaes UNQUALIFIED
Claire Z VenereUnited KingdomXuxue Feng RENEWAL
Jefferson Z FlosiAustraliaXuxue Feng PROPOSAL
Francesco B GarufiBrazilOnyama Limba UNQUALIFIED
Tony A AlbaresRussiaOnyama Limba NEGOTIATION
James P GauchoJapanIoni Bowcher 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>