Heim  >  Artikel  >  Web-Frontend  >  Tabellensteuerung implementiert durch tbl.js div, völlig kostenlos und nicht auf Jquery angewiesen

Tabellensteuerung implementiert durch tbl.js div, völlig kostenlos und nicht auf Jquery angewiesen

PHPz
PHPzOriginal
2017-03-12 17:18:222213Durchsuche

Es gibt jetzt ein relativ einfach zu verwendendes Tabellen-Steuerelement in HTML, das datierbar ist, aber die Bearbeitung, Schaltflächen und andere Teile sind kostenpflichtig. und nur die Grundfunktionen sind kostenlos. Darüber hinaus sind bei einer Größenänderung eine manuelle Aktualisierung und andere mühsame Vorgänge erforderlich. Deshalb habe ich ein kostenloses Programm entwickelt, das jeder nutzen kann.

Dieses Projekt wurde im „Void Service Server Development Kit“ verwendet. Derzeit werden hauptsächlich Microsoft Edge-Browser, Chreinige Browser und anderenicht getestete Browser unterstützt.

tbl.js ist völlig kostenlos und kann nach Belieben geändert werden. Willkommen fürk.

tbl.js unterstützt Listenstil, Hinzufügen, Löschen, Ändern, Abfragen, vollständige Tabelle Suche, Gruppierung, Paging-Funktion, vollständige Tabelle Bearbeiten, vollständige Zeilenbearbeitung, Einzelauswahl, Mehrfachauswahl, Stilanpassung.

kann in verschiedene Container eingebettet werden, z. B. in Dialoge und Registerkarten von jquery.

Version: 0.1beta

Melden Sie einen Fehler und ich werde ihn so schnell wie möglich beheben. Im neuen Jahr gibt es keine Pause.

Wenn Sie den Stil nicht ändern müssen, müssen Sie tbl.css nicht laden, tbl.js lädt das Stylesheet dynamisch.

Erstellen wir eine zweizeilige Tabelle, die aus einem vorhandenen DOM-Knoten erstellt wird.


1 html:<html><body><p></p></body></html>
2 new tbl(document.body.children[0],{data:[["row1"],["row2"]]});

Fügen Sie den selbst erstellten DOM-Knoten in den Dokumentkörper ein.


1 var tb = new tbl();
2 with (document.body) { insertBefore(tb.dom, firstChild) };
3 tb.bind([["row1"],["row2"]]);

Bei Tabellen mit mehreren Feldern sind die Spaltenbreiten mithilfe von Prozentsätzen anpassbar.


1 var tb = new tbl(undefined, {format:[{width:"20%"},{width:"20%"},{width:"20%"},{width:"20%"},{width:"20%"}]});
2 with (document.body) { insertBefore(tb.dom, firstChild) };
3 tb.bind([["row1","data","data","data","data"],["row2","data","data","data","data"]]);

Listenstil, maximale Höhe 300px, keine Kopfzeile, kein Titel, keine Fußzeile, 5 Datenelemente, Schaltfläche, Zeile abrufen Index.

Diese Methode führt zu Interlaced-Farbänderungen und das CSS kann geändert werden, um den Stil ungültig zu machen.


1 html:<html><body><p></p></body></html>
2 var tb = new tbl(document.body.children[0], {
3 editable: false, maxheight: "300px", header: false, title: false, footer: false, data: [[1], [2, "remove"], ["nan - not a number", "del"], [4, "del"], [5, "del"]], page_size: 100,
4 format: [
5      { width: "90%", nancenter: true, input: {type:"text"}},
6      { width: "10%", editable:true, input: { type: "button", value:"del", onclick: function () { tb.delete(tb.get_related_rowid(this));}}}
7      ]
8 });

Vollständige Tabellenbearbeitung, Einzelauswahl, eine Zeile muss ausgewählt werden, Paging.

Wir initialisieren zunächst Daten. Die von tbl.js gebundenen Daten müssen ein Array sein.

Ich gehe davon aus, dass die zweite Spalte unter keinen Umständen bearbeitet werden kann.


 1 var tb_data = [];
 2 for (var i = 0; i < 106; i++) {
 3      tb_data[i] = [Math.random()>0.5?true:false, Math.random(), "1970-01-01", Math.floor(Math.random()*10), i, 0];
 4 }
 5 tb_data[i] = "this is group"; i++;
 6 tb_data[i] = ["this is text"]; i++;
 7 for (; i < 578; i++) {
 8      tb_data[i] = [i, Math.random(), "2017-02-01"];
 9 }
10 var tb = new tbl(document.body.children[0], {
11      editable:true,select:tbl.single,must_select:true,paging:true,data:tb_data,page_size:15,
12      format: [
13          { width: "5%", input: { type: "checkbox", check: "true" } },
14          { width: "30%", name:"name", uneditable:true },
15          { width: "20%", name:"date", input: { type: "date" } },
16          { width: "10%", name:"select", input: {type:"select", options:[0,1,2,3,4,5,6,7,8,9]} },
17          { width: "20%" },
18          { width: "15%", input: {type:"radio", name:"only"}}
19      ]
20 });

API:

Das Hinzufügen einer Datenzeile muss ein Array sein wird als Gruppentiteltext verwendet.

einfügen

Daten einfügen

binden neue Datenquelle binden

löschen

Löscheneine Zeile

clearAufräumen

Bearbeiten Eine Zeile bearbeiten, leere Parameter bedeutet Bearbeiten der gesamten Tabelle

select Eine Zeile auswählen

cancel_edit Bearbeitung abbrechen

cancel_select Auswahl abbrechen

select_change Änderung auswählen

FunktionEinstellungen

Schreibgeschützt

Eigenschaft:

tbl::selects Bereits ausgewählte Zeilen

tbl::data data

tbl::dom DOM node

tbl::edits Die Zeile, die bearbeitet wird, eine vollständige Tabellenbearbeitung ist nicht anwendbar

Konstruktionsoptionen:

max_height maximale Höhe, wenn diese überschritten wird, wird die Bildlaufleiste angezeigt

page_size Seitengröße
Dateninitialisierungsdaten
Kopfzeile, ob die Kopfzeile angezeigt werden soll
Fußzeile, ob die Fußzeile angezeigt werden soll
Info, ob Informationen angezeigt werden sollen
Paging Ob Paginierung angezeigt werden soll
title_bar Titelleiste anzeigen
Titel Titelleistentext
Suche Suchfeld anzeigen
bearbeitbar Vollständige Tabellenbearbeitung
auswählen Typ auswählen : 0, kann nicht ausgewählt werden. 2, multi-select.tbl.single == 1, tbl.multiselect == 2
select_change Auswahl festlegen
Funktion must_select Es muss ein Zeilenformat ausgewählt werden. Spaltenformat
Breite Breite, kann eine gültige HTML-Breite sein. Beispiel: 100px oder 20 %.
Eingabe wird verwendet, um das Eingabeknotenattribut von
Status
zu bearbeiten, das mit dem in der Tabelle angezeigten HTML/Eingabeattribut Namensfeldname identisch ist Kopfzeile nicht bearbeitbare Spalte kann nicht bearbeitet werden
bearbeitbare Spalten werden immer im bearbeitbaren Zustand sein
nancenter nicht-numerisches Zentrum

Das obige ist der detaillierte Inhalt vonTabellensteuerung implementiert durch tbl.js div, völlig kostenlos und nicht auf Jquery angewiesen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn