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
Francesco S AlbaresBrazilXuxue Feng NEGOTIATION
Nicolas C ButtIndiaOnyama Limba RENEWAL
Alejandro M IturbideCanadaXuxue Feng NEW
Juan K ShinkoSpainOnyama Limba RENEWAL
Murillo V RoysterRussiaOnyama Limba NEW
Wickens R DilliardArgentinaIoni Bowcher QUALIFIED
Izzy O DoeCanadaElwin Sharvill NEW
Cody L ShinkoCanadaStephen Shaw QUALIFIED
Maria M DarakjyUnited KingdomBernardo Dominic RENEWAL
Claire O DarakjyJapanStephen Shaw UNQUALIFIED
Jeanfrancois O ShinkoBrazilAmy Elsner QUALIFIED
Ashley B NickaIndiaBernardo Dominic NEGOTIATION
Munro S RoysterRussiaAnna Fali UNQUALIFIED
Salvatore C PaprockiFranceAnna Fali UNQUALIFIED
Emily J OstroskyFranceOnyama Limba NEGOTIATION
Wickens T CaudyGermanyElwin Sharvill RENEWAL
Chavez P AmigonBrazilBernardo Dominic NEGOTIATION
Mayumi Q PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Stacey V AlbaresBrazilIvan Magalhaes UNQUALIFIED
Leon A CaudySpainBernardo Dominic PROPOSAL
Adams T CaldareraFranceStephen Shaw NEGOTIATION
Tony N MorascaArgentinaAmy Elsner UNQUALIFIED
Aruna K DarakjyItalyAnna Fali PROPOSAL
Morrow C WhobreyIndiaAmy Elsner NEGOTIATION
Kadeem O ButtArgentinaBernardo Dominic UNQUALIFIED
Morrow C BriddickUnited KingdomElwin Sharvill RENEWAL
Ricardo I KolmetzRussiaElwin Sharvill UNQUALIFIED
Sinclair Z RulapaughJapanOnyama Limba QUALIFIED
Ricardo T AlbaresFranceElwin Sharvill PROPOSAL
Mayumi L FigeroaFranceAmy Elsner UNQUALIFIED
Francesco U BriddickJapanIvan Magalhaes NEW
Izzy F MorascaBrazilStephen Shaw QUALIFIED
Silvio V NestleAustraliaAsiya Javayant UNQUALIFIED
Sinclair J ButtSpainElwin Sharvill QUALIFIED
Aika F ChuiSpainIoni Bowcher UNQUALIFIED
Wickens B GauchoFranceAsiya Javayant QUALIFIED
Julie Z DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Munro D BriddickGermanyAnna Fali QUALIFIED
Murillo S AlbaresRussiaAnna Fali RENEWAL
Octavia B DilliardCanadaOnyama Limba QUALIFIED
Leja W NickaSpainIvan Magalhaes NEW
Aika V VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Faith E FigeroaBrazilElwin Sharvill NEGOTIATION
Claire B DoeRussiaElwin Sharvill RENEWAL
Darci I GarufiSpainXuxue Feng NEW
Aruna C MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Munro E FigeroaIndiaIoni Bowcher NEW
Ivar P OstroskyItalyXuxue Feng NEW
Francesco K BriddickJapanIoni Bowcher RENEWAL
Rodrigues J FigeroaIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford A WieserAustraliaBernardo Dominic QUALIFIED
Antonio A FerenczRussiaAnna Fali NEGOTIATION
Chavez A BriddickRussiaOnyama Limba NEW
Izzy D OldroydAustraliaAmy Elsner NEGOTIATION
Mayumi H AlbaresAustraliaAsiya Javayant NEGOTIATION
Silvio H WieserRussiaStephen Shaw UNQUALIFIED
Octavia J MacleadSpainIoni Bowcher RENEWAL
Adams X TollnerGermanyBernardo Dominic NEGOTIATION
Juan Z InouyeBrazilStephen Shaw NEGOTIATION
Rodrigues M SlusarskiFranceAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith S GarufiRussia2024-06-01Rousseaux, Michael Esq PROPOSAL79Amy Elsner
1001Francesco R RimGermany2024-06-05Commercial Press QUALIFIED80Asiya Javayant
1002Mayumi H TollnerIndia2024-05-15Rangoni Of Florence QUALIFIED60Stephen Shaw
1003Mujtaba Y WhobreyUnited Kingdom2024-05-16Printing Dimensions QUALIFIED4Xuxue Feng
1004Aruna N KolmetzUnited Kingdom2024-05-18Printing Dimensions QUALIFIED58Amy Elsner
1005Salvatore B MorascaBrazil2024-05-18Feltz Printing Service UNQUALIFIED36Anna Fali
1006Kaitlin E BologniaAustralia2024-05-17Feiner Bros QUALIFIED45Amy Elsner
1007Munro E GillianItaly2024-05-26Feiner Bros PROPOSAL10Xuxue Feng
1008Misaki U BowleyRussia2024-06-04Buckley Miller Wright RENEWAL75Onyama Limba
1009Costa F RutaIndia2024-05-17Morlong Associates NEGOTIATION84Anna Fali
1010Maisha S SchemmerAustralia2024-05-24Rousseaux, Michael Esq QUALIFIED62Bernardo Dominic
1011Leon H AlbaresGermany2024-05-27King, Christopher A Esq RENEWAL6Asiya Javayant
1012Nicolas C AlbaresUnited Kingdom2024-05-21Dorl, James J Esq PROPOSAL48Anna Fali
1013Leon X VocelkaCanada2024-06-02Truhlar And Truhlar Attys NEGOTIATION99Xuxue Feng
1014Stacey O TollnerRussia2024-05-15Rousseaux, Michael Esq RENEWAL70Asiya Javayant
1015Julie R FlosiCanada2024-06-08Feltz Printing Service UNQUALIFIED93Onyama Limba
1016Smith Z SaylorsRussia2024-05-25Feltz Printing Service NEW67Amy Elsner
1017Mujtaba Z OstroskyUnited Kingdom2024-05-15Truhlar And Truhlar Attys NEW48Ioni Bowcher
1018Rodrigues X NickaGermany2024-05-22Benton, John B Jr QUALIFIED44Ioni Bowcher
1019Juan N KolmetzRussia2024-05-19Chanay, Jeffrey A Esq UNQUALIFIED42Onyama Limba
1020Jones P NickaItaly2024-05-27Truhlar And Truhlar Attys RENEWAL13Xuxue Feng
1021Chavez I OldroydBrazil2024-05-20Benton, John B Jr QUALIFIED31Bernardo Dominic
1022Jefferson A SaylorsFrance2024-05-21Morlong Associates PROPOSAL96Onyama Limba
1023Octavia F NickaItaly2024-05-24Printing Dimensions NEGOTIATION0Bernardo Dominic
1024Aruna A GauchoArgentina2024-05-27Rousseaux, Michael Esq QUALIFIED97Ivan Magalhaes
1025Misaki Y BologniaSpain2024-06-07Printing Dimensions NEW50Amy Elsner
1026Murillo G MaletGermany2024-05-27Buckley Miller Wright NEW66Ivan Magalhaes
1027Leja L GauchoSpain2024-06-03Morlong Associates NEGOTIATION2Ioni Bowcher
1028Jones J FlosiIndia2024-05-20Dorl, James J Esq NEGOTIATION86Stephen Shaw
1029Antonio R GarufiGermany2024-05-23Morlong Associates RENEWAL20Anna Fali
1030Julie T DilliardFrance2024-05-16Printing Dimensions NEGOTIATION61Onyama Limba
1031Emily M SchemmerAustralia2024-05-30Chanay, Jeffrey A Esq NEGOTIATION79Bernardo Dominic
1032Isabel W FlosiRussia2024-05-26Morlong Associates RENEWAL24Elwin Sharvill
1033Leja J CaudyFrance2024-05-18Chemel, James L Cpa RENEWAL44Bernardo Dominic
1034Maisha Z SlusarskiJapan2024-05-17Chapman, Ross E Esq UNQUALIFIED23Amy Elsner
1035Emily N GauchoBrazil2024-06-09Rangoni Of Florence PROPOSAL49Amy Elsner
1036Stacey G RimBrazil2024-06-09Chapman, Ross E Esq NEGOTIATION10Xuxue Feng
1037Aika R ButtItaly2024-06-01Buckley Miller Wright RENEWAL92Onyama Limba
1038Misaki R NestleFrance2024-05-29Commercial Press PROPOSAL51Stephen Shaw
1039Isabel B SaylorsCanada2024-06-10Buckley Miller Wright QUALIFIED71Ioni Bowcher
1040Aika I IturbideIndia2024-05-31Feiner Bros NEW87Onyama Limba
1041Misaki U RulapaughCanada2024-06-13Feltz Printing Service RENEWAL5Amy Elsner
1042Aruna X RoysterFrance2024-05-19Rousseaux, Michael Esq NEW10Asiya Javayant
1043Julie M GlickGermany2024-05-23Chemel, James L Cpa NEGOTIATION64Stephen Shaw
1044Faith A PoquetteUnited Kingdom2024-06-05Buckley Miller Wright NEGOTIATION31Ivan Magalhaes
1045Nicolas H AmigonUnited Kingdom2024-05-26Rangoni Of Florence NEGOTIATION18Amy Elsner
1046Aruna I IturbideSpain2024-06-12Truhlar And Truhlar Attys NEW46Elwin Sharvill
1047Antonio C RoysterSpain2024-05-23King, Christopher A Esq NEW20Asiya Javayant
1048David L RulapaughAustralia2024-05-19Truhlar And Truhlar Attys UNQUALIFIED28Bernardo Dominic
1049Ashley O DilliardSpain2024-05-16Commercial Press QUALIFIED31Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Wickens Q MaletRussiaIoni Bowcher PROPOSAL
Smith G CaudyGermanyOnyama Limba NEW
Alejandro T OldroydUnited KingdomAsiya Javayant PROPOSAL
Jones F WaycottArgentinaAmy Elsner QUALIFIED
Leon C FollerBrazilAnna Fali QUALIFIED
Adams O WhobreyCanadaIoni Bowcher RENEWAL
Clifford Y CampainItalyBernardo Dominic NEGOTIATION
Jones K FigeroaFranceOnyama Limba UNQUALIFIED
Munro X SergiArgentinaElwin Sharvill RENEWAL
Salvatore W CaldareraBrazilXuxue Feng UNQUALIFIED
Johnson E FollerArgentinaIvan Magalhaes PROPOSAL
Mujtaba T DilliardSpainOnyama Limba UNQUALIFIED
Nicolas C BowleyItalyStephen Shaw NEGOTIATION
Aika N ChuiBrazilOnyama Limba PROPOSAL
Wickens S AmigonJapanElwin Sharvill RENEWAL
Jennifer V ChuiItalyBernardo Dominic QUALIFIED
Antonio R BriddickUnited KingdomOnyama Limba UNQUALIFIED
Aruna X WaycottCanadaIoni Bowcher QUALIFIED
Aruna E PaprockiIndiaOnyama Limba NEW
Morrow P PaprockiSpainOnyama Limba QUALIFIED
Octavia Y FlosiArgentinaXuxue Feng NEW
Wickens F CaldareraItalyStephen Shaw NEGOTIATION
James H DarakjyUnited KingdomStephen Shaw PROPOSAL
Deepesh H InouyeBrazilAnna Fali NEGOTIATION
Mayumi G SaylorsItalyBernardo Dominic NEW
Murillo Y SlusarskiArgentinaAsiya Javayant UNQUALIFIED
Chavez S RoysterRussiaIoni Bowcher RENEWAL
Wickens F RoysterUnited KingdomIoni Bowcher NEW
Misaki U BologniaUnited KingdomAsiya Javayant PROPOSAL
Silvio S FigeroaGermanyElwin Sharvill QUALIFIED
Adams Z MorascaItalyAmy Elsner UNQUALIFIED
Stacey N MaletArgentinaElwin Sharvill NEGOTIATION
Octavia R PerinBrazilIvan Magalhaes PROPOSAL
David O PoquetteAustraliaAnna Fali UNQUALIFIED
Ashley R InouyeSpainStephen Shaw QUALIFIED
Antonio J PaprockiBrazilAsiya Javayant NEGOTIATION
Aika A GarufiJapanXuxue Feng NEGOTIATION
Mujtaba A MaletItalyElwin Sharvill NEGOTIATION
Wickens E ChuiArgentinaOnyama Limba NEW
Johnson O GlickCanadaBernardo Dominic NEGOTIATION
Francesco S CaudyCanadaXuxue Feng QUALIFIED
Clifford C FigeroaFranceAnna Fali NEW
Rodrigues R ShinkoJapanAnna Fali UNQUALIFIED
Nicolas Y ButtBrazilStephen Shaw QUALIFIED
Julie T GauchoIndiaOnyama Limba PROPOSAL
Leja C KolmetzUnited KingdomXuxue Feng NEGOTIATION
Arvin S MarrierItalyBernardo Dominic PROPOSAL
Rodrigues T GauchoUnited KingdomStephen Shaw PROPOSAL
Antonio G KolmetzIndiaAsiya Javayant QUALIFIED
Octavia Z NestleItalyAnna Fali RENEWAL
Frozen Columns
Name
Johnson K Butt
Nicolas A Amigon
Smith U Saylors
Misaki F Wieser
Ivar R Paprocki
Misaki Y Nestle
Claire O Albares
Silvio E Garufi
Alejandro E Malet
Aruna B Royster
Juan U Slusarski
Francesco F Doe
Greenwood O Kusko
Faith F Amigon
Salvatore X Campain
Isabel V Bowley
Maisha E Stockham
Jennifer A Saylors
Aditya P Paprocki
Maisha W Sergi
Salvatore F Whobrey
Jeanfrancois Z Glick
Ashley B Bowley
Maisha K Malet
Sinclair W Tollner
Deepesh D Kolmetz
Leja V Rim
Kadeem D Saylors
Stacey G Morasca
Antonio M Flosi
Mayumi N Doe
Rodrigues P Bolognia
Silvio D Figeroa
Kaitlin Z Poquette
Sinclair D Oldroyd
Maria Q Vocelka
Ricardo U Glick
Murillo P Vocelka
Morrow O Marrier
Silvio W Perin
Smith G Garufi
Adams R Chui
Kaitlin R Maclead
Emily V Iturbide
Isabel S Saylors
Leja P Ruta
Julie D Inouye
Costa Y Marrier
Johnson T Amigon
Isabel Q Caudy
IdCountryDate
1000Australia2024-05-16
1001Australia2024-05-16
1002Italy2024-05-27
1003France2024-06-07
1004Spain2024-05-25
1005Australia2024-06-10
1006Brazil2024-06-04
1007France2024-05-16
1008Japan2024-06-09
1009France2024-06-05
1010India2024-05-28
1011Germany2024-05-30
1012Germany2024-06-11
1013India2024-05-16
1014Canada2024-05-24
1015France2024-05-26
1016India2024-06-05
1017France2024-06-03
1018Japan2024-05-26
1019Japan2024-06-06
1020Argentina2024-05-16
1021India2024-06-09
1022Italy2024-06-01
1023United Kingdom2024-06-12
1024India2024-06-07
1025Spain2024-05-27
1026Brazil2024-06-04
1027Germany2024-06-10
1028Australia2024-06-13
1029Japan2024-05-23
1030India2024-06-01
1031India2024-05-19
1032United Kingdom2024-06-05
1033Russia2024-06-05
1034Australia2024-05-23
1035France2024-05-29
1036Russia2024-06-07
1037Canada2024-05-16
1038United Kingdom2024-06-06
1039Spain2024-05-17
1040Germany2024-05-22
1041Canada2024-06-10
1042India2024-06-08
1043Australia2024-05-27
1044Argentina2024-06-12
1045Argentina2024-06-03
1046France2024-05-20
1047Argentina2024-06-13
1048India2024-05-20
1049Argentina2024-06-01

