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
Isabel E AmigonAustraliaIoni Bowcher QUALIFIED
Chavez Z OldroydGermanyIvan Magalhaes UNQUALIFIED
Clifford I RulapaughGermanyBernardo Dominic PROPOSAL
Jefferson P VenereBrazilIvan Magalhaes PROPOSAL
Greenwood D FigeroaBrazilIvan Magalhaes PROPOSAL
Maria A VenereJapanXuxue Feng NEGOTIATION
Aika C WaycottItalyStephen Shaw QUALIFIED
Clifford Q RimFranceBernardo Dominic RENEWAL
Leon P VocelkaAustraliaXuxue Feng NEGOTIATION
Rodrigues C PaprockiSpainAnna Fali UNQUALIFIED
Maisha F KuskoItalyStephen Shaw NEW
Maria H StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya S MarrierJapanIvan Magalhaes UNQUALIFIED
Mujtaba T PerinBrazilOnyama Limba QUALIFIED
Salvatore V GarufiFranceOnyama Limba NEW
Alejandro Q VocelkaArgentinaAmy Elsner QUALIFIED
Jennifer P ShinkoFranceOnyama Limba NEGOTIATION
Johnson W KolmetzUnited KingdomBernardo Dominic QUALIFIED
Ricardo D MarrierIndiaIoni Bowcher QUALIFIED
Darci U BowleyIndiaStephen Shaw RENEWAL
Ashley W StockhamAustraliaIvan Magalhaes QUALIFIED
Jennifer K WieserRussiaOnyama Limba QUALIFIED
Cody H SlusarskiItalyAnna Fali NEGOTIATION
Mujtaba O MorascaSpainXuxue Feng RENEWAL
Nicolas B FerenczRussiaXuxue Feng NEGOTIATION
Octavia L OldroydCanadaIvan Magalhaes PROPOSAL
Johnson X OstroskyFranceOnyama Limba RENEWAL
Francesco P InouyeSpainBernardo Dominic NEW
Silvio V KolmetzFranceXuxue Feng QUALIFIED
Aditya H KuskoRussiaStephen Shaw RENEWAL
Salvatore N DarakjyBrazilIoni Bowcher RENEWAL
Misaki E FigeroaUnited KingdomStephen Shaw NEGOTIATION
Claire F SergiFranceElwin Sharvill QUALIFIED
James V RulapaughUnited KingdomAmy Elsner RENEWAL
Greenwood W FigeroaIndiaAmy Elsner NEW
Smith F OstroskyItalyOnyama Limba PROPOSAL
Octavia K AmigonFranceStephen Shaw QUALIFIED
Julie M MarrierJapanStephen Shaw NEGOTIATION
Kaitlin H CaudyBrazilOnyama Limba NEW
Jefferson N OldroydArgentinaAmy Elsner PROPOSAL
Rodrigues S CampainArgentinaIoni Bowcher RENEWAL
Munro Z ChuiItalyBernardo Dominic NEGOTIATION
Munro C RimSpainAmy Elsner PROPOSAL
Smith M KolmetzJapanStephen Shaw NEW
Julie R FollerUnited KingdomXuxue Feng RENEWAL
Maisha A BriddickCanadaStephen Shaw NEGOTIATION
Claire K ChuiBrazilOnyama Limba NEGOTIATION
Clifford V ChuiJapanStephen Shaw NEW
Chavez K OstroskyUnited KingdomIoni Bowcher RENEWAL
Alejandro B PoquetteSpainBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens R CaldareraGermanyXuxue Feng QUALIFIED
Ricardo K SergiFranceIvan Magalhaes QUALIFIED
Aika D KuskoArgentinaStephen Shaw PROPOSAL
Salvatore Q FigeroaUnited KingdomAnna Fali NEW
Isabel F KolmetzBrazilIvan Magalhaes QUALIFIED
Jeanfrancois R BriddickBrazilOnyama Limba UNQUALIFIED
Aika Q BologniaIndiaOnyama Limba QUALIFIED
Kaitlin L PaprockiBrazilAsiya Javayant RENEWAL
Alejandro I InouyeSpainBernardo Dominic UNQUALIFIED
Chavez Q GauchoUnited KingdomAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas I GauchoIndia2024-06-10Chanay, Jeffrey A Esq PROPOSAL87Elwin Sharvill
1001Jennifer E KolmetzRussia2024-06-05Chanay, Jeffrey A Esq PROPOSAL22Ivan Magalhaes
1002Aika V MorascaRussia2024-05-29Feltz Printing Service UNQUALIFIED56Ioni Bowcher
1003Chavez O MaletCanada2024-06-03Printing Dimensions PROPOSAL68Amy Elsner
1004Nicolas H MaletFrance2024-06-13King, Christopher A Esq UNQUALIFIED25Bernardo Dominic
1005Clifford W SergiItaly2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED61Bernardo Dominic
1006Arvin M GauchoFrance2024-06-13Morlong Associates NEW7Amy Elsner
1007Silvio T AlbaresUnited Kingdom2024-06-23Chemel, James L Cpa PROPOSAL92Elwin Sharvill
1008Claire X AlbaresArgentina2024-06-09Benton, John B Jr NEW88Xuxue Feng
1009Julie X OldroydIndia2024-06-04Feiner Bros UNQUALIFIED7Stephen Shaw
1010Nicolas C MorascaJapan2024-06-11Feltz Printing Service QUALIFIED54Asiya Javayant
1011Maisha X MarrierBrazil2024-06-23Benton, John B Jr UNQUALIFIED97Asiya Javayant
1012Julie O SaylorsUnited Kingdom2024-06-01Feltz Printing Service NEW73Amy Elsner
1013Adams Z PaprockiCanada2024-06-13Dorl, James J Esq NEGOTIATION44Bernardo Dominic
1014Julie Y DoeRussia2024-05-26Morlong Associates NEGOTIATION55Asiya Javayant
1015David Y CampainCanada2024-06-21Benton, John B Jr PROPOSAL96Bernardo Dominic
1016Munro M SergiJapan2024-06-15Rousseaux, Michael Esq QUALIFIED97Xuxue Feng
1017Salvatore D VenereGermany2024-05-28Morlong Associates NEW95Amy Elsner
1018Jeanfrancois C FollerAustralia2024-06-02King, Christopher A Esq RENEWAL29Stephen Shaw
1019Nicolas I GillianCanada2024-06-22Rousseaux, Michael Esq QUALIFIED66Ioni Bowcher
1020Morrow E RoysterGermany2024-06-14Morlong Associates RENEWAL15Xuxue Feng
1021Izzy E VocelkaJapan2024-05-29Feltz Printing Service RENEWAL25Amy Elsner
1022Isabel W StensethSpain2024-05-29Chanay, Jeffrey A Esq NEW24Bernardo Dominic
1023Chavez D WhobreyItaly2024-06-20Buckley Miller Wright UNQUALIFIED37Stephen Shaw
1024Claire O CaudyAustralia2024-05-27Benton, John B Jr PROPOSAL75Onyama Limba
1025Isabel B GillianGermany2024-06-06Dorl, James J Esq RENEWAL1Onyama Limba
1026Kadeem C MacleadCanada2024-06-08Chemel, James L Cpa QUALIFIED17Elwin Sharvill
1027Claire F StockhamSpain2024-06-06Chemel, James L Cpa QUALIFIED3Elwin Sharvill
1028Jeanfrancois A FerenczItaly2024-06-20Feltz Printing Service QUALIFIED72Onyama Limba
1029Johnson I SchemmerIndia2024-05-30Chapman, Ross E Esq NEGOTIATION58Asiya Javayant
1030Darci M FerenczAustralia2024-06-03Chapman, Ross E Esq UNQUALIFIED2Asiya Javayant
1031Izzy O GillianArgentina2024-06-16Printing Dimensions PROPOSAL96Asiya Javayant
1032Cody K KolmetzSpain2024-06-02Rousseaux, Michael Esq UNQUALIFIED8Elwin Sharvill
1033Maisha U AlbaresAustralia2024-05-31Benton, John B Jr UNQUALIFIED87Amy Elsner
1034Leon H CaudyGermany2024-05-31Buckley Miller Wright NEW39Asiya Javayant
1035Clifford A RutaCanada2024-06-07Morlong Associates UNQUALIFIED20Amy Elsner
1036Greenwood O CampainJapan2024-06-01Buckley Miller Wright RENEWAL45Ioni Bowcher
1037Ashley J GarufiFrance2024-06-17Buckley Miller Wright NEW95Ioni Bowcher
1038Smith V MaletJapan2024-05-30King, Christopher A Esq NEGOTIATION67Elwin Sharvill
1039Costa Q FlosiFrance2024-06-09Chapman, Ross E Esq RENEWAL42Anna Fali
1040Jeanfrancois C GlickGermany2024-06-19Buckley Miller Wright QUALIFIED83Amy Elsner
1041Arvin V MarrierIndia2024-06-17Printing Dimensions UNQUALIFIED19Asiya Javayant
1042Smith E MaletUnited Kingdom2024-05-27King, Christopher A Esq UNQUALIFIED90Ivan Magalhaes
1043Juan M BologniaRussia2024-06-24Feiner Bros RENEWAL35Elwin Sharvill
1044Munro D CaldareraSpain2024-06-02Chapman, Ross E Esq PROPOSAL65Amy Elsner
1045Cody U FollerUnited Kingdom2024-06-14Commercial Press RENEWAL25Onyama Limba
1046Munro U WhobreyCanada2024-06-20Benton, John B Jr PROPOSAL35Bernardo Dominic
1047Misaki W TollnerGermany2024-06-14Feltz Printing Service NEW41Bernardo Dominic
1048Francesco R MaletBrazil2024-06-05Benton, John B Jr NEW83Anna Fali
1049Adams C StensethItaly2024-06-10Commercial Press QUALIFIED34Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Q OldroydArgentinaElwin Sharvill RENEWAL
Alejandro Y NickaFranceIoni Bowcher PROPOSAL
Darci Z StensethJapanIvan Magalhaes PROPOSAL
Kaitlin J OstroskyJapanStephen Shaw UNQUALIFIED
Leja D MaletBrazilAnna Fali UNQUALIFIED
Jefferson Q RulapaughCanadaIvan Magalhaes QUALIFIED
Silvio P CampainIndiaOnyama Limba QUALIFIED
Emily A TollnerJapanElwin Sharvill NEGOTIATION
Silvio E MarrierBrazilAmy Elsner QUALIFIED
Morrow N IturbideRussiaAmy Elsner NEGOTIATION
Francesco S IturbideGermanyAsiya Javayant UNQUALIFIED
Stacey X BologniaArgentinaBernardo Dominic RENEWAL
Maria R TollnerIndiaStephen Shaw NEW
Adams M CaudyCanadaBernardo Dominic NEGOTIATION
Jennifer X AlbaresCanadaOnyama Limba UNQUALIFIED
Mayumi R MaletGermanyAmy Elsner NEGOTIATION
Nicolas Y DilliardBrazilStephen Shaw NEW
Cody F MaletItalyElwin Sharvill NEW
Costa C DarakjyFranceStephen Shaw PROPOSAL
Mujtaba P BriddickCanadaElwin Sharvill UNQUALIFIED
Alejandro G WhobreyArgentinaBernardo Dominic NEGOTIATION
Faith I BologniaCanadaBernardo Dominic NEW
Clifford U BologniaCanadaAsiya Javayant QUALIFIED
Sinclair C BowleyJapanXuxue Feng NEGOTIATION
Octavia G VocelkaArgentinaAnna Fali NEW
Faith H NestleAustraliaOnyama Limba QUALIFIED
Rodrigues S SaylorsAustraliaElwin Sharvill UNQUALIFIED
Izzy R FigeroaRussiaAmy Elsner PROPOSAL
Costa Q MarrierFranceElwin Sharvill NEW
Misaki U NestleRussiaOnyama Limba RENEWAL
Murillo F KolmetzIndiaAsiya Javayant NEW
Chavez F SergiIndiaIvan Magalhaes QUALIFIED
Silvio K CampainGermanyXuxue Feng UNQUALIFIED
Deepesh V BriddickGermanyAnna Fali RENEWAL
Stacey B RulapaughArgentinaElwin Sharvill NEGOTIATION
Rodrigues B ShinkoItalyElwin Sharvill PROPOSAL
Antonio Y DarakjySpainAmy Elsner PROPOSAL
Johnson S ChuiCanadaXuxue Feng QUALIFIED
Ivar F InouyeUnited KingdomIoni Bowcher PROPOSAL
Wickens D RimBrazilIoni Bowcher NEGOTIATION
Jennifer W PaprockiCanadaAsiya Javayant NEW
Leon L GarufiAustraliaElwin Sharvill NEW
Ashley M PerinCanadaStephen Shaw RENEWAL
Jefferson S CaudyRussiaXuxue Feng NEW
Rodrigues I StockhamSpainAnna Fali QUALIFIED
Rodrigues D MaletBrazilOnyama Limba UNQUALIFIED
Silvio B IturbideArgentinaAmy Elsner UNQUALIFIED
Isabel K RimItalyOnyama Limba PROPOSAL
Johnson A MarrierFranceAsiya Javayant UNQUALIFIED
Tony Y ButtBrazilAsiya Javayant RENEWAL
Frozen Columns
Name
Silvio N Wieser
Faith Y Nicka
Isabel K Schemmer
David S Royster
Salvatore K Oldroyd
Adams J Slusarski
Silvio X Darakjy
Leja E Bolognia
Cody E Glick
Mujtaba H Bolognia
Jennifer K Garufi
Maria K Darakjy
Adams E Maclead
Octavia X Venere
Ivar G Royster
Clifford S Sergi
Nicolas M Stockham
Leon F Figeroa
Maria V Gillian
Emily B Stenseth
Johnson W Campain
Ashley O Caudy
Maisha W Kolmetz
Clifford O Paprocki
David M Foller
Rodrigues B Campain
Cody E Butt
Antonio J Kusko
Aika Y Venere
Smith X Vocelka
Adams U Ferencz
Mujtaba K Kolmetz
David A Malet
Jennifer B Inouye
Johnson Y Morasca
Jennifer N Glick
Smith Z Flosi
Francesco O Sergi
Julie G Oldroyd
Nicolas D Stockham
Leja U Caudy
Isabel V Poquette
Maria C Briddick
Emily P Flosi
Leon X Ferencz
Stacey B Marrier
Munro G Waycott
Jefferson M Garufi
Sinclair W Royster
Octavia F Ruta
IdCountryDate
1000India2024-06-16
1001Canada2024-06-05
1002India2024-05-26
1003France2024-06-03
1004Germany2024-05-31
1005Australia2024-06-24
1006France2024-05-30
1007Spain2024-05-27
1008Argentina2024-05-31
1009Brazil2024-06-07
1010Brazil2024-06-02
1011Argentina2024-06-16
1012Russia2024-06-10
1013Italy2024-06-05
1014Brazil2024-06-24
1015Argentina2024-05-29
1016India2024-06-10
1017Australia2024-06-02
1018India2024-05-26
1019Australia2024-06-02
1020United Kingdom2024-06-03
1021Russia2024-06-07
1022Brazil2024-06-22
1023Japan2024-06-21
1024United Kingdom2024-06-14
1025Australia2024-06-14
1026Italy2024-05-27
1027Spain2024-06-02
1028Brazil2024-05-28
1029Argentina2024-05-30
1030Spain2024-06-10
1031Australia2024-06-17
1032Japan2024-06-02
1033Argentina2024-06-16
1034Brazil2024-06-15
1035Argentina2024-06-23
1036France2024-06-17
1037Japan2024-06-06
1038Russia2024-06-04
1039Japan2024-06-06
1040Japan2024-06-02
1041Japan2024-06-04
1042United Kingdom2024-06-01
1043Germany2024-06-03
1044Canada2024-06-06
1045France2024-06-12
1046Canada2024-06-16
1047Australia2024-05-28
1048France2024-06-03
1049Germany2024-05-30

