j-DataGrid
Detta nätverk skapades för enskilda sidor och företagsprogram.
- nödvändigt
bootstrap-system - Du kan göra mer än 30 000 rader utan problem
- Stöd för drag & drop kolumner
- Stöd för sortering
- Stöd för att återställa kolumner
- stödjer vertikal/horisontell skruvning
- Stöd för filter
- Stöd för checkboxes
- Custom scrollbars oberoende på OS
- Svarande
- Stöd för dark mode
- IMPORTANT kolumnalternativ filter behöver
j-Directorykomponent
Totala:
- multisort
- återställande kolumner för beröringsanordningar
- Återbeställa kolumner för berörda enheter
data-källa måste innehålla:
{
schema: 'schema_id', // NEW: optional, DataGrid supports multiple schemas (it means: multiple declaration of columns)
items: [{ name: 'Row 1' }, { name: 'Row 2' }, ...] // items
page: 1, // current pages
pages: 30, // count of pages
limit: 5, // items limit per page
count: 150 // count of items in DB
}eller rå Array, men du kan inte använda sidningar och externa filter:
[{ name: 'Row 1' }, { name: 'Row 2' }];Konfigurera:
filterlabel {String}en standardplatsbehållare för alla filter (valfritt)rememberfilter {Boolean}med sant det påminner om filter för varje schema (default:true)schema {String}en standard schema (default:default)pluralizepages {String}pluralisering för sidor (alternativt, standard:# pages,# page,# pages,# pages)pluralizeitems {String}pluralisering för objekt (alternativt, standard:# items,# item,# items,# items)height {Number/String}Höjd av nät, stödda värden:auto(Föregående inlägg) _NEWfluid,parentellerparent1,parent2) ellerNUMBERsom höjd ellerselectorför jQuery.closest()- Minimalt
minheight {Number}-höghet, arbetar medfluidochauto-högheten (default:200) parent {String}-selektor förautohöjdalternativ (default:window)margin {Number}en toppmarginal för höjd (alternativ, standard:0)boolean {String}ett värde för filtrering av booleanvärden (alternativt, standard:true|on|yes)resize {Boolean}gör det möjligt att återställa kolumner (alternativt, standard:true)reorder {Boolean}möjliggör ombeställning av kolumner (alternativt, standard:true)sorting {Boolean}möjliggör sortering (alternativ, standardtrue)remember {Boolean}påminner om att ordna om och återställa kolumner (alternativt, standardtrue)checkbox {Boolean}möjliggör checkboxarcolwidth {Number}en standardkolumn bredd i pixlar (alternativt, standard150)rowheight {Number}en standard radhöjd i pixlar (alternativt, standard:24) + det beror på CSSalignheader {String/Number}Align för headerrighteller2) ellercentereller1(Förutsatt och standard)left)alignfilter {String/Number}Anpassning för filterrighteller2) ellercentereller1(Förutsatt och standard)left)align {String/Number}Anpassning för ett kolumnvärderighteller2) ellercentereller1(Förutsatt och standard)left)click {String}en länk till en väg ellerfunction(row, grid, row_el), ett register kommer att tilldelas/exekveras om användaren klickar på en radclickid {String}ett identifierings- och egendomsnamn för bakåtvisning (för föregående radhögtalare), standard:idhighlight {Boolean}varje utvalda rad (efterclick) kommer att betonas (default:false)unhighlight {Boolean}möjliggörundo highlightingav den valda raden (default:true)checked {String}pathtill en variabel eller väg tillfunction(rows, grid)körs om användaren har valt/kontrollerat vissa raderautoselect {Boolean}möjliggör självval av första raden i nätverket, det utförEXEC(config.click), standard:falselimit {Number}en klustergräns, standard:80numbering {Boolean}, standard för valfrifalseallowtitles {Boolean}, möjliggör titlar för alla radvärden, standardfalsebutton {String}en länk tillfunction(btn_name, row, btn_element, event, name)körs om användaren klickar på en button i radenexec {String}en länk tillfunction(type, filter, sort, page)för server-sidor (det inaktiverar klient-sidors sortering och filtrering), stödda typer:refreshellerpagechanged {String}pathtill en variabel eller väg tillfunction(rows, grid)körs om användaren ändrar vissa raderchange {String/Boolean}boolean möjliggör intern redigering eller sträng måste innehålla enpathtill en variabel eller väg tillfunction(meta, next(meta))körs om användaren dubbelklickar på en kolumn (metakan varanullom nätverket är uppfrisknat) +next(null)ersätter tidigare innehåll igencolumns {String}en väg till definition avcolumns {Array}dblclick {String}en länk tillfunction(row, grid, row_el)-metoden, det körs om användaren dubbelklickar på en radnoborder {Boolean}kan inaktivera en gräns runt nätverket (default:false)clusterize {Boolean}kan inaktivera klusterad snurrning (default:true)contextmenu {String}en länk tillfunction(e, grid)när användaren lyfter sammanhangsmenynautoformat {Boolean}möjliggör automatiska typer somemail,phoneochnumber(default:true)controls {Boolean}möjliggör kontroller definierade icolumns(default:true)hfunc {String}en länk tillfunction(el)metod, det körs om användaren klickar på ikonen som läggs till den första header raden. usefull att integrera andra komponenter med DataGrid. t.ex. j-filterhfuncicon {String}hfunc ikon t.ex. hem, cog, etc.pagination {Boolean}aktiverar/avaktiverar sidan (default:true)config.execkommer att utföras om skruvfältet är i slutet, och du kan använda som råvaror avarrayrader
ovalue {String}en standardnyckel för att fåvaluefråncolumn.options(default:id)otext {String}en standardnyckel för att fåtextfråncolumn.options(default:name)
Kolumner egenskaper:
name {String}ett fältnamn i raden objekttext {String}en kolumn etikett, text med.ti ti-homekommer att göra Total ikontitle {String}en kolumn verktygstyp (alternativ)width {Number}en kolumn bredd (alternativt, standardconfig.colwidth)filter {String/Boolean}en platsinnehavare för filtret ellerbooleankan inaktivera filter för denna kolumn (alternativt)filtervalue {Object}valfritt, ett fördefinierat filtervärde (vanligt:undefined)filtertype {Number/String},1inaktiverar smart sökning (default:0- det innebär att smart sökningen är aktiverad)align {String}kan varacenterellerright(alternativt, standard:left)template {String}kan vara en Tangular mall och modellen är hela objektet i radensorting {Boolean}möjliggör sortering (alternativ, standard:true)search {Boolean/String}truekommer att filtrera ett värde enligttemplateresultat ellerStringkan vara en Tangular mall som kommer att användas som ett värd för sökningformat {String/Number}kan användas för datum och siffror (antal decimaler) fält (alternativ), t.ex.dd.MM.yyyyhide {Boolean}döljer en kolumnlistcolumn {Boolean}standard: sanna, falska för att ta bort kolumner från kolumnen listahidden {String}som en pil funktioncolumn => true--> kolumnen kommer att döljas (t.ex. för begränsande användare)options {Object Array}valfritt, en anpassad filter till exempel[{ text: 'yes', value: true }, { text: 'no', value: false }]o {String}r länk till datakällaotext {String}valfritt, en nyckel förtextfält ioptions, standardconfig.otextovalue {String}valfritt, en nyckel förvaluefält ioptions, standardconfig.ovaluebuttonapply {String}valfritt, en etikett förApplyknappen i kolumner, standard:Applyclass {String}valfritt, en anpassad kolumn klassnamnempty {String/Boolean}är valfritt, kan skriva om tomt värde med det värde som definieras i ett tomt fält (truevärde använder---som standardvärde)min {Number}_ redigerbar endast__ ett min. antal värdemax {Number}_ redigerbar endast__ ett max. nummervärderequired {Boolean}- endast redigerbardirsearch {String/Boolean}en platsinnehavare förj-Directorysökning, boolean medfalsekommer att inaktivera sökningentype {String}är valfritt, kan innehålla en datatyp (string,boolean,date,number,email,phoneellerurl) för fälteteditable {Boolean}möjliggör redigeringcurrency {String}ett valutanamn (kan definieras iDEF.currencies)editable {String}En väg till anpassad redigerbarfunction(meta), viktig:meta.next(new_value)ellermeta.cancel()colorize {Boolean}möjliggör färgning av värdetmonospace {Boolean}möjliggör monospace font typ- NEW
raw {Boolean}möjliggör/aktiverar HTML-flykt i kolumner (default:false) - NEW
pair {Boolean}aktiverar/deaktiverar automatisk värde i kombination medoptions-konfigurationen (default:false)
Råkontroll (NEW):
- kan definieras som kolumntyp
controls - måste definiera kolumnen
template(Tangular,rowär en modell för Tangular för varje rad) - Se till exempel
- knappen
clickhändelse fångas tillconfig.button
Filtrera:
numbers: (1)numbersöker ett exakt nummer, (2)number - numberär ett intervall mellan siffrornastrings: (1)stringsöker en exakt sträng, (2)string1, string2, string3är ett flera sökkriteriumdates(1) år2017Sök alla datum i år, (2)2017-02-12 - 2017-03-13--02.12.2017 - 13.03.2017är ett intervall mellan datum, (3)12-20 - 12-31--20.12 - 31.12ett intervall mellan datum i det aktuella året (4)2017-01 - 2018-05--01.2017 - 05.2018eller (5)-5 days---1 week---10 years
Metoder:
component.redraw([reselect_again])kan återskapa rader (endast för ändringar, om du tar bort några rader som du behöver för att uppdatera hela modellen)component.resetfilter()kan återställa ett filtercomponent.exportrows(page_from or true from the current page, pages_count, callback(rows, internal_options), [reset_to_page or true for the current page])kan exportera rader med server-side renderingcomponent.appendrow(row_object, [scrolldown], [prepend])appends och renderarcomponent.redrawrow(row_object, [new_object_row])redraws rad eller NEW: ersätter+redrawsrow_objectmed en nynew_object_rowcomponent.clear()klarar alla förändringarcomponent.select(row)väljerrowmåste vara samma objekt som i datakällacomponent.editcolumn(row_index, col_index)utförconfig.changeinternt (endast för avancerad användning)component.applyfilter(obj)kan tillämpa en anpassad filter{ name: 'Peter', age: '20 - 50' }component.resetcolumns()återställer kolumnercomponent.readfilter()returnerar ett aktuellt filtercomponent.rebind(schemaname__or__columnsdeclaration)-metoden återställer schematcomponent.reload()utförconfig.execmed den aktuella filter och sorteringcomponent.empty()empties alla radercomponent.redrawcolumns()redraw kolumner utan att ställa in dem- NEW:
component.schema(name)ändrar en schema och förnyar data
ägodelar:
component.metareturnerar interna meta-information om filter, kolumner och rader
Bra att veta:
NULL('link.to.data')utvärderarconfig.execSET('link.to.data', data, 'noscroll')--> typnoscrollinaktiverar återställning av skruv
Hur man utökar en klass av rad?
- Se på
{{ if active }}-linjen, förlänger den en klass av rad genom att lägga tilldg-active-classomactiveär giltig
[
'{{ if active }} dg-active-class{{ fi }}',
{ name: 'name', text: 'Name', width: 200 },
// other columns ...
]Flera scheman:
<ui-component name="datagrid" path="obj">
<script type="text/plain" data-id="SCHEMA_A">
[
{ name: 'name', text: 'Name', width: 200 },
// ...
]
</script>
<script type="text/plain" data-id="SCHEMA_B">
[
{ name: 'price', text: 'Price', width: 100 },
// ...
]
</script>
</ui-component>
<script>
// Usage
var obj = {};
obj.schema = 'SCHEMA_A';
obj.items = [];
// Changing of schema
setTimeout(function() {
obj.schema = 'SCHEMA_B';
obj.items = [];
UPD('obj');
}, 5000);
</script>Använd den med <ui-component name="datagrid">När komponenten ännu inte är laddad, jComponent Ladda ner den första gången från adressen i DEF.fallback (en av Componentator Författare: Peter Širka. källa: The Componentator Komponenterna i lager, MIT licens.
<ui-component name="LAZY directory"></ui-component>
<ui-component name="datagrid" path="items" config="margin:22;button:clicked">
<script type="text/plain">
[
{ name: 'name', text: 'Name', width: 200 },
{ name: 'price', text: 'Price', align: 1, alignfilter: 1 },
{ name: 'published', text: 'Public', align: 1, options: [{ name: 'yes', id: true }, { name: 'no', id: false }], type: 'boolean' },
{ name: 'description', text: 'Description', filter: 'Search in description' },
{ name: 'created', text: 'Created', template: '{{ created | format(\'dd.MM.yyyy\') }}', align: 2, alignfilter: 2, alignheader: 2 },
{ type: 'controls', template: '<button name="show"><i class="ti ti-search"></i><span>Show</span></button><button name="edit"><i class="ti ti-pencil"></i></button><button name="remove"><i class="ti ti-trash red"></i></button>' }
]
</script>
</ui-component>
<script>
var items = [];
for (var i = 1; i < 90; i++)
items.push({ name: '{0} Lorem ipsum dolor'.format(i), published: i % 5 !== 0, description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: i + 100, created: new Date().add('-5 days') });
function clicked(btnname, row, button, e) {
console.log(btnname, row);
}
</script>