On-Demand Data

NameIdCountryDate
Silvio Q Marrier1000Australia2024-06-09
Kadeem Z Nestle1001United Kingdom2024-06-12
Alejandro P Amigon1002Japan2024-05-29
Ivar J Flosi1003Italy2024-05-20
Aika P Ruta1004Canada2024-06-06
Deepesh Z Garufi1005Argentina2024-05-23
Kaitlin C Inouye1006Australia2024-05-17
Ricardo M Kolmetz1007Russia2024-05-21
Octavia O Marrier1008Germany2024-06-13
Tony F Bolognia1009Brazil2024-05-21
Adams Y Ferencz1010Germany2024-05-31
Antonio H Iturbide1011Canada2024-06-03
Johnson L Briddick1012United Kingdom2024-05-22
Chavez H Gaucho1013Italy2024-05-18
Arvin O Figeroa1014India2024-05-27
Aika W Figeroa1015Australia2024-05-16
Munro A Iturbide1016Spain2024-05-24
Mujtaba D Garufi1017Brazil2024-06-13
Morrow D Saylors1018Russia2024-05-18
Mayumi O Kolmetz1019Germany2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan V RulapaughRussiaStephen Shaw PROPOSAL
Sinclair M DarakjyItalyStephen Shaw NEGOTIATION
Smith B PaprockiJapanOnyama Limba NEW
Aika S WaycottFranceBernardo Dominic NEW
Deepesh I WhobreyFranceIoni Bowcher NEW
Leja F GillianJapanXuxue Feng NEW
Clifford I BriddickUnited KingdomBernardo Dominic NEGOTIATION
Izzy L BriddickAustraliaAmy Elsner NEW
Munro Q BologniaFranceOnyama Limba QUALIFIED
Juan N FigeroaIndiaBernardo Dominic NEW
Leja Q BologniaUnited KingdomAnna Fali QUALIFIED
Ivar F PerinFranceStephen Shaw NEW
Emily G GlickRussiaIvan Magalhaes QUALIFIED
Aditya M NickaRussiaXuxue Feng NEGOTIATION
Aika Y FollerItalyAsiya Javayant PROPOSAL
Faith D GlickFranceXuxue Feng NEGOTIATION
Sinclair W InouyeAustraliaAnna Fali NEW
Greenwood Y StensethItalyStephen Shaw PROPOSAL
Wickens X AmigonJapanBernardo Dominic NEW
Jennifer J FollerJapanElwin Sharvill RENEWAL
Aruna D ChuiGermanyIvan Magalhaes PROPOSAL
Octavia J IturbideUnited KingdomBernardo Dominic NEGOTIATION
Chavez N SchemmerSpainStephen Shaw UNQUALIFIED
Arvin S MacleadAustraliaBernardo Dominic RENEWAL
Nicolas Z NickaArgentinaAsiya Javayant NEGOTIATION
Ashley K OstroskyAustraliaIvan Magalhaes NEW
Aika D SergiBrazilIvan Magalhaes UNQUALIFIED
Leon F GillianJapanIvan Magalhaes UNQUALIFIED
Aika S StockhamJapanStephen Shaw UNQUALIFIED
Salvatore A SergiFranceIoni Bowcher UNQUALIFIED
Stacey Z WaycottArgentinaElwin Sharvill NEGOTIATION
David S MaletAustraliaIvan Magalhaes QUALIFIED
Julie K BologniaItalyBernardo Dominic UNQUALIFIED
Darci O GauchoItalyBernardo Dominic QUALIFIED
Costa E AmigonFranceIvan Magalhaes PROPOSAL
Faith U GillianJapanOnyama Limba UNQUALIFIED
Ivar Y GauchoBrazilAsiya Javayant UNQUALIFIED
Smith O RoysterSpainXuxue Feng NEGOTIATION
Jeanfrancois S DilliardRussiaElwin Sharvill QUALIFIED
Adams I OldroydGermanyAmy Elsner RENEWAL

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