On-Demand Data

NameIdCountryDate
Maisha P Wieser1000United Kingdom2024-06-19
Francesco W Caldarera1001Brazil2024-06-01
Deepesh N Slusarski1002Japan2024-05-30
Claire Q Gillian1003Russia2024-06-07
Faith D Darakjy1004India2024-05-29
Clifford G Foller1005Spain2024-06-23
Tony P Oldroyd1006India2024-06-09
Adams I Waycott1007United Kingdom2024-06-10
Leon E Morasca1008Japan2024-06-21
Aika S Bowley1009Russia2024-06-21
Kadeem P Iturbide1010Argentina2024-06-12
Leon F Briddick1011Japan2024-05-31
Darci I Figeroa1012United Kingdom2024-05-31
Maria C Morasca1013Brazil2024-06-09
Misaki K Paprocki1014Italy2024-05-31
Costa W Inouye1015United Kingdom2024-05-26
Ricardo H Dilliard1016Canada2024-06-19
Greenwood K Caudy1017Argentina2024-06-23
Juan O Dilliard1018Argentina2024-06-20
Chavez F Kusko1019Australia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford M WhobreyRussiaIvan Magalhaes RENEWAL
Ricardo J VenereItalyBernardo Dominic NEGOTIATION
Claire O SchemmerSpainAnna Fali QUALIFIED
Leja S GauchoCanadaIvan Magalhaes NEW
Jones A CampainItalyOnyama Limba NEGOTIATION
Misaki U PerinCanadaAsiya Javayant PROPOSAL
Isabel G PaprockiGermanyAsiya Javayant RENEWAL
Isabel T RoysterJapanAnna Fali QUALIFIED
Maria D MaletAustraliaAsiya Javayant RENEWAL
Rodrigues N GillianUnited KingdomAnna Fali PROPOSAL
Silvio T PaprockiItalyOnyama Limba RENEWAL
Aruna R AlbaresUnited KingdomBernardo Dominic PROPOSAL
James Y ChuiBrazilBernardo Dominic NEGOTIATION
Juan Z IturbideBrazilIvan Magalhaes NEW
Francesco B DarakjyJapanAmy Elsner UNQUALIFIED
Aika S AlbaresRussiaAnna Fali NEGOTIATION
Izzy M InouyeAustraliaIvan Magalhaes PROPOSAL
Maria L KuskoSpainAsiya Javayant NEGOTIATION
Aruna Y VocelkaFranceElwin Sharvill PROPOSAL
Morrow I CaldareraGermanyStephen Shaw QUALIFIED
Deepesh B MorascaGermanyAsiya Javayant RENEWAL
Maisha P SchemmerArgentinaAsiya Javayant PROPOSAL
Faith I NestleUnited KingdomAsiya Javayant UNQUALIFIED
Johnson C GillianJapanAnna Fali UNQUALIFIED
Misaki C RoysterItalyIvan Magalhaes NEGOTIATION
Claire R SergiUnited KingdomAmy Elsner PROPOSAL
Kadeem D BowleySpainXuxue Feng NEGOTIATION
Julie K WieserJapanAmy Elsner QUALIFIED
Nicolas O IturbideGermanyIoni Bowcher NEGOTIATION
Francesco Z DarakjyRussiaAsiya Javayant NEW
Wickens C NestleItalyAnna Fali PROPOSAL
Isabel D WhobreyFranceBernardo Dominic UNQUALIFIED
Ashley I DilliardUnited KingdomElwin Sharvill PROPOSAL
Julie S GillianGermanyIoni Bowcher RENEWAL
Adams O KuskoRussiaAnna Fali UNQUALIFIED
Murillo P StockhamItalyStephen Shaw NEW
Murillo Y BowleyBrazilElwin Sharvill NEGOTIATION
Maisha H WieserJapanStephen Shaw NEGOTIATION
Emily V VenereArgentinaStephen Shaw NEGOTIATION
Johnson J FigeroaBrazilBernardo Dominic NEGOTIATION